radsecproxy-1.6.
[radsecproxy.git] / configure.ac
1 AC_INIT(radsecproxy, 1.6, radsecproxy@uninett.no)
2 AC_CANONICAL_TARGET
3 AM_INIT_AUTOMAKE
4 AC_PROG_CC
5 AC_PROG_RANLIB
6 udp=yes
7 AC_ARG_ENABLE(udp,
8   [  --enable-udp whether to enable UDP transport: yes/no; default yes ],
9   [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
10       udp=$enableval
11     else
12       echo "--enable-udp argument must be yes or no"
13       exit -1
14     fi
15   ])
16  
17 tcp=yes
18 AC_ARG_ENABLE(tcp,
19   [  --enable-tcp whether to enable TCP transport: yes/no; default yes ],
20   [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
21       tcp=$enableval
22     else
23       echo "--enable-tcp argument must be yes or no"
24       exit -1
25     fi
26   ])
27  
28 tls=yes
29 AC_ARG_ENABLE(tls,
30   [  --enable-tls whether to enable TLS (RadSec) transport: yes/no; default yes ],
31   [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
32       tls=$enableval
33     else
34       echo "--enable-tls argument must be yes or no"
35       exit -1
36     fi
37   ])
38  
39 dtls=yes
40 AC_ARG_ENABLE(dtls,
41   [  --enable-dtls whether to enable DTLS transport: yes/no; default yes ],
42   [ if test "x$enableval" = "xyes" -o "x$enableval" = "xno" ; then
43       dtls=$enableval
44     else
45       echo "--enable-dtls argument must be yes or no"
46       exit -1
47     fi
48   ])
49
50 AC_ARG_ENABLE(fticks,
51 AC_HELP_STRING([--enable-fticks],[build with F-Ticks support [default=no]]),
52 [case $enableval in
53 yes|no) ;;
54 *) AC_MSG_ERROR([bad value $enableval for --enable-fticks, need yes or no]) ;;
55 esac],
56 [enable_fticks=no])
57
58 if test "$enable_fticks" = "yes"; then
59 AC_CHECK_LIB([nettle], [nettle_sha256_init],,
60     [AC_MSG_WARN([required library nettle not found, fticks support disabled])
61      enable_fticks=no])
62 fi
63
64 if test "$enable_fticks" = "yes"; then
65 AC_DEFINE([WANT_FTICKS], [1])
66 fi
67 AM_CONDITIONAL(WANT_FTICKS, test "$enable_fticks" = "yes")
68
69 dnl Check if we're on Solaris and set CFLAGS accordingly
70 AC_CANONICAL_SYSTEM
71 case "${target_os}" in
72   solaris*)
73     TARGET_CFLAGS="-DSYS_SOLARIS9 -D_POSIX_PTHREAD_SEMANTICS"
74     if test "$GCC" != yes ; then
75       TARGET_CFLAGS="$TARGET_CFLAGS -mt"
76     else
77       TARGET_CFLAGS="$TARGET_CFLAGS -pthreads"
78     fi
79     TARGET_LDFLAGS="-lpthread -lsocket -lnsl"
80     ;;
81   *)
82     TARGET_CFLAGS="-Wall -pedantic -Wno-long-long -pthread"
83     TARGET_LDFLAGS=""
84   esac
85 dnl Adding enabled options
86 if test "x$udp" = "xyes" ; then
87   echo "UDP transport enabled"
88   TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_UDP"
89 fi
90 if test "x$tcp" = "xyes" ; then
91   echo "TCP transport enabled"
92   TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_TCP"
93 fi
94 if test "x$tls" = "xyes" ; then
95   echo "TLS (RadSec) transport enabled"
96   TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_TLS"
97 fi
98 if test "x$dtls" = "xyes" ; then
99   echo "DTLS transport enabled"
100   TARGET_CFLAGS="$TARGET_CFLAGS -DRADPROT_DTLS"
101 fi
102  
103 AC_ARG_ENABLE(
104   experimental_dyndisc,
105   AC_HELP_STRING([--enable-experimental-dyndisc],
106                  [enable experimental code for dynamic discovery [default=no]]),
107   [case $enableval in
108      yes|no) ;;
109      *) AC_MSG_ERROR([bad value $enableval for --enable-experimental-dyndisc, need yes or no]) ;;
110      esac],
111   [enable_experimental_dyndisc=no])
112 if test "$enable_experimental_dyndisc" = "yes"; then
113   AC_DEFINE([ENABLE_EXPERIMENTAL_DYNDISC], [1])
114 fi
115 AM_CONDITIONAL(ENABLE_EXPERIMENTAL_DYNDISC,
116                test "$enable_experimental_dyndisc" = "yes")
117
118
119 AC_ARG_VAR([DOCBOOK2X_MAN], [docbook2x-man])
120 AC_CHECK_PROG([DOCBOOK2X_MAN], [docbook2x-man], [yes])
121 AM_CONDITIONAL(HAVE_DOCBOOK2X_MAN, test "$DOCBOOK2X_MAN" = "yes")
122
123 AC_SUBST(TARGET_CFLAGS)
124 AC_SUBST(TARGET_LDFLAGS)
125 AX_CHECK_SSL
126 AC_OUTPUT([
127         Makefile
128         tests/Makefile
129 ])