Cisco XAUTH interoperability
[strongswan.git] / configure.in
1 dnl  configure.in for linux strongSwan
2 dnl  Copyright (C) 2006 Martin Willi
3 dnl  Hochschule fuer Technik Rapperswil
4 dnl 
5 dnl  This program is free software; you can redistribute it and/or modify it
6 dnl  under the terms of the GNU General Public License as published by the
7 dnl  Free Software Foundation; either version 2 of the License, or (at your
8 dnl  option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
9 dnl 
10 dnl  This program is distributed in the hope that it will be useful, but
11 dnl  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 dnl  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13 dnl  for more details.
14
15 dnl ===========================
16 dnl  initialize & set some vars
17 dnl ===========================
18
19 AC_INIT(strongSwan,4.0.7)
20 AM_INIT_AUTOMAKE(tar-ustar)
21 AC_C_BIGENDIAN
22 AC_SUBST(ipsecdir, '${libexecdir}/ipsec')
23 AC_SUBST(confdir, '${sysconfdir}')
24 AC_SUBST(piddir, '/var/run')
25
26 dnl =================================
27 dnl  check --enable-xxx & --with-xxx
28 dnl =================================
29
30
31 AC_ARG_WITH(
32     [default-pkcs11],
33     AS_HELP_STRING([--with-default-pkcs11=lib],[set the default PKCS11 library other than /usr/lib/opensc-pkcs11.so]),
34     [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "$withval")],
35     [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "/usr/lib/opensc-pkcs11.so")]
36 )
37
38 AC_ARG_WITH(
39     [default-xauth],
40     AS_HELP_STRING([--with-xauth-module=lib],[set the path to the XAUTH module]),
41     [AC_DEFINE_UNQUOTED(XAUTH_DEFAULT_LIB, "$withval")],
42 )
43
44 AC_ARG_WITH(
45     [random-device],
46     AS_HELP_STRING([--with-random-device=dev],[set the device for real random data other than /dev/random]),
47     [AC_DEFINE_UNQUOTED(DEV_RANDOM, "$withval")],
48     [AC_DEFINE_UNQUOTED(DEV_RANDOM, "/dev/random")]
49 )
50
51 AC_ARG_WITH(
52     [urandom-device],
53     AS_HELP_STRING([--with-urandom-device=dev],[set the device for pseudo random data other than /dev/urandom]),
54     [AC_DEFINE_UNQUOTED(DEV_URANDOM, "$withval")],
55     [AC_DEFINE_UNQUOTED(DEV_URANDOM, "/dev/urandom")]
56 )
57
58 AC_ARG_ENABLE(
59     [http],
60     AS_HELP_STRING([--enable-http],[enable OCSP and fetching of Certificates and CRLs over HTTP (default is NO). Requires libcurl.]),
61     http=true
62     AC_DEFINE(LIBCURL)
63 )
64 AM_CONDITIONAL(USE_LIBCURL, test x$http = xtrue)
65
66 AC_ARG_ENABLE(
67     [ldap],
68     AS_HELP_STRING([--enable-ldap],[enable fetching of CRLs from LDAP (default is NO). Requires openLDAP.]),
69     ldap=true
70     AC_DEFINE(LDAP_VER, 3)
71 )
72 AM_CONDITIONAL(USE_LDAP, test x$ldap = xtrue)
73
74 AC_ARG_ENABLE(
75     [smartcard],
76     AS_HELP_STRING([--enable-smartcard],[enable smartcard support (default is NO).]),
77     smartcard=true
78     AC_DEFINE(SMARTCARD)
79 )
80 AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue)
81
82 AC_ARG_ENABLE(
83     [cisco_quirks],
84     AS_HELP_STRING([--enable-cisco-quirks],[enable support of Cisco VPN client (default is NO).]),
85     cisco_quirks=true
86     AC_DEFINE(CISCO_QUIRKS)
87 )
88 AM_CONDITIONAL(USE_CISCO_QUIRKS, test x$cisco_quirks = xtrue)
89
90 AC_ARG_ENABLE(
91     [leak-detective],
92     AS_HELP_STRING([--enable-leak-detective],[enable malloc hooks to find memory leaks (default is NO).]),
93     leak_detective=true
94 )
95 AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue)
96
97 dnl =========================
98 dnl  check required programs
99 dnl =========================
100
101 AC_PROG_INSTALL
102 AC_PROG_LIBTOOL
103 AC_PROG_LEX
104 AC_PROG_YACC
105 AC_PROG_CC()
106 AC_PATH_PROG([GPERF], [gperf], [], [$PATH:/bin:/usr/bin:/usr/local/bin])
107 AC_PATH_PROG([PERL], [perl], [], [$PATH:/bin:/usr/bin:/usr/local/bin])
108
109 dnl ==========================
110 dnl  check required libraries
111 dnl ==========================
112
113 AC_CHECK_FUNCS(backtrace)
114
115 AC_HAVE_LIBRARY([gmp],[LIBS="$LIBS"],[AC_MSG_ERROR([GNU Multi Precision library gmp not found])])       
116 if test "$ldap" = "true"; then
117     AC_HAVE_LIBRARY([ldap],[LIBS="$LIBS"],[AC_MSG_ERROR([LDAP enabled, but library ldap not found])])
118     AC_HAVE_LIBRARY([lber],[LIBS="$LIBS"],[AC_MSG_ERROR([LDAP enabled, but library lber not found])])
119 fi
120 if test "$http" = "true"; then
121     AC_HAVE_LIBRARY([curl],[LIBS="$LIBS"],[AC_MSG_ERROR([HTTP enabled, but library curl not found])])
122 fi
123
124
125 dnl =============================
126 dnl  check required header files
127 dnl =============================
128
129
130 AC_MSG_CHECKING([gmp.h version >= 4.1.4])
131 AC_TRY_COMPILE(
132     [#include "gmp.h"],
133     [
134         #if (__GNU_MP_VERSION*100 +  __GNU_MP_VERSION_MINOR*10 + __GNU_MP_VERSION_PATCHLEVEL) < 414
135             #error bad gmp
136         #endif
137     ], 
138     [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); AC_MSG_ERROR([No usable gmp.h found!])]
139 )
140 if test "$ldap" = "true"; then
141     AC_CHECK_HEADER([ldap.h],,[AC_MSG_ERROR([LDAP enabled, but ldap.h not found!])])
142 fi
143 if test "$http" = "true"; then
144     AC_CHECK_HEADER([curl/curl.h],,[AC_MSG_ERROR([HTTP enabled, but curl.h not found!])])
145 fi
146
147 dnl ==============================
148 dnl  build Makefiles
149 dnl ==============================
150
151 AC_OUTPUT(
152         Makefile
153         src/Makefile
154         src/libstrongswan/Makefile
155         src/libcrypto/Makefile
156         src/libfreeswan/Makefile
157         src/pluto/Makefile
158         src/whack/Makefile
159         src/charon/Makefile
160 dnl     src/charon/testing/Makefile
161         src/stroke/Makefile
162         src/ipsec/Makefile
163         src/starter/Makefile
164         src/_updown/Makefile
165         src/_updown_espmark/Makefile
166         src/_copyright/Makefile
167         src/openac/Makefile
168         src/scepclient/Makefile
169 )