]>
Commit | Line | Data |
---|---|---|
f2c2d395 MW |
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 | ||
a213175d | 19 | AC_INIT(strongSwan,4.3.2) |
5e5f0bd4 | 20 | AM_INIT_AUTOMAKE(tar-ustar) |
f2c2d395 | 21 | AC_SUBST(confdir, '${sysconfdir}') |
a47486b5 | 22 | PKG_PROG_PKG_CONFIG |
f2c2d395 | 23 | |
db26d00e MW |
24 | dnl ================================= |
25 | dnl check --enable-xxx & --with-xxx | |
26 | dnl ================================= | |
27 | ||
db26d00e | 28 | AC_ARG_WITH( |
6b9290ff MW |
29 | [default-pkcs11], |
30 | AS_HELP_STRING([--with-default-pkcs11=lib],[set the default PKCS11 library other than "/usr/lib/opensc-pkcs11.so"]), | |
31 | [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "$withval")], | |
32 | [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "/usr/lib/opensc-pkcs11.so")] | |
db26d00e MW |
33 | ) |
34 | ||
195307b5 | 35 | AC_ARG_WITH( |
6b9290ff MW |
36 | [xauth-module], |
37 | AS_HELP_STRING([--with-xauth-module=lib],[set the path to the XAUTH module]), | |
38 | [AC_DEFINE_UNQUOTED(XAUTH_DEFAULT_LIB, "$withval")], | |
195307b5 AS |
39 | ) |
40 | ||
db26d00e | 41 | AC_ARG_WITH( |
6b9290ff MW |
42 | [random-device], |
43 | AS_HELP_STRING([--with-random-device=dev],[set the device for real random data other than "/dev/random"]), | |
44 | [AC_DEFINE_UNQUOTED(DEV_RANDOM, "$withval")], | |
45 | [AC_DEFINE_UNQUOTED(DEV_RANDOM, "/dev/random")] | |
db26d00e | 46 | ) |
c60c7694 | 47 | AC_ARG_WITH( |
6b9290ff | 48 | [resolv-conf], |
adc25ec2 | 49 | AS_HELP_STRING([--with-resolv-conf=file],[set the file to use in DNS handler plugin other than "sysconfdir/resolv.conf"]), |
8cc16c9d AS |
50 | [AC_SUBST(resolv_conf, "$withval")], |
51 | [AC_SUBST(resolv_conf, "${sysconfdir}/resolv.conf")] | |
c60c7694 | 52 | ) |
db26d00e | 53 | |
ff867d06 MW |
54 | AC_ARG_WITH( |
55 | [strongswan-conf], | |
56 | AS_HELP_STRING([--with-strongswan-conf=file],[strongswan.conf file other than "sysconfdir/strongswan.conf"]), | |
8cc16c9d AS |
57 | [AC_SUBST(strongswan_conf, "$withval")], |
58 | [AC_SUBST(strongswan_conf, "${sysconfdir}/strongswan.conf")] | |
ff867d06 MW |
59 | ) |
60 | ||
db26d00e | 61 | AC_ARG_WITH( |
6b9290ff MW |
62 | [urandom-device], |
63 | AS_HELP_STRING([--with-urandom-device=dev],[set the device for pseudo random data other than "/dev/urandom"]), | |
64 | [AC_DEFINE_UNQUOTED(DEV_URANDOM, "$withval")], | |
65 | [AC_DEFINE_UNQUOTED(DEV_URANDOM, "/dev/urandom")] | |
db26d00e | 66 | ) |
f2c2d395 | 67 | |
dfc14c84 | 68 | AC_ARG_WITH( |
6b9290ff MW |
69 | [piddir], |
70 | AS_HELP_STRING([--with-piddir=dir],[path for PID and UNIX socket files other than "/var/run"]), | |
71 | [AC_SUBST(piddir, "$withval")], | |
72 | [AC_SUBST(piddir, "/var/run")] | |
dfc14c84 AS |
73 | ) |
74 | ||
f27f6296 | 75 | AC_ARG_WITH( |
6b9290ff MW |
76 | [ipsecdir], |
77 | AS_HELP_STRING([--with-ipsecdir=dir],[installation path for ipsec tools other than "libexecdir/ipsec"]), | |
78 | [AC_SUBST(ipsecdir, "$withval")], | |
c5ebb635 | 79 | [AC_SUBST(ipsecdir, "${libexecdir%/}/ipsec")] |
f27f6296 | 80 | ) |
c5ebb635 | 81 | AC_SUBST(plugindir, "${ipsecdir%/}/plugins") |
f27f6296 MW |
82 | |
83 | AC_ARG_WITH( | |
6b9290ff MW |
84 | [plugindir], |
85 | AS_HELP_STRING([--with-plugindir=dir],[installation path for plugins other than "ipsecdir/plugins"]), | |
86 | [AC_SUBST(plugindir, "$withval")], | |
c5ebb635 | 87 | [AC_SUBST(plugindir, "${ipsecdir%/}/plugins")] |
f27f6296 MW |
88 | ) |
89 | ||
d560c849 | 90 | AC_ARG_WITH( |
6b9290ff MW |
91 | [sim-reader], |
92 | AS_HELP_STRING([--with-sim-reader=library.so],[library containing the sim_run_alg()/sim_get_triplet() function for EAP-SIM]), | |
93 | [AC_SUBST(simreader, "$withval")], | |
c5ebb635 | 94 | [AC_SUBST(simreader, "${plugindir%/}/libeapsim-file.so")] |
d560c849 MW |
95 | ) |
96 | ||
04a7b6d8 | 97 | AC_ARG_WITH( |
6b9290ff MW |
98 | [linux-headers], |
99 | AS_HELP_STRING([--with-linux-headers=dir],[use the linux header files in dir instead of the supplied ones in "src/include"]), | |
507f26f6 | 100 | [AC_SUBST(linuxdir, "$withval")], [AC_SUBST(linuxdir, "\${top_srcdir}/src/include")] |
04a7b6d8 MW |
101 | ) |
102 | AC_SUBST(LINUX_HEADERS) | |
103 | ||
4e411c83 | 104 | AC_ARG_WITH( |
6b9290ff MW |
105 | [routing-table], |
106 | AS_HELP_STRING([--with-routing-table=num],[use routing table for IPsec routes (default: 220)]), | |
107 | [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE, $withval) AC_SUBST(IPSEC_ROUTING_TABLE, "$withval")], | |
108 | [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE, 220) AC_SUBST(IPSEC_ROUTING_TABLE, "220")] | |
0739cca9 MW |
109 | ) |
110 | ||
111 | AC_ARG_WITH( | |
6b9290ff MW |
112 | [routing-table-prio], |
113 | AS_HELP_STRING([--with-routing-table-prio=prio],[priority for IPsec routing table (default: 220)]), | |
114 | [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE_PRIO, $withval) AC_SUBST(IPSEC_ROUTING_TABLE_PRIO, "$withval")], | |
115 | [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE_PRIO, 220) AC_SUBST(IPSEC_ROUTING_TABLE_PRIO, "220")] | |
4e411c83 MW |
116 | ) |
117 | ||
6874bf69 | 118 | AC_ARG_WITH( |
25b12c69 | 119 | [uid],,[AC_MSG_ERROR([--with-uid is gone, use --with-user instead!])] |
6874bf69 MW |
120 | ) |
121 | ||
122 | AC_ARG_WITH( | |
25b12c69 MW |
123 | [gid],,[AC_MSG_ERROR([--with-gid is gone, use --with-group instead!])] |
124 | ) | |
125 | ||
126 | AC_ARG_WITH( | |
127 | [user], | |
128 | AS_HELP_STRING([--with-user=user],[change user of the daemons to "user" after startup (default is 0).]), | |
129 | [AC_DEFINE_UNQUOTED(IPSEC_USER, "$withval") AC_SUBST(ipsecuser, "$withval")], | |
130 | [AC_SUBST(ipsecuser, "root")] | |
131 | ) | |
132 | ||
133 | AC_ARG_WITH( | |
134 | [group], | |
135 | AS_HELP_STRING([--with-group=group],[change group of the daemons to "group" after startup (default is 0).]), | |
136 | [AC_DEFINE_UNQUOTED(IPSEC_GROUP, "$withval") AC_SUBST(ipsecgroup, "$withval")], | |
137 | [AC_SUBST(ipsecgroup, "root")] | |
6874bf69 MW |
138 | ) |
139 | ||
eb3e2705 MW |
140 | dnl Will be extended to --with-capabilities=libcap|libcap2 |
141 | AC_ARG_WITH( | |
142 | [capabilities], | |
143 | AS_HELP_STRING([--with-capabilities=libcap],[capability dropping using libcap. Currenlty only the value "libcap" is supported (default is NO).]), | |
144 | [capabilities="$withval"], | |
145 | [capabilities=no] | |
146 | ) | |
147 | ||
f2c2d395 | 148 | AC_ARG_ENABLE( |
6b9290ff MW |
149 | [curl], |
150 | AS_HELP_STRING([--enable-curl],[enable CURL fetcher plugin to fetch files via libcurl (default is NO). Requires libcurl.]), | |
151 | [if test x$enableval = xyes; then | |
152 | curl=true | |
153 | fi] | |
f2c2d395 | 154 | ) |
f2c2d395 MW |
155 | |
156 | AC_ARG_ENABLE( | |
6b9290ff MW |
157 | [ldap], |
158 | AS_HELP_STRING([--enable-ldap],[enable LDAP fetching plugin to fetch files via libldap (default is NO). Requires openLDAP.]), | |
159 | [if test x$enableval = xyes; then | |
160 | ldap=true | |
161 | fi] | |
f2c2d395 | 162 | ) |
552cc11b MW |
163 | |
164 | AC_ARG_ENABLE( | |
6b9290ff MW |
165 | [aes], |
166 | AS_HELP_STRING([--disable-aes],[disable own AES software implementation plugin. (default is NO).]), | |
167 | [if test x$enableval = xyes; then | |
168 | aes=true | |
169 | else | |
170 | aes=false | |
171 | fi], | |
172 | aes=true | |
552cc11b | 173 | ) |
552cc11b MW |
174 | |
175 | AC_ARG_ENABLE( | |
6b9290ff MW |
176 | [des], |
177 | AS_HELP_STRING([--disable-des],[disable own DES/3DES software implementation plugin. (default is NO).]), | |
178 | [if test x$enableval = xyes; then | |
179 | des=true | |
180 | else | |
181 | des=false | |
182 | fi], | |
183 | des=true | |
552cc11b | 184 | ) |
552cc11b | 185 | |
d36ae9e3 AS |
186 | AC_ARG_ENABLE( |
187 | [blowfish], | |
188 | AS_HELP_STRING([--enable-blowfish],[enable Blowfish software implementation plugin (default is NO).]), | |
189 | [if test x$enableval = xyes; then | |
190 | blowfish=true | |
191 | fi] | |
192 | ) | |
193 | ||
194 | AC_ARG_ENABLE( | |
195 | [serpent], | |
196 | AS_HELP_STRING([--enable-serpent],[enable Serpent software implementation plugin (default is NO).]), | |
197 | [if test x$enableval = xyes; then | |
198 | serpent=true | |
199 | fi] | |
200 | ) | |
201 | ||
202 | AC_ARG_ENABLE( | |
203 | [twofish], | |
204 | AS_HELP_STRING([--enable-twofish],[enable Twofish software implementation plugin (default is NO).]), | |
205 | [if test x$enableval = xyes; then | |
206 | twofish=true | |
207 | fi] | |
208 | ) | |
209 | ||
1e0d1ae2 AS |
210 | AC_ARG_ENABLE( |
211 | [md4], | |
212 | AS_HELP_STRING([--enable-md4],[enable MD4 software implementation plugin (default is NO).]), | |
213 | [if test x$enableval = xyes; then | |
214 | md4=true | |
215 | fi] | |
216 | ) | |
217 | ||
552cc11b | 218 | AC_ARG_ENABLE( |
6b9290ff MW |
219 | [md5], |
220 | AS_HELP_STRING([--disable-md5],[disable own MD5 software implementation plugin. (default is NO).]), | |
221 | [if test x$enableval = xyes; then | |
222 | md5=true | |
223 | else | |
224 | md5=false | |
225 | fi], | |
226 | md5=true | |
552cc11b | 227 | ) |
552cc11b MW |
228 | |
229 | AC_ARG_ENABLE( | |
6b9290ff MW |
230 | [sha1], |
231 | AS_HELP_STRING([--disable-sha1],[disable own SHA1 software implementation plugin. (default is NO).]), | |
232 | [if test x$enableval = xyes; then | |
233 | sha1=true | |
234 | else | |
235 | sha1=false | |
236 | fi], | |
237 | sha1=true | |
552cc11b | 238 | ) |
552cc11b MW |
239 | |
240 | AC_ARG_ENABLE( | |
6b9290ff MW |
241 | [sha2], |
242 | AS_HELP_STRING([--disable-sha2],[disable own SHA256/SHA384/SHA512 software implementation plugin. (default is NO).]), | |
243 | [if test x$enableval = xyes; then | |
244 | sha2=true | |
245 | else | |
246 | sha2=false | |
247 | fi], | |
248 | sha2=true | |
552cc11b | 249 | ) |
552cc11b MW |
250 | |
251 | AC_ARG_ENABLE( | |
6b9290ff MW |
252 | [fips-prf], |
253 | AS_HELP_STRING([--disable-fips-prf],[disable FIPS PRF software implementation plugin. (default is NO).]), | |
254 | [if test x$enableval = xyes; then | |
255 | fips_prf=true | |
256 | else | |
257 | fips_prf=false | |
258 | fi], | |
259 | fips_prf=true | |
552cc11b | 260 | ) |
552cc11b MW |
261 | |
262 | AC_ARG_ENABLE( | |
6b9290ff MW |
263 | [gmp], |
264 | AS_HELP_STRING([--disable-gmp],[disable own GNU MP (libgmp) based crypto implementation plugin. (default is NO).]), | |
265 | [if test x$enableval = xyes; then | |
266 | gmp=true | |
267 | else | |
268 | gmp=false | |
269 | fi], | |
270 | gmp=true | |
552cc11b | 271 | ) |
552cc11b | 272 | |
6a365f07 MW |
273 | AC_ARG_ENABLE( |
274 | [random], | |
275 | AS_HELP_STRING([--disable-random],[disable RNG implementation on top of /dev/(u)random. (default is NO).]), | |
276 | [if test x$enableval = xyes; then | |
277 | random=true | |
278 | else | |
279 | random=false | |
280 | fi], | |
281 | random=true | |
282 | ) | |
283 | ||
552cc11b | 284 | AC_ARG_ENABLE( |
6b9290ff MW |
285 | [x509], |
286 | AS_HELP_STRING([--disable-x509],[disable own X509 certificate implementation plugin. (default is NO).]), | |
287 | [if test x$enableval = xyes; then | |
288 | x509=true | |
289 | else | |
290 | x509=false | |
291 | fi], | |
292 | x509=true | |
552cc11b | 293 | ) |
552cc11b | 294 | |
affd7a90 MW |
295 | AC_ARG_ENABLE( |
296 | [pubkey], | |
297 | AS_HELP_STRING([--disable-pubkey],[disable RAW public key support plugin. (default is NO).]), | |
298 | [if test x$enableval = xyes; then | |
299 | pubkey=true | |
300 | else | |
301 | pubkey=false | |
302 | fi], | |
303 | pubkey=true | |
304 | ) | |
305 | ||
552cc11b | 306 | AC_ARG_ENABLE( |
6b9290ff MW |
307 | [hmac], |
308 | AS_HELP_STRING([--disable-hmac],[disable HMAC crypto implementation plugin. (default is NO).]), | |
309 | [if test x$enableval = xyes; then | |
310 | hmac=true | |
311 | else | |
312 | hmac=false | |
313 | fi], | |
314 | hmac=true | |
552cc11b | 315 | ) |
552cc11b | 316 | |
27d04e05 MW |
317 | AC_ARG_ENABLE( |
318 | [xcbc], | |
319 | AS_HELP_STRING([--disable-xcbc],[disable xcbc crypto implementation plugin. (default is NO).]), | |
320 | [if test x$enableval = xyes; then | |
321 | xcbc=true | |
322 | else | |
323 | xcbc=false | |
324 | fi], | |
325 | xcbc=true | |
326 | ) | |
327 | ||
552cc11b | 328 | AC_ARG_ENABLE( |
6b9290ff MW |
329 | [mysql], |
330 | AS_HELP_STRING([--enable-mysql],[enable MySQL database support (default is NO). Requires libmysqlclient_r.]), | |
331 | [if test x$enableval = xyes; then | |
332 | mysql=true | |
333 | fi] | |
552cc11b | 334 | ) |
552cc11b MW |
335 | |
336 | AC_ARG_ENABLE( | |
6b9290ff MW |
337 | [sqlite], |
338 | AS_HELP_STRING([--enable-sqlite],[enable SQLite database support (default is NO). Requires libsqlite3.]), | |
339 | [if test x$enableval = xyes; then | |
340 | sqlite=true | |
341 | fi] | |
552cc11b | 342 | ) |
f2c2d395 | 343 | |
cbfb2aff | 344 | AC_ARG_ENABLE( |
6b9290ff MW |
345 | [stroke], |
346 | AS_HELP_STRING([--disable-stroke],[disable charons stroke (pluto compatibility) configuration backend. (default is NO).]), | |
347 | [if test x$enableval = xyes; then | |
348 | stroke=true | |
349 | else | |
350 | stroke=false | |
351 | fi], | |
352 | stroke=true | |
cbfb2aff | 353 | ) |
cbfb2aff | 354 | |
552cc11b | 355 | AC_ARG_ENABLE( |
5b7ec6d4 | 356 | [medsrv], |
9529fb68 | 357 | AS_HELP_STRING([--enable-medsrv],[enable mediation server web frontend and daemon plugin (default is NO).]), |
6b9290ff | 358 | [if test x$enableval = xyes; then |
5b7ec6d4 | 359 | medsrv=true |
6b9290ff | 360 | fi] |
552cc11b | 361 | ) |
552cc11b | 362 | |
782db7ed MW |
363 | AC_ARG_ENABLE( |
364 | [medcli], | |
365 | AS_HELP_STRING([--enable-medcli],[enable mediation client configuration database plugin (default is NO).]), | |
366 | [if test x$enableval = xyes; then | |
367 | medcli=true | |
368 | fi] | |
369 | ) | |
370 | ||
a84fb01b | 371 | AC_ARG_ENABLE( |
6b9290ff MW |
372 | [smp], |
373 | AS_HELP_STRING([--enable-smp],[enable SMP configuration and control interface (default is NO). Requires libxml.]), | |
374 | [if test x$enableval = xyes; then | |
375 | smp=true | |
376 | fi] | |
a84fb01b | 377 | ) |
a84fb01b MW |
378 | |
379 | AC_ARG_ENABLE( | |
6b9290ff MW |
380 | [sql], |
381 | AS_HELP_STRING([--enable-sql],[enable SQL database configuration backend (default is NO).]), | |
382 | [if test x$enableval = xyes; then | |
383 | sql=true | |
384 | fi] | |
a84fb01b | 385 | ) |
a84fb01b | 386 | |
8f561d44 | 387 | AC_ARG_ENABLE( |
6b9290ff MW |
388 | [smartcard], |
389 | AS_HELP_STRING([--enable-smartcard],[enable smartcard support (default is NO).]), | |
390 | [if test x$enableval = xyes; then | |
391 | smartcard=true | |
392 | fi] | |
8f561d44 | 393 | ) |
8f561d44 | 394 | |
f2c2d395 | 395 | AC_ARG_ENABLE( |
6b9290ff MW |
396 | [cisco-quirks], |
397 | AS_HELP_STRING([--enable-cisco-quirks],[enable support of Cisco VPN client (default is NO).]), | |
398 | [if test x$enableval = xyes; then | |
399 | cisco_quirks=true | |
400 | fi] | |
f2c2d395 | 401 | ) |
f2c2d395 | 402 | |
2df45a73 | 403 | AC_ARG_ENABLE( |
6b9290ff MW |
404 | [leak-detective], |
405 | AS_HELP_STRING([--enable-leak-detective],[enable malloc hooks to find memory leaks (default is NO).]), | |
406 | [if test x$enableval = xyes; then | |
407 | leak_detective=true | |
408 | fi] | |
2df45a73 | 409 | ) |
2df45a73 | 410 | |
02140125 MW |
411 | AC_ARG_ENABLE( |
412 | [lock-profiler], | |
fc3ef71f | 413 | AS_HELP_STRING([--enable-lock-profiler],[enable lock/mutex profiling code (default is NO).]), |
02140125 MW |
414 | [if test x$enableval = xyes; then |
415 | lock_profiler=true | |
416 | fi] | |
417 | ) | |
418 | ||
f2c2d395 | 419 | AC_ARG_ENABLE( |
6b9290ff MW |
420 | [unit-tests], |
421 | AS_HELP_STRING([--enable-unit-tests],[enable unit tests on IKEv2 daemon startup (default is NO).]), | |
422 | [if test x$enableval = xyes; then | |
423 | unittest=true | |
424 | fi] | |
f2c2d395 | 425 | ) |
f2c2d395 | 426 | |
0fd6e955 MW |
427 | AC_ARG_ENABLE( |
428 | [load-tests], | |
429 | AS_HELP_STRING([--enable-load-tests],[enable load testing plugin for IKEv2 daemon (default is NO).]), | |
430 | [if test x$enableval = xyes; then | |
431 | loadtest=true | |
432 | fi] | |
433 | ) | |
434 | ||
552cc11b | 435 | AC_ARG_ENABLE( |
6b9290ff MW |
436 | [eap-sim], |
437 | AS_HELP_STRING([--enable-eap-sim],[build SIM authenication module for EAP (default is NO).]), | |
438 | [if test x$enableval = xyes; then | |
439 | eap_sim=true | |
440 | fi] | |
552cc11b | 441 | ) |
552cc11b | 442 | |
79a87846 MW |
443 | AC_ARG_ENABLE( |
444 | [eap-sim-file], | |
445 | AS_HELP_STRING([--enable-eap-sim-file],[build EAP-SIM backend based on a triplet file (default is NO).]), | |
446 | [if test x$enableval = xyes; then | |
447 | eap_sim_file=true | |
448 | fi] | |
449 | ) | |
450 | ||
b0f24449 | 451 | AC_ARG_ENABLE( |
6b9290ff MW |
452 | [eap-identity], |
453 | AS_HELP_STRING([--enable-eap-identity],[build EAP module providing EAP-Identity helper (default is NO).]), | |
454 | [if test x$enableval = xyes; then | |
455 | eap_identity=true | |
456 | fi] | |
b0f24449 | 457 | ) |
cbfb2aff MW |
458 | |
459 | AC_ARG_ENABLE( | |
6b9290ff MW |
460 | [eap-md5], |
461 | AS_HELP_STRING([--enable-eap-md5],[build MD5 (CHAP) authenication module for EAP (default is NO).]), | |
462 | [if test x$enableval = xyes; then | |
463 | eap_md5=true | |
464 | fi] | |
cbfb2aff | 465 | ) |
26e24676 | 466 | |
1caa265c MW |
467 | AC_ARG_ENABLE( |
468 | [eap-gtc], | |
469 | AS_HELP_STRING([--enable-eap-gtc],[build PAM based GTC authenication module for EAP (default is NO).]), | |
470 | [if test x$enableval = xyes; then | |
471 | eap_gtc=true | |
472 | fi] | |
473 | ) | |
474 | ||
26e24676 | 475 | AC_ARG_ENABLE( |
6b9290ff MW |
476 | [eap-aka], |
477 | AS_HELP_STRING([--enable-eap-aka],[build AKA authentication module for EAP (default is NO).]), | |
478 | [if test x$enableval = xyes; then | |
479 | eap_aka=true | |
480 | fi] | |
26e24676 | 481 | ) |
b0f24449 | 482 | |
f98cdf7a TB |
483 | AC_ARG_ENABLE( |
484 | [eap-mschapv2], | |
485 | AS_HELP_STRING([--enable-eap-mschapv2],[build MS-CHAPv2 authenication module for EAP (default is NO).]), | |
486 | [if test x$enableval = xyes; then | |
487 | eap_mschapv2=true | |
488 | fi] | |
489 | ) | |
490 | ||
4a6b84a9 MW |
491 | AC_ARG_ENABLE( |
492 | [eap-radius], | |
493 | AS_HELP_STRING([--enable-eap-radius],[build RADIUS proxy authenication module for EAP (default is NO).]), | |
494 | [if test x$enableval = xyes; then | |
495 | eap_radius=true | |
496 | fi] | |
497 | ) | |
498 | ||
09d7ef26 AS |
499 | AC_ARG_ENABLE( |
500 | [kernel-netlink], | |
501 | AS_HELP_STRING([--disable-kernel-netlink],[disable the netlink kernel interface. (default is NO).]), | |
502 | [if test x$enableval = xyes; then | |
503 | kernel_netlink=true | |
504 | else | |
505 | kernel_netlink=false | |
506 | fi], | |
507 | kernel_netlink=true | |
508 | ) | |
509 | ||
1adaa02b TB |
510 | AC_ARG_ENABLE( |
511 | [kernel-pfkey], | |
512 | AS_HELP_STRING([--enable-kernel-pfkey],[enable the PF_KEY kernel interface. (default is NO).]), | |
513 | [if test x$enableval = xyes; then | |
514 | kernel_pfkey=true | |
515 | fi] | |
516 | ) | |
517 | ||
ea7e89c7 TB |
518 | AC_ARG_ENABLE( |
519 | [kernel-pfroute], | |
520 | AS_HELP_STRING([--enable-kernel-pfroute],[enable the PF_ROUTE kernel interface. (default is NO).]), | |
521 | [if test x$enableval = xyes; then | |
522 | kernel_pfroute=true | |
523 | fi] | |
524 | ) | |
525 | ||
ea625fab TB |
526 | AC_ARG_ENABLE( |
527 | [kernel-klips], | |
528 | AS_HELP_STRING([--enable-kernel-klips],[enable the KLIPS kernel interface. (default is NO).]), | |
529 | [if test x$enableval = xyes; then | |
530 | kernel_klips=true | |
531 | fi] | |
532 | ) | |
533 | ||
7b0c588a | 534 | AC_ARG_ENABLE( |
6b9290ff MW |
535 | [nat-transport], |
536 | AS_HELP_STRING([--enable-nat-transport],[enable NAT traversal with IPsec transport mode (default is NO).]), | |
537 | [if test x$enableval = xyes; then | |
538 | nat_transport=true | |
539 | fi] | |
7b0c588a | 540 | ) |
7b0c588a AS |
541 | |
542 | AC_ARG_ENABLE( | |
6b9290ff MW |
543 | [vendor-id], |
544 | AS_HELP_STRING([--disable-vendor-id],[disable the sending of the strongSwan vendor ID (default is NO).]), | |
545 | [if test x$enableval = xyes; then | |
546 | vendor_id=true | |
547 | else | |
548 | vendor_id=false | |
549 | fi], | |
550 | vendor_id=true | |
7b0c588a | 551 | ) |
7b0c588a | 552 | |
0e307360 | 553 | AC_ARG_ENABLE( |
6b9290ff MW |
554 | [xauth-vid], |
555 | AS_HELP_STRING([--disable-xauth-vid],[disable the sending of the XAUTH vendor ID (default is NO).]), | |
556 | [if test x$enableval = xyes; then | |
557 | xauth_vid=true | |
558 | else | |
559 | xauth_vid=false | |
560 | fi], | |
561 | xauth_vid=true | |
0e307360 | 562 | ) |
0e307360 | 563 | |
fd4ded97 | 564 | AC_ARG_ENABLE( |
6b9290ff MW |
565 | [dumm], |
566 | AS_HELP_STRING([--enable-dumm],[build the DUMM UML test framework (default is NO).]), | |
567 | [if test x$enableval = xyes; then | |
568 | dumm=true | |
569 | fi] | |
fd4ded97 | 570 | ) |
fd4ded97 | 571 | |
552cc11b | 572 | AC_ARG_ENABLE( |
6b9290ff MW |
573 | [fast], |
574 | AS_HELP_STRING([--enable-fast],[build libfast (FastCGI Application Server w/ templates (default is NO).]), | |
575 | [if test x$enableval = xyes; then | |
576 | fast=true | |
577 | fi] | |
552cc11b | 578 | ) |
552cc11b | 579 | |
b8c7453a | 580 | AC_ARG_ENABLE( |
6b9290ff MW |
581 | [manager], |
582 | AS_HELP_STRING([--enable-manager],[build web management console (default is NO).]), | |
583 | [if test x$enableval = xyes; then | |
584 | manager=true | |
585 | xml=true | |
586 | fi] | |
b8c7453a | 587 | ) |
b8c7453a | 588 | |
d5cc1758 | 589 | AC_ARG_ENABLE( |
6b9290ff MW |
590 | [mediation], |
591 | AS_HELP_STRING([--enable-mediation],[enable IKEv2 Mediation Extension (default is NO).]), | |
592 | [if test x$enableval = xyes; then | |
593 | me=true | |
594 | fi] | |
d5cc1758 | 595 | ) |
d5cc1758 | 596 | |
9ee1111d | 597 | AC_ARG_ENABLE( |
6b9290ff MW |
598 | [integrity-test], |
599 | AS_HELP_STRING([--enable-integrity-test],[enable the integrity test of the crypto library (default is NO).]), | |
600 | [if test x$enableval = xyes; then | |
601 | integrity_test=true | |
602 | fi] | |
9ee1111d | 603 | ) |
9ee1111d AS |
604 | |
605 | AC_ARG_ENABLE( | |
6b9290ff MW |
606 | [self-test], |
607 | AS_HELP_STRING([--disable-self-test],[disable the self-test of the crypto library (default is NO).]), | |
608 | [if test x$enableval = xyes; then | |
609 | self_test=true | |
610 | else | |
611 | self_test=false | |
612 | fi], | |
613 | self_test=true | |
9ee1111d | 614 | ) |
9ee1111d | 615 | |
733f336a | 616 | AC_ARG_ENABLE( |
6b9290ff MW |
617 | [pluto], |
618 | AS_HELP_STRING([--disable-pluto],[disable the IKEv1 keying daemon pluto. (default is NO).]), | |
619 | [if test x$enableval = xyes; then | |
620 | pluto=true | |
621 | else | |
622 | pluto=false | |
623 | fi], | |
624 | pluto=true | |
cbfb2aff | 625 | ) |
cbfb2aff | 626 | |
6905f794 MW |
627 | AC_ARG_ENABLE( |
628 | [threads], | |
629 | AS_HELP_STRING([--disable-threads],[disable the use of threads in pluto. Charon always uses threads. (default is NO).]), | |
630 | [if test x$enableval = xyes; then | |
631 | threads=true | |
632 | else | |
633 | threads=false | |
634 | fi], | |
635 | threads=true | |
636 | ) | |
637 | ||
cbfb2aff | 638 | AC_ARG_ENABLE( |
6b9290ff MW |
639 | [charon], |
640 | AS_HELP_STRING([--disable-charon],[disable the IKEv2 keying daemon charon. (default is NO).]), | |
641 | [if test x$enableval = xyes; then | |
642 | charon=true | |
643 | else | |
644 | charon=false | |
645 | fi], | |
646 | charon=true | |
cbfb2aff | 647 | ) |
cbfb2aff MW |
648 | |
649 | AC_ARG_ENABLE( | |
6b9290ff MW |
650 | [tools], |
651 | AS_HELP_STRING([--disable-tools],[disable additional utilities (openac and scepclient). (default is NO).]), | |
652 | [if test x$enableval = xyes; then | |
653 | tools=true | |
654 | else | |
655 | tools=false | |
656 | fi], | |
657 | tools=true | |
733f336a | 658 | ) |
733f336a | 659 | |
1e9c46f1 MW |
660 | AC_ARG_ENABLE( |
661 | [updown], | |
ad3af574 | 662 | AS_HELP_STRING([--disable-updown],[disable updown firewall script plugin. (default is NO).]), |
1e9c46f1 MW |
663 | [if test x$enableval = xyes; then |
664 | updown=true | |
665 | else | |
666 | updown=false | |
667 | fi], | |
668 | updown=true | |
669 | ) | |
670 | ||
adc25ec2 MW |
671 | AC_ARG_ENABLE( |
672 | [attr], | |
673 | AS_HELP_STRING([--disable-attr],[disable strongswan.conf based configuration attribute plugin. (default is NO).]), | |
674 | [if test x$enableval = xyes; then | |
675 | attr=true | |
676 | else | |
677 | attr=false | |
678 | fi], | |
679 | attr=true | |
680 | ) | |
681 | ||
682 | AC_ARG_ENABLE( | |
683 | [resolv-conf], | |
684 | AS_HELP_STRING([--disable-resolv-conf],[disable resolv.conf DNS handler plugin. (default is NO).]), | |
685 | [if test x$enableval = xyes; then | |
686 | resolvconf=true | |
687 | else | |
688 | resolvconf=false | |
689 | fi], | |
690 | resolvconf=true | |
691 | ) | |
692 | ||
36d62fac MW |
693 | AC_ARG_ENABLE( |
694 | [padlock], | |
695 | AS_HELP_STRING([--enable-padlock],[enables VIA Padlock crypto plugin. (default is NO).]), | |
696 | [if test x$enableval = xyes; then | |
697 | padlock=true | |
698 | else | |
699 | padlock=false | |
700 | fi], | |
701 | ) | |
702 | ||
17353034 TB |
703 | AC_ARG_ENABLE( |
704 | [openssl], | |
705 | AS_HELP_STRING([--enable-openssl],[enables the OpenSSL crypto plugin. (default is NO).]), | |
706 | [if test x$enableval = xyes; then | |
707 | openssl=true | |
708 | else | |
709 | openssl=false | |
710 | fi], | |
711 | ) | |
712 | ||
21c95463 MW |
713 | AC_ARG_ENABLE( |
714 | [agent], | |
715 | AS_HELP_STRING([--enable-agent],[enables the ssh-agent signing plugin. (default is NO).]), | |
716 | [if test x$enableval = xyes; then | |
717 | agent=true | |
718 | else | |
719 | agent=false | |
720 | fi], | |
721 | ) | |
722 | ||
61c46386 MW |
723 | AC_ARG_ENABLE( |
724 | [uci], | |
725 | AS_HELP_STRING([--enable-uci],[enable OpenWRT UCI configuration plugin (default is NO).]), | |
726 | [if test x$enableval = xyes; then | |
727 | uci=true | |
728 | fi] | |
729 | ) | |
730 | ||
6dbce9c8 MW |
731 | AC_ARG_ENABLE( |
732 | [nm], | |
733 | AS_HELP_STRING([--enable-nm],[enable NetworkManager plugin (default is NO).]), | |
734 | [if test x$enableval = xyes; then | |
735 | nm=true | |
736 | fi] | |
737 | ) | |
738 | ||
bf45d6dd TB |
739 | AC_ARG_ENABLE( |
740 | [vstr], | |
741 | AS_HELP_STRING([--enable-vstr],[enforce using the Vstr string library to replace glibc-like printf hooks (default is NO).]), | |
742 | [if test x$enableval = xyes; then | |
743 | vstr=true | |
744 | fi] | |
745 | ) | |
746 | ||
be0a03be MW |
747 | dnl ========================= |
748 | dnl set up compiler and flags | |
749 | dnl ========================= | |
750 | ||
751 | if test -z "$CFLAGS"; then | |
752 | AC_SUBST(CFLAGS, "-g -O2 -Wall -Wno-format -Wno-pointer-sign -Wno-strict-aliasing") | |
753 | fi | |
754 | AC_PROG_CC | |
755 | AC_C_BIGENDIAN | |
756 | ||
f2c2d395 MW |
757 | dnl ========================= |
758 | dnl check required programs | |
759 | dnl ========================= | |
760 | ||
761 | AC_PROG_INSTALL | |
762 | AC_PROG_LIBTOOL | |
763 | AC_PROG_LEX | |
764 | AC_PROG_YACC | |
298b06c2 MW |
765 | AC_PATH_PROG([GPERF], [gperf], [], [$PATH:/bin:/usr/bin:/usr/local/bin]) |
766 | AC_PATH_PROG([PERL], [perl], [], [$PATH:/bin:/usr/bin:/usr/local/bin]) | |
f2c2d395 | 767 | |
6b9290ff MW |
768 | dnl ========================= |
769 | dnl dependency calculation | |
770 | dnl ========================= | |
f2c2d395 | 771 | |
6b9290ff MW |
772 | if test x$pluto = xtrue; then |
773 | gmp=true; | |
774 | fi | |
775 | ||
776 | if test x$tools = xtrue; then | |
777 | gmp=true; | |
778 | fi | |
552cc11b | 779 | |
6b9290ff MW |
780 | if test x$smp = xtrue; then |
781 | xml=true | |
782 | fi | |
783 | ||
784 | if test x$manager = xtrue; then | |
785 | fast=true | |
786 | fi | |
787 | ||
782db7ed MW |
788 | if test x$medsrv = xtrue; then |
789 | me=true | |
9529fb68 | 790 | fast=true |
782db7ed MW |
791 | fi |
792 | ||
793 | if test x$medcli = xtrue; then | |
794 | me=true | |
795 | fi | |
796 | ||
a9f56adb | 797 | dnl =========================================== |
6b9290ff | 798 | dnl check required libraries and header files |
a9f56adb TB |
799 | dnl =========================================== |
800 | ||
801 | AC_HEADER_STDBOOL | |
6b9290ff | 802 | |
ea7e89c7 TB |
803 | saved_LIBS=$LIBS |
804 | LIBS="" | |
805 | AC_SEARCH_LIBS(dlopen, dl, [DLLIB=$LIBS]) | |
806 | LIBS=$saved_LIBS | |
807 | AC_SUBST(DLLIB) | |
808 | ||
4f734a55 MW |
809 | AC_MSG_CHECKING(for dladdr) |
810 | AC_TRY_COMPILE( | |
811 | [#define _GNU_SOURCE | |
812 | #include <dlfcn.h>], | |
813 | [Dl_info* info = 0; | |
814 | dladdr(0, info);], | |
815 | [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_DLADDR])], | |
816 | [AC_MSG_RESULT([no])] | |
817 | ) | |
818 | ||
65ea37ab TB |
819 | AC_CHECK_FUNCS(backtrace) |
820 | AC_CHECK_FUNCS(prctl) | |
821 | AC_CHECK_FUNCS(gethostbyname_r) | |
65ea37ab | 822 | |
9f090745 | 823 | AC_CHECK_HEADERS(net/pfkeyv2.h netipsec/ipsec.h netinet6/ipsec.h) |
ea7e89c7 TB |
824 | |
825 | AC_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], | |
826 | [ | |
827 | #include <sys/types.h> | |
828 | #include <sys/socket.h> | |
829 | ]) | |
830 | ||
831 | AC_CHECK_MEMBERS([struct sadb_x_policy.sadb_x_policy_priority], [], [], | |
832 | [ | |
833 | #include <sys/types.h> | |
834 | #ifdef HAVE_NET_PFKEYV2_H | |
835 | #include <net/pfkeyv2.h> | |
836 | #else | |
837 | #include <stdint.h> | |
838 | #include <linux/pfkeyv2.h> | |
839 | #endif | |
840 | ]) | |
e696757c | 841 | |
617e59b7 TB |
842 | AC_MSG_CHECKING([for IPSEC_MODE_BEET]) |
843 | AC_TRY_COMPILE( | |
a6ae2a14 TB |
844 | [#include <sys/types.h> |
845 | #ifdef HAVE_NETIPSEC_IPSEC_H | |
617e59b7 TB |
846 | #include <netipsec/ipsec.h> |
847 | #elif defined(HAVE_NETINET6_IPSEC_H) | |
848 | #include <netinet6/ipsec.h> | |
849 | #else | |
a6ae2a14 | 850 | #include <stdint.h> |
617e59b7 TB |
851 | #include <linux/ipsec.h> |
852 | #endif], | |
853 | [int mode = IPSEC_MODE_BEET; | |
854 | return mode;], | |
855 | [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_IPSEC_MODE_BEET])], | |
856 | [AC_MSG_RESULT([no])] | |
857 | ) | |
858 | ||
859 | AC_MSG_CHECKING([for IPSEC_DIR_FWD]) | |
860 | AC_TRY_COMPILE( | |
a6ae2a14 TB |
861 | [#include <sys/types.h> |
862 | #ifdef HAVE_NETIPSEC_IPSEC_H | |
617e59b7 TB |
863 | #include <netipsec/ipsec.h> |
864 | #elif defined(HAVE_NETINET6_IPSEC_H) | |
865 | #include <netinet6/ipsec.h> | |
866 | #else | |
a6ae2a14 | 867 | #include <stdint.h> |
617e59b7 TB |
868 | #include <linux/ipsec.h> |
869 | #endif], | |
870 | [int dir = IPSEC_DIR_FWD; | |
871 | return dir;], | |
872 | [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_IPSEC_DIR_FWD])], | |
873 | [AC_MSG_RESULT([no])] | |
874 | ) | |
875 | ||
efd0fe21 MW |
876 | AC_MSG_CHECKING([for gcc atomic operations]) |
877 | AC_TRY_RUN( | |
878 | [ | |
879 | int main() { | |
880 | volatile int ref = 1; | |
881 | __sync_fetch_and_add (&ref, 1); | |
882 | __sync_sub_and_fetch (&ref, 1); | |
883 | /* Make sure test fails if operations are not supported */ | |
884 | __sync_val_compare_and_swap(&ref, 1, 0); | |
885 | return ref; | |
886 | } | |
887 | ], | |
888 | [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_GCC_ATOMIC_OPERATIONS)], | |
bb835afa | 889 | [AC_MSG_RESULT([no])], |
efd0fe21 MW |
890 | [AC_MSG_RESULT([no])]) |
891 | ||
d25ce370 TB |
892 | AC_CHECK_FUNC( |
893 | [register_printf_function], | |
894 | [AC_DEFINE(HAVE_PRINTF_HOOKS)], | |
895 | [ | |
896 | AC_MSG_NOTICE([printf does not support custom format specifiers!]) | |
bf45d6dd TB |
897 | vstr=true |
898 | ] | |
899 | ) | |
900 | ||
901 | if test x$vstr = xtrue; then | |
902 | AC_HAVE_LIBRARY([vstr],[LIBS="$LIBS"],[AC_MSG_ERROR([Vstr string library not found])]) | |
903 | AC_DEFINE(USE_VSTR) | |
904 | fi | |
d25ce370 | 905 | |
6b9290ff | 906 | if test x$gmp = xtrue; then |
f8277a83 | 907 | AC_HAVE_LIBRARY([gmp],[LIBS="$LIBS"],[AC_MSG_ERROR([GNU Multi Precision library gmp not found])]) |
6b9290ff MW |
908 | AC_MSG_CHECKING([gmp.h version >= 4.1.4]) |
909 | AC_TRY_COMPILE( | |
910 | [#include "gmp.h"], | |
911 | [ | |
912 | #if (__GNU_MP_VERSION*100 + __GNU_MP_VERSION_MINOR*10 + __GNU_MP_VERSION_PATCHLEVEL) < 414 | |
913 | #error bad gmp | |
914 | #endif | |
915 | ], | |
916 | [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); AC_MSG_ERROR([No usable gmp.h found!])] | |
917 | ) | |
f2c2d395 | 918 | fi |
6b9290ff MW |
919 | |
920 | if test x$ldap = xtrue; then | |
921 | AC_HAVE_LIBRARY([ldap],[LIBS="$LIBS"],[AC_MSG_ERROR([LDAP library ldap not found])]) | |
922 | AC_HAVE_LIBRARY([lber],[LIBS="$LIBS"],[AC_MSG_ERROR([LDAP library lber not found])]) | |
923 | AC_CHECK_HEADER([ldap.h],,[AC_MSG_ERROR([LDAP header ldap.h not found!])]) | |
f2c2d395 MW |
924 | fi |
925 | ||
6b9290ff MW |
926 | if test x$curl = xtrue; then |
927 | AC_HAVE_LIBRARY([curl],[LIBS="$LIBS"],[AC_MSG_ERROR([CURL library curl not found])]) | |
928 | AC_CHECK_HEADER([curl/curl.h],,[AC_MSG_ERROR([CURL header curl/curl.h not found!])]) | |
929 | fi | |
930 | ||
931 | if test x$xml = xtrue; then | |
a47486b5 | 932 | PKG_CHECK_MODULES(xml, [libxml-2.0]) |
f2d6355e MW |
933 | AC_SUBST(xml_CFLAGS) |
934 | AC_SUBST(xml_LIBS) | |
935 | fi | |
936 | ||
a47486b5 MW |
937 | if test x$dumm = xtrue; then |
938 | PKG_CHECK_MODULES(gtk, [gtk+-2.0 vte]) | |
939 | AC_SUBST(gtk_CFLAGS) | |
940 | AC_SUBST(gtk_LIBS) | |
d2e9cbc9 TB |
941 | AC_CHECK_PROGS(RUBY, ruby) |
942 | AC_MSG_CHECKING([for Ruby header files]) | |
943 | if test -n "$RUBY"; then | |
944 | RUBYDIR=`($RUBY -rmkmf -e 'print Config::CONFIG[["archdir"]] || $archdir') 2>/dev/null` | |
945 | if test -n "$RUBYDIR"; then | |
946 | dirs="$RUBYDIR" | |
947 | RUBYINCLUDE=none | |
948 | for i in $dirs; do | |
949 | if test -r $i/ruby.h; then | |
950 | AC_MSG_RESULT([$i]) | |
951 | RUBYINCLUDE="-I$i" | |
952 | break; | |
953 | fi | |
954 | done | |
955 | if test x"$RUBYINCLUDE" = xnone; then | |
956 | AC_MSG_ERROR([ruby.h not found]) | |
957 | fi | |
958 | AC_SUBST(RUBYINCLUDE) | |
959 | else | |
960 | AC_MSG_ERROR([unable to determine ruby configuration]) | |
961 | fi | |
962 | else | |
963 | AC_MSG_ERROR([don't know how to run ruby]) | |
964 | fi | |
a47486b5 MW |
965 | fi |
966 | ||
6b9290ff MW |
967 | if test x$fast = xtrue; then |
968 | AC_HAVE_LIBRARY([neo_cgi],[LIBS="$LIBS"],[AC_MSG_ERROR([ClearSilver library neo_cgi not found!])]) | |
969 | AC_HAVE_LIBRARY([neo_utl],[LIBS="$LIBS"],[AC_MSG_ERROR([ClearSilver library neo_utl not found!])]) | |
970 | AC_HAVE_LIBRARY([z],[LIBS="$LIBS"],[AC_MSG_ERROR([ClearSilver dependency zlib not found!])]) | |
971 | dnl autoconf does not like CamelCase!? How to fix this? | |
972 | dnl AC_CHECK_HEADER([ClearSilver/ClearSilver.h],,[AC_MSG_ERROR([ClearSilver header file ClearSilver/ClearSilver.h not found!])]) | |
973 | ||
974 | AC_HAVE_LIBRARY([fcgi],[LIBS="$LIBS"],[AC_MSG_ERROR([FastCGI library fcgi not found!])]) | |
975 | AC_CHECK_HEADER([fcgiapp.h],,[AC_MSG_ERROR([FastCGI header file fcgiapp.h not found!])]) | |
a84fb01b MW |
976 | fi |
977 | ||
6b9290ff MW |
978 | if test x$mysql = xtrue; then |
979 | AC_HAVE_LIBRARY([mysqlclient_r],[LIBS="$LIBS"],[AC_MSG_ERROR([MySQL library mysqlclient_r not found])]) | |
980 | AC_CHECK_HEADER([mysql/mysql.h],,[AC_MSG_ERROR([MySQL header mysql/mysql.h not found!])]) | |
981 | fi | |
f2c2d395 | 982 | |
f8277a83 | 983 | if test x$sqlite = xtrue; then |
6b9290ff MW |
984 | AC_HAVE_LIBRARY([sqlite3],[LIBS="$LIBS"],[AC_MSG_ERROR([SQLite library sqlite3 not found])]) |
985 | AC_CHECK_HEADER([sqlite3.h],,[AC_MSG_ERROR([SQLite header sqlite3.h not found!])]) | |
f8277a83 MW |
986 | AC_MSG_CHECKING([sqlite3_prepare_v2]) |
987 | AC_TRY_COMPILE( | |
988 | [#include <sqlite3.h>], | |
989 | [ | |
990 | void *test = sqlite3_prepare_v2; | |
991 | ], | |
992 | [AC_MSG_RESULT([yes])]; AC_DEFINE_UNQUOTED(HAVE_SQLITE3_PREPARE_V2, 1), [AC_MSG_RESULT([no])]) | |
7da767f7 MW |
993 | AC_MSG_CHECKING([sqlite3.h version >= 3.3.1]) |
994 | AC_TRY_COMPILE( | |
995 | [#include <sqlite3.h>], | |
996 | [ | |
997 | #if SQLITE_VERSION_NUMBER < 3003001 | |
998 | #error bad sqlite | |
999 | #endif | |
1000 | ], | |
1001 | [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); AC_MSG_ERROR([SQLite version >= 3.3.1 required!])]) | |
6b9290ff | 1002 | fi |
f2c2d395 | 1003 | |
17353034 | 1004 | if test x$openssl = xtrue; then |
e581a31d | 1005 | AC_HAVE_LIBRARY([crypto],[LIBS="$LIBS"],[AC_MSG_ERROR([OpenSSL crypto library not found])]) |
17353034 TB |
1006 | AC_CHECK_HEADER([openssl/evp.h],,[AC_MSG_ERROR([OpenSSL header openssl/evp.h not found!])]) |
1007 | fi | |
1008 | ||
61c46386 MW |
1009 | if test x$uci = xtrue; then |
1010 | AC_HAVE_LIBRARY([uci],[LIBS="$LIBS"],[AC_MSG_ERROR([UCI library libuci not found])]) | |
1011 | AC_CHECK_HEADER([uci.h],,[AC_MSG_ERROR([UCI header uci.h not found!])]) | |
1012 | fi | |
1013 | ||
6dbce9c8 MW |
1014 | if test x$nm = xtrue; then |
1015 | PKG_CHECK_MODULES(nm, [NetworkManager libnm_glib_vpn gthread-2.0]) | |
1016 | AC_SUBST(nm_CFLAGS) | |
1017 | AC_SUBST(nm_LIBS) | |
1018 | fi | |
1019 | ||
1caa265c MW |
1020 | if test x$eap_gtc = xtrue; then |
1021 | AC_HAVE_LIBRARY([pam],[LIBS="$LIBS"],[AC_MSG_ERROR([PAM library not found])]) | |
1022 | AC_CHECK_HEADER([security/pam_appl.h],,[AC_MSG_ERROR([PAM header security/pam_appl.h not found!])]) | |
1023 | fi | |
1024 | ||
eb3e2705 MW |
1025 | if test x$capabilities = xlibcap; then |
1026 | AC_HAVE_LIBRARY([cap],[LIBS="$LIBS"],[AC_MSG_ERROR([libcap library not found])]) | |
1027 | AC_CHECK_HEADER([sys/capability.h],,[AC_MSG_ERROR([libcap header sys/capability.h not found!])]) | |
1028 | fi | |
1029 | ||
1ba62b55 MW |
1030 | dnl ====================================== |
1031 | dnl collect all plugins for libstrongswan | |
1032 | dnl ====================================== | |
1033 | ||
1034 | libstrongswan_plugins= | |
de92b9e7 | 1035 | pluto_plugins= |
1ba62b55 MW |
1036 | |
1037 | if test x$curl = xtrue; then | |
29727a44 | 1038 | libstrongswan_plugins=${libstrongswan_plugins}" curl" |
de92b9e7 | 1039 | pluto_plugins=${pluto_plugins}" curl" |
1ba62b55 MW |
1040 | fi |
1041 | if test x$ldap = xtrue; then | |
29727a44 | 1042 | libstrongswan_plugins=${libstrongswan_plugins}" ldap" |
de92b9e7 | 1043 | pluto_plugins=${pluto_plugins}" ldap" |
1ba62b55 MW |
1044 | fi |
1045 | if test x$aes = xtrue; then | |
29727a44 | 1046 | libstrongswan_plugins=${libstrongswan_plugins}" aes" |
d36ae9e3 | 1047 | pluto_plugins=${pluto_plugins}" aes" |
1ba62b55 MW |
1048 | fi |
1049 | if test x$des = xtrue; then | |
29727a44 | 1050 | libstrongswan_plugins=${libstrongswan_plugins}" des" |
d36ae9e3 AS |
1051 | pluto_plugins=${pluto_plugins}" des" |
1052 | fi | |
1053 | if test x$blowfish = xtrue; then | |
1054 | libstrongswan_plugins=${libstrongswan_plugins}" blowfish" | |
1055 | pluto_plugins=${pluto_plugins}" blowfish" | |
1056 | fi | |
1057 | if test x$serpent = xtrue; then | |
1058 | pluto_plugins=${pluto_plugins}" serpent" | |
1059 | fi | |
1060 | if test x$twofish = xtrue; then | |
1061 | pluto_plugins=${pluto_plugins}" twofish" | |
1ba62b55 | 1062 | fi |
1ba62b55 | 1063 | if test x$sha1 = xtrue; then |
29727a44 | 1064 | libstrongswan_plugins=${libstrongswan_plugins}" sha1" |
d36ae9e3 | 1065 | pluto_plugins=${pluto_plugins}" sha1" |
1ba62b55 MW |
1066 | fi |
1067 | if test x$sha2 = xtrue; then | |
29727a44 | 1068 | libstrongswan_plugins=${libstrongswan_plugins}" sha2" |
d36ae9e3 | 1069 | pluto_plugins=${pluto_plugins}" sha2" |
1ba62b55 | 1070 | fi |
1e0d1ae2 AS |
1071 | if test x$md4 = xtrue; then |
1072 | libstrongswan_plugins=${libstrongswan_plugins}" md4" | |
1073 | fi | |
e577ad39 MW |
1074 | if test x$md5 = xtrue; then |
1075 | libstrongswan_plugins=${libstrongswan_plugins}" md5" | |
d36ae9e3 | 1076 | pluto_plugins=${pluto_plugins}" md5" |
e577ad39 | 1077 | fi |
1ba62b55 | 1078 | if test x$fips_prf = xtrue; then |
29727a44 | 1079 | libstrongswan_plugins=${libstrongswan_plugins}" fips-prf" |
1ba62b55 | 1080 | fi |
1ba62b55 | 1081 | if test x$random = xtrue; then |
29727a44 | 1082 | libstrongswan_plugins=${libstrongswan_plugins}" random" |
bc2e33ca | 1083 | pluto_plugins=${pluto_plugins}" random" |
1ba62b55 MW |
1084 | fi |
1085 | if test x$x509 = xtrue; then | |
29727a44 | 1086 | libstrongswan_plugins=${libstrongswan_plugins}" x509" |
1ba62b55 MW |
1087 | fi |
1088 | if test x$pubkey = xtrue; then | |
29727a44 | 1089 | libstrongswan_plugins=${libstrongswan_plugins}" pubkey" |
1ba62b55 | 1090 | fi |
1ba62b55 | 1091 | if test x$xcbc = xtrue; then |
29727a44 | 1092 | libstrongswan_plugins=${libstrongswan_plugins}" xcbc" |
1ba62b55 | 1093 | fi |
e577ad39 MW |
1094 | if test x$hmac = xtrue; then |
1095 | libstrongswan_plugins=${libstrongswan_plugins}" hmac" | |
244dbb06 | 1096 | pluto_plugins=${pluto_plugins}" hmac" |
e577ad39 | 1097 | fi |
1ba62b55 | 1098 | if test x$mysql = xtrue; then |
29727a44 | 1099 | libstrongswan_plugins=${libstrongswan_plugins}" mysql" |
1ba62b55 MW |
1100 | fi |
1101 | if test x$sqlite = xtrue; then | |
29727a44 | 1102 | libstrongswan_plugins=${libstrongswan_plugins}" sqlite" |
1ba62b55 MW |
1103 | fi |
1104 | if test x$padlock = xtrue; then | |
29727a44 | 1105 | libstrongswan_plugins=${libstrongswan_plugins}" padlock" |
1ba62b55 MW |
1106 | fi |
1107 | if test x$openssl = xtrue; then | |
29727a44 | 1108 | libstrongswan_plugins=${libstrongswan_plugins}" openssl" |
13e51a62 | 1109 | pluto_plugins=${pluto_plugins}" openssl" |
1ba62b55 | 1110 | fi |
21c95463 MW |
1111 | if test x$agent = xtrue; then |
1112 | libstrongswan_plugins=${libstrongswan_plugins}" agent" | |
1113 | fi | |
e577ad39 MW |
1114 | if test x$gmp = xtrue; then |
1115 | libstrongswan_plugins=${libstrongswan_plugins}" gmp" | |
96d42f44 | 1116 | pluto_plugins=${pluto_plugins}" gmp" |
e577ad39 | 1117 | fi |
1ba62b55 MW |
1118 | |
1119 | AC_SUBST(libstrongswan_plugins) | |
de92b9e7 | 1120 | AC_SUBST(pluto_plugins) |
1ba62b55 | 1121 | |
6b9290ff MW |
1122 | dnl ========================= |
1123 | dnl set Makefile.am vars | |
1124 | dnl ========================= | |
f2c2d395 | 1125 | |
1ba62b55 MW |
1126 | dnl libstrongswan plugins |
1127 | dnl ===================== | |
6b9290ff MW |
1128 | AM_CONDITIONAL(USE_CURL, test x$curl = xtrue) |
1129 | AM_CONDITIONAL(USE_LDAP, test x$ldap = xtrue) | |
1130 | AM_CONDITIONAL(USE_AES, test x$aes = xtrue) | |
1131 | AM_CONDITIONAL(USE_DES, test x$des = xtrue) | |
d36ae9e3 AS |
1132 | AM_CONDITIONAL(USE_BLOWFISH, test x$blowfish = xtrue) |
1133 | AM_CONDITIONAL(USE_SERPENT, test x$serpent = xtrue) | |
1134 | AM_CONDITIONAL(USE_TWOFISH, test x$twofish = xtrue) | |
1e0d1ae2 | 1135 | AM_CONDITIONAL(USE_MD4, test x$md4 = xtrue) |
6b9290ff MW |
1136 | AM_CONDITIONAL(USE_MD5, test x$md5 = xtrue) |
1137 | AM_CONDITIONAL(USE_SHA1, test x$sha1 = xtrue) | |
1138 | AM_CONDITIONAL(USE_SHA2, test x$sha2 = xtrue) | |
1139 | AM_CONDITIONAL(USE_FIPS_PRF, test x$fips_prf = xtrue) | |
1140 | AM_CONDITIONAL(USE_GMP, test x$gmp = xtrue) | |
6a365f07 | 1141 | AM_CONDITIONAL(USE_RANDOM, test x$random = xtrue) |
6b9290ff | 1142 | AM_CONDITIONAL(USE_X509, test x$x509 = xtrue) |
affd7a90 | 1143 | AM_CONDITIONAL(USE_PUBKEY, test x$pubkey = xtrue) |
6b9290ff | 1144 | AM_CONDITIONAL(USE_HMAC, test x$hmac = xtrue) |
27d04e05 | 1145 | AM_CONDITIONAL(USE_XCBC, test x$xcbc = xtrue) |
6b9290ff MW |
1146 | AM_CONDITIONAL(USE_MYSQL, test x$mysql = xtrue) |
1147 | AM_CONDITIONAL(USE_SQLITE, test x$sqlite = xtrue) | |
1ba62b55 MW |
1148 | AM_CONDITIONAL(USE_PADLOCK, test x$padlock = xtrue) |
1149 | AM_CONDITIONAL(USE_OPENSSL, test x$openssl = xtrue) | |
21c95463 | 1150 | AM_CONDITIONAL(USE_AGENT, test x$agent = xtrue) |
1ba62b55 MW |
1151 | |
1152 | dnl charon plugins | |
1153 | dnl ============== | |
6b9290ff | 1154 | AM_CONDITIONAL(USE_STROKE, test x$stroke = xtrue) |
5b7ec6d4 | 1155 | AM_CONDITIONAL(USE_MEDSRV, test x$medsrv = xtrue) |
782db7ed | 1156 | AM_CONDITIONAL(USE_MEDCLI, test x$medcli = xtrue) |
6dbce9c8 | 1157 | AM_CONDITIONAL(USE_NM, test x$nm = xtrue) |
61c46386 | 1158 | AM_CONDITIONAL(USE_UCI, test x$uci = xtrue) |
6b9290ff MW |
1159 | AM_CONDITIONAL(USE_SMP, test x$smp = xtrue) |
1160 | AM_CONDITIONAL(USE_SQL, test x$sql = xtrue) | |
ad3af574 | 1161 | AM_CONDITIONAL(USE_UPDOWN, test x$updown = xtrue) |
adc25ec2 MW |
1162 | AM_CONDITIONAL(USE_ATTR, test x$attr = xtrue) |
1163 | AM_CONDITIONAL(USE_RESOLV_CONF, test x$resolvconf = xtrue) | |
6b9290ff | 1164 | AM_CONDITIONAL(USE_UNIT_TESTS, test x$unittest = xtrue) |
0fd6e955 | 1165 | AM_CONDITIONAL(USE_LOAD_TESTS, test x$loadtest = xtrue) |
6b9290ff | 1166 | AM_CONDITIONAL(USE_EAP_SIM, test x$eap_sim = xtrue) |
79a87846 | 1167 | AM_CONDITIONAL(USE_EAP_SIM_FILE, test x$eap_sim_file = xtrue) |
6b9290ff MW |
1168 | AM_CONDITIONAL(USE_EAP_IDENTITY, test x$eap_identity = xtrue) |
1169 | AM_CONDITIONAL(USE_EAP_MD5, test x$eap_md5 = xtrue) | |
1caa265c | 1170 | AM_CONDITIONAL(USE_EAP_GTC, test x$eap_gtc = xtrue) |
6b9290ff | 1171 | AM_CONDITIONAL(USE_EAP_AKA, test x$eap_aka = xtrue) |
f98cdf7a | 1172 | AM_CONDITIONAL(USE_EAP_MSCHAPV2, test x$eap_mschapv2 = xtrue) |
4a6b84a9 | 1173 | AM_CONDITIONAL(USE_EAP_RADIUS, test x$eap_radius = xtrue) |
09d7ef26 | 1174 | AM_CONDITIONAL(USE_KERNEL_NETLINK, test x$kernel_netlink = xtrue) |
1adaa02b | 1175 | AM_CONDITIONAL(USE_KERNEL_PFKEY, test x$kernel_pfkey = xtrue) |
ea7e89c7 | 1176 | AM_CONDITIONAL(USE_KERNEL_PFROUTE, test x$kernel_pfroute = xtrue) |
ea625fab | 1177 | AM_CONDITIONAL(USE_KERNEL_KLIPS, test x$kernel_klips = xtrue) |
1ba62b55 MW |
1178 | |
1179 | dnl other options | |
1180 | dnl ============= | |
1181 | AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue) | |
1182 | AM_CONDITIONAL(USE_CISCO_QUIRKS, test x$cisco_quirks = xtrue) | |
1183 | AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue) | |
02140125 | 1184 | AM_CONDITIONAL(USE_LOCK_PROFILER, test x$lock_profiler = xtrue) |
6b9290ff MW |
1185 | AM_CONDITIONAL(USE_NAT_TRANSPORT, test x$nat_transport = xtrue) |
1186 | AM_CONDITIONAL(USE_VENDORID, test x$vendor_id = xtrue) | |
1187 | AM_CONDITIONAL(USE_XAUTH_VID, test x$xauth_vid = xtrue) | |
1188 | AM_CONDITIONAL(USE_DUMM, test x$dumm = xtrue) | |
1189 | AM_CONDITIONAL(USE_FAST, test x$fast = xtrue) | |
1190 | AM_CONDITIONAL(USE_MANAGER, test x$manager = xtrue) | |
1191 | AM_CONDITIONAL(USE_ME, test x$me = xtrue) | |
1192 | AM_CONDITIONAL(USE_INTEGRITY_TEST, test x$integrity_test = xtrue) | |
1193 | AM_CONDITIONAL(USE_SELF_TEST, test x$self_test = xtrue) | |
eb3e2705 | 1194 | AM_CONDITIONAL(USE_CAPABILITIES, test x$capabilities = xlibcap) |
6b9290ff | 1195 | AM_CONDITIONAL(USE_PLUTO, test x$pluto = xtrue) |
6905f794 | 1196 | AM_CONDITIONAL(USE_THREADS, test x$threads = xtrue) |
6b9290ff MW |
1197 | AM_CONDITIONAL(USE_CHARON, test x$charon = xtrue) |
1198 | AM_CONDITIONAL(USE_TOOLS, test x$tools = xtrue) | |
4985ad6e | 1199 | AM_CONDITIONAL(USE_LIBSTRONGSWAN, test x$charon = xtrue -o x$pluto = xtrue -o x$tools = xtrue) |
6b9290ff | 1200 | AM_CONDITIONAL(USE_FILE_CONFIG, test x$pluto = xtrue -o x$stroke = xtrue) |
d25ce370 | 1201 | AM_CONDITIONAL(USE_VSTR, test x$vstr = xtrue) |
f2c2d395 | 1202 | |
9e72d3bc MW |
1203 | dnl ============================== |
1204 | dnl set global definitions | |
1205 | dnl ============================== | |
1206 | ||
1207 | if test x$me = xtrue; then | |
1208 | AC_DEFINE(ME) | |
1209 | fi | |
eb3e2705 MW |
1210 | if test x$capabilities = xlibcap; then |
1211 | AC_DEFINE(CAPABILITIES) | |
1212 | fi | |
9e72d3bc | 1213 | |
f2c2d395 MW |
1214 | dnl ============================== |
1215 | dnl build Makefiles | |
1216 | dnl ============================== | |
1217 | ||
1218 | AC_OUTPUT( | |
1219 | Makefile | |
1220 | src/Makefile | |
04a7b6d8 | 1221 | src/include/Makefile |
f2c2d395 | 1222 | src/libstrongswan/Makefile |
552cc11b MW |
1223 | src/libstrongswan/plugins/aes/Makefile |
1224 | src/libstrongswan/plugins/des/Makefile | |
d36ae9e3 AS |
1225 | src/libstrongswan/plugins/blowfish/Makefile |
1226 | src/libstrongswan/plugins/serpent/Makefile | |
1227 | src/libstrongswan/plugins/twofish/Makefile | |
1e0d1ae2 | 1228 | src/libstrongswan/plugins/md4/Makefile |
552cc11b MW |
1229 | src/libstrongswan/plugins/md5/Makefile |
1230 | src/libstrongswan/plugins/sha1/Makefile | |
1231 | src/libstrongswan/plugins/sha2/Makefile | |
1232 | src/libstrongswan/plugins/fips_prf/Makefile | |
1233 | src/libstrongswan/plugins/gmp/Makefile | |
6a365f07 | 1234 | src/libstrongswan/plugins/random/Makefile |
552cc11b | 1235 | src/libstrongswan/plugins/hmac/Makefile |
27d04e05 | 1236 | src/libstrongswan/plugins/xcbc/Makefile |
552cc11b | 1237 | src/libstrongswan/plugins/x509/Makefile |
affd7a90 | 1238 | src/libstrongswan/plugins/pubkey/Makefile |
552cc11b MW |
1239 | src/libstrongswan/plugins/curl/Makefile |
1240 | src/libstrongswan/plugins/ldap/Makefile | |
1241 | src/libstrongswan/plugins/mysql/Makefile | |
1242 | src/libstrongswan/plugins/sqlite/Makefile | |
36d62fac | 1243 | src/libstrongswan/plugins/padlock/Makefile |
17353034 | 1244 | src/libstrongswan/plugins/openssl/Makefile |
21c95463 | 1245 | src/libstrongswan/plugins/agent/Makefile |
af165431 | 1246 | src/libstrongswan/fips/Makefile |
f2c2d395 MW |
1247 | src/libfreeswan/Makefile |
1248 | src/pluto/Makefile | |
1249 | src/whack/Makefile | |
1250 | src/charon/Makefile | |
552cc11b MW |
1251 | src/charon/plugins/eap_aka/Makefile |
1252 | src/charon/plugins/eap_identity/Makefile | |
1253 | src/charon/plugins/eap_md5/Makefile | |
1caa265c | 1254 | src/charon/plugins/eap_gtc/Makefile |
552cc11b | 1255 | src/charon/plugins/eap_sim/Makefile |
79a87846 | 1256 | src/charon/plugins/eap_sim_file/Makefile |
f98cdf7a | 1257 | src/charon/plugins/eap_mschapv2/Makefile |
4a6b84a9 | 1258 | src/charon/plugins/eap_radius/Makefile |
507f26f6 | 1259 | src/charon/plugins/kernel_netlink/Makefile |
1adaa02b | 1260 | src/charon/plugins/kernel_pfkey/Makefile |
ea7e89c7 | 1261 | src/charon/plugins/kernel_pfroute/Makefile |
ea625fab | 1262 | src/charon/plugins/kernel_klips/Makefile |
6b9290ff | 1263 | src/charon/plugins/smp/Makefile |
552cc11b | 1264 | src/charon/plugins/sql/Makefile |
5b7ec6d4 | 1265 | src/charon/plugins/medsrv/Makefile |
782db7ed | 1266 | src/charon/plugins/medcli/Makefile |
6dbce9c8 | 1267 | src/charon/plugins/nm/Makefile |
61c46386 | 1268 | src/charon/plugins/uci/Makefile |
552cc11b | 1269 | src/charon/plugins/stroke/Makefile |
ad3af574 | 1270 | src/charon/plugins/updown/Makefile |
adc25ec2 MW |
1271 | src/charon/plugins/attr/Makefile |
1272 | src/charon/plugins/resolv_conf/Makefile | |
552cc11b | 1273 | src/charon/plugins/unit_tester/Makefile |
0fd6e955 | 1274 | src/charon/plugins/load_tester/Makefile |
f2c2d395 MW |
1275 | src/stroke/Makefile |
1276 | src/ipsec/Makefile | |
1277 | src/starter/Makefile | |
1278 | src/_updown/Makefile | |
1279 | src/_updown_espmark/Makefile | |
1280 | src/_copyright/Makefile | |
1281 | src/openac/Makefile | |
1282 | src/scepclient/Makefile | |
f2d6355e | 1283 | src/dumm/Makefile |
2d9ce480 | 1284 | src/dumm/ext/extconf.rb |
552cc11b | 1285 | src/libfast/Makefile |
b8c7453a | 1286 | src/manager/Makefile |
9529fb68 | 1287 | src/medsrv/Makefile |
39b7780d | 1288 | scripts/Makefile |
9ee1111d | 1289 | testing/Makefile |
f2c2d395 | 1290 | ) |