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