version bumps
[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.8)
20 AM_INIT_AUTOMAKE(tar-ustar)
21 AC_C_BIGENDIAN
22 AC_SUBST(confdir, '${sysconfdir}')
23
24 dnl =================================
25 dnl  check --enable-xxx & --with-xxx
26 dnl =================================
27
28
29 AC_ARG_WITH(
30     [default-pkcs11],
31     AS_HELP_STRING([--with-default-pkcs11=lib],[set the default PKCS11 library other than "/usr/lib/opensc-pkcs11.so"]),
32     [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "$withval")],
33     [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "/usr/lib/opensc-pkcs11.so")]
34 )
35
36 AC_ARG_WITH(
37     [default-xauth],
38     AS_HELP_STRING([--with-xauth-module=lib],[set the path to the XAUTH module]),
39     [AC_DEFINE_UNQUOTED(XAUTH_DEFAULT_LIB, "$withval")],
40 )
41
42 AC_ARG_WITH(
43     [random-device],
44     AS_HELP_STRING([--with-random-device=dev],[set the device for real random data other than "/dev/random"]),
45     [AC_DEFINE_UNQUOTED(DEV_RANDOM, "$withval")],
46     [AC_DEFINE_UNQUOTED(DEV_RANDOM, "/dev/random")]
47 )
48
49 AC_ARG_WITH(
50     [urandom-device],
51     AS_HELP_STRING([--with-urandom-device=dev],[set the device for pseudo random data other than "/dev/urandom"]),
52     [AC_DEFINE_UNQUOTED(DEV_URANDOM, "$withval")],
53     [AC_DEFINE_UNQUOTED(DEV_URANDOM, "/dev/urandom")]
54 )
55
56 AC_ARG_WITH(
57     [ipsecdir],
58     AS_HELP_STRING([--with-ipsecdir=dir],[installation path for ipsec tools other than "libexecdir/ipsec"]),
59     [AC_SUBST(ipsecdir, "$withval")],
60     [AC_SUBST(ipsecdir, "${libexecdir}/ipsec")]
61 )
62
63 AC_ARG_WITH(
64     [piddir],
65     AS_HELP_STRING([--with-piddir=dir],[path for PID and UNIX socket files other than "/var/run"]),
66     [AC_SUBST(piddir, "$withval")],
67     [AC_SUBST(piddir, "/var/run")]
68 )
69
70 AC_ARG_WITH(
71     [eapdir],
72     AS_HELP_STRING([--with-eapdir=dir],[path for pluggable EAP modules other than "ipsecdir/eap"]),
73     [AC_SUBST(eapdir, "$withval")],
74     [AC_SUBST(eapdir, "${ipsecdir}/eap")]
75 )
76
77 AC_ARG_ENABLE(
78     [http],
79     AS_HELP_STRING([--enable-http],[enable OCSP and fetching of Certificates and CRLs over HTTP (default is NO). Requires libcurl.]),
80     http=true
81     AC_DEFINE(LIBCURL)
82 )
83 AM_CONDITIONAL(USE_LIBCURL, test x$http = xtrue)
84
85 AC_ARG_ENABLE(
86     [ldap],
87     AS_HELP_STRING([--enable-ldap],[enable fetching of CRLs from LDAP (default is NO). Requires openLDAP.]),
88     ldap=true
89     AC_DEFINE(LDAP_VER, 3)
90 )
91 AM_CONDITIONAL(USE_LDAP, test x$ldap = xtrue)
92
93 AC_ARG_ENABLE(
94     [smartcard],
95     AS_HELP_STRING([--enable-smartcard],[enable smartcard support (default is NO).]),
96     smartcard=true
97     AC_DEFINE(SMARTCARD)
98 )
99 AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue)
100
101 AC_ARG_ENABLE(
102     [cisco_quirks],
103     AS_HELP_STRING([--enable-cisco-quirks],[enable support of Cisco VPN client (default is NO).]),
104     cisco_quirks=true
105     AC_DEFINE(CISCO_QUIRKS)
106 )
107 AM_CONDITIONAL(USE_CISCO_QUIRKS, test x$cisco_quirks = xtrue)
108
109 AC_ARG_ENABLE(
110     [leak-detective],
111     AS_HELP_STRING([--enable-leak-detective],[enable malloc hooks to find memory leaks (default is NO).]),
112     leak_detective=true
113 )
114 AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue)
115
116 dnl =========================
117 dnl  check required programs
118 dnl =========================
119
120 AC_PROG_INSTALL
121 AC_PROG_LIBTOOL
122 AC_PROG_LEX
123 AC_PROG_YACC
124 AC_PROG_CC()
125 AC_PATH_PROG([GPERF], [gperf], [], [$PATH:/bin:/usr/bin:/usr/local/bin])
126 AC_PATH_PROG([PERL], [perl], [], [$PATH:/bin:/usr/bin:/usr/local/bin])
127
128 dnl ==========================
129 dnl  check required libraries
130 dnl ==========================
131
132 AC_CHECK_FUNCS(backtrace)
133 AC_CHECK_FUNCS(getifaddrs)
134
135 AC_HAVE_LIBRARY([gmp],[LIBS="$LIBS"],[AC_MSG_ERROR([GNU Multi Precision library gmp not found])])       
136 if test "$ldap" = "true"; then
137     AC_HAVE_LIBRARY([ldap],[LIBS="$LIBS"],[AC_MSG_ERROR([LDAP enabled, but library ldap not found])])
138     AC_HAVE_LIBRARY([lber],[LIBS="$LIBS"],[AC_MSG_ERROR([LDAP enabled, but library lber not found])])
139 fi
140 if test "$http" = "true"; then
141     AC_HAVE_LIBRARY([curl],[LIBS="$LIBS"],[AC_MSG_ERROR([HTTP enabled, but library curl not found])])
142 fi
143
144
145 dnl =============================
146 dnl  check required header files
147 dnl =============================
148
149
150 AC_MSG_CHECKING([gmp.h version >= 4.1.4])
151 AC_TRY_COMPILE(
152     [#include "gmp.h"],
153     [
154         #if (__GNU_MP_VERSION*100 +  __GNU_MP_VERSION_MINOR*10 + __GNU_MP_VERSION_PATCHLEVEL) < 414
155             #error bad gmp
156         #endif
157     ], 
158     [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); AC_MSG_ERROR([No usable gmp.h found!])]
159 )
160 if test "$ldap" = "true"; then
161     AC_CHECK_HEADER([ldap.h],,[AC_MSG_ERROR([LDAP enabled, but ldap.h not found!])])
162 fi
163 if test "$http" = "true"; then
164     AC_CHECK_HEADER([curl/curl.h],,[AC_MSG_ERROR([HTTP enabled, but curl.h not found!])])
165 fi
166
167 dnl ==============================
168 dnl  build Makefiles
169 dnl ==============================
170
171 AC_OUTPUT(
172         Makefile
173         src/Makefile
174         src/libstrongswan/Makefile
175         src/libcrypto/Makefile
176         src/libfreeswan/Makefile
177         src/pluto/Makefile
178         src/whack/Makefile
179         src/charon/Makefile
180 dnl     src/charon/testing/Makefile
181         src/stroke/Makefile
182         src/ipsec/Makefile
183         src/starter/Makefile
184         src/_updown/Makefile
185         src/_updown_espmark/Makefile
186         src/_copyright/Makefile
187         src/openac/Makefile
188         src/scepclient/Makefile
189 )