f8aabdee57335dfd25b2b9d9cccc76f2705dcf46
[radsecproxy.git] / lib / configure.ac
1 # -*- Autoconf -*- script for libradsec.
2
3 AC_PREREQ([2.63])
4 AC_INIT([libradsec], [0.0.4.dev], [linus+libradsec@nordu.net])
5 AC_CONFIG_MACRO_DIR([m4])
6 AC_CONFIG_SRCDIR([radsec.c])
7 AC_CONFIG_AUX_DIR([build-aux])
8 AC_CONFIG_HEADERS([config.h])
9 AM_INIT_AUTOMAKE
10 LT_INIT
11
12 # Checks for programs.
13 AC_PROG_CC
14
15 # Checks for libraries.
16 AC_CHECK_LIB([confuse], [cfg_init],,
17     AC_MSG_ERROR([required library libconfuse not found]))
18 AC_CHECK_LIB([event_core], [event_get_version],,
19     AC_MSG_ERROR([required library libevent_core not found]))
20
21 # Enable-knobs.
22 ## Enable TLS (RadSec).
23 AH_TEMPLATE([RS_ENABLE_TLS], [TLS (RadSec) enabled])
24 AH_TEMPLATE([RADPROT_TLS], [])  dnl Legacy.
25 AC_ARG_ENABLE([tls], AS_HELP_STRING([--disable-tls], [disable TLS (RadSec)]),
26     [],
27     [AC_CHECK_LIB([event_openssl], [bufferevent_openssl_socket_new],,
28          AC_MSG_ERROR([required library event_openssl not found]))
29      AC_DEFINE([RS_ENABLE_TLS])
30      AC_DEFINE([RADPROT_TLS])]) dnl Legacy.
31 AM_CONDITIONAL([RS_ENABLE_TLS], [test "${enable_tls+set}" = set])
32 ### Define WITHOUT_OPENSSL for radius/client.h.
33 if test -z "$enable_tls"; then
34     CPPFLAGS="$CPPFLAGS -DWITHOUT_OPENSSL"
35 fi
36 ## Enable TLS-PSK (preshared keys).
37 AH_TEMPLATE([RS_ENABLE_TLS_PSK], [TLS-PSK (TLS preshared keys) enabled])
38 AC_ARG_ENABLE([tls-psk], AS_HELP_STRING([--enable-tls-psk], [enable TLS-PSK (TLS preshared keys)]),
39     [AC_CHECK_LIB([ssl], [SSL_set_psk_client_callback],,
40          AC_MSG_ERROR([required library openssl with SSL_set_psk_client_callback() not found]))
41      AC_DEFINE([RS_ENABLE_TLS_PSK])])
42 AM_CONDITIONAL([RS_ENABLE_TLS_PSK], [test "${enable_tls_psk+set}" = set])
43
44 # Checks for header files.
45 AC_CHECK_HEADERS(
46     [sys/time.h time.h netdb.h netinet/in.h stdint.h stdlib.h strings.h string.h \
47      sys/socket.h unistd.h syslog.h sys/select.h fcntl.h arpa/inet.h])
48
49 # Checks for typedefs, structures, and compiler characteristics.
50 AC_TYPE_SIZE_T
51 AC_TYPE_SSIZE_T
52 AC_TYPE_UINT8_T
53
54 # Checks for library functions.
55 AC_CHECK_FUNCS([memset socket strdup strerror strrchr])
56
57 AC_CONFIG_FILES([Makefile libradsec.spec
58                  radsecproxy/Makefile
59                  radius/Makefile
60                  include/Makefile
61                  examples/Makefile
62                  tests/Makefile])
63 AC_OUTPUT