- applied andreas's patch
[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.1)
20 AM_INIT_AUTOMAKE
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     [random-device],
40     AS_HELP_STRING([--with-random-device=dev],[set the device for real random data other than /dev/random]),
41     [AC_DEFINE_UNQUOTED(DEV_RANDOM, "$withval")],
42     [AC_DEFINE_UNQUOTED(DEV_RANDOM, "/dev/random")]
43 )
44
45 AC_ARG_WITH(
46     [urandom-device],
47     AS_HELP_STRING([--with-urandom-device=dev],[set the device for pseudo random data other than /dev/urandom]),
48     [AC_DEFINE_UNQUOTED(DEV_URANDOM, "$withval")],
49     [AC_DEFINE_UNQUOTED(DEV_URANDOM, "/dev/urandom")]
50 )
51
52 AC_ARG_ENABLE(
53     [http],
54     AS_HELP_STRING([--enable-http],[enable OCSP and fetching of Certificates and CRLs over HTTP (default is NO). Requires libcurl.]),
55     http=true
56     AC_DEFINE(LIBCURL)
57 )
58 AM_CONDITIONAL(USE_LIBCURL, test x$http = xtrue)
59
60 AC_ARG_ENABLE(
61     [ldap],
62     AS_HELP_STRING([--enable-ldap],[enable fetching of CRLs from LDAP (default is NO). Requires openLDAP.]),
63     ldap=true
64     AC_DEFINE(LDAP_VER, 3)
65 )
66 AM_CONDITIONAL(USE_LDAP, test x$ldap = xtrue)
67
68 AC_ARG_ENABLE(
69     [smartcard],
70     AS_HELP_STRING([--enable-smartcard],[enable smartcard support (default is NO).]),
71     smartcard=true
72     AC_DEFINE(SMARTCARD)
73 )
74 AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue)
75
76 AC_ARG_ENABLE(
77     [leak-detective],
78     AS_HELP_STRING([--enable-leak-detective],[enable malloc hooks to find memory leaks (default is NO).]),
79     leak_detective=true
80     AC_DEFINE(LEAK_DETECTIVE)
81 )
82 AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue)
83
84 dnl =========================
85 dnl  check required programs
86 dnl =========================
87
88 AC_PROG_INSTALL
89 AC_PROG_LIBTOOL
90 AC_PROG_LEX
91 AC_PROG_YACC
92 AC_PROG_CC(intel)
93
94 dnl ==========================
95 dnl  check required libraries
96 dnl ==========================
97
98 AC_HAVE_LIBRARY([gmp],,[AC_MSG_ERROR([GNU Multi Precision library gmp not found])])     
99 if test "$ldap" = "true"; then
100     AC_HAVE_LIBRARY([ldap],,[AC_MSG_ERROR([LDAP enabled, but library ldap not found])])
101     AC_HAVE_LIBRARY([lber],,[AC_MSG_ERROR([LDAP enabled, but library lber not found])])
102 fi
103 if test "$http" = "true"; then
104     AC_HAVE_LIBRARY([curl],,[AC_MSG_ERROR([HTTP enabled, but library curl not found])])
105 fi
106
107
108 dnl =============================
109 dnl  check required header files
110 dnl =============================
111
112
113 AC_MSG_CHECKING([gmp.h version >= 4.1.4])
114 AC_TRY_COMPILE(
115     [#include "gmp.h"],
116     [
117         #if (__GNU_MP_VERSION*100 +  __GNU_MP_VERSION_MINOR*10 + __GNU_MP_VERSION_PATCHLEVEL) < 414
118             #error bad gmp
119         #endif
120     ], 
121     [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); AC_MSG_ERROR([No usable gmp.h found!])]
122 )
123 if test "$ldap" = "true"; then
124     AC_CHECK_HEADER([ldap.h],,[AC_MSG_ERROR([LDAP enabled, but ldap.h not found!])])
125 fi
126 if test "$http" = "true"; then
127     AC_CHECK_HEADER([curl/curl.h],,[AC_MSG_ERROR([HTTP enabled, but curl.h not found!])])
128 fi
129
130 dnl ==============================
131 dnl  build Makefiles
132 dnl ==============================
133
134 AC_OUTPUT(
135         Makefile
136         src/Makefile
137         src/libstrongswan/Makefile
138         src/libcrypto/Makefile
139         src/libfreeswan/Makefile
140         src/pluto/Makefile
141         src/whack/Makefile
142         src/charon/Makefile
143         src/stroke/Makefile
144         src/ipsec/Makefile
145         src/starter/Makefile
146         src/_updown/Makefile
147         src/_updown_espmark/Makefile
148         src/_copyright/Makefile
149         src/openac/Makefile
150         src/scepclient/Makefile
151 )