]>
Commit | Line | Data |
---|---|---|
6fbf66fa JY |
1 | dnl OpenVPN -- An application to securely tunnel IP networks |
2 | dnl over a single UDP port, with support for SSL/TLS-based | |
3 | dnl session authentication and key exchange, | |
4 | dnl packet encryption, packet authentication, and | |
5 | dnl packet compression. | |
6 | dnl | |
564a2109 | 7 | dnl Copyright (C) 2002-2010 OpenVPN Technologies, Inc. <sales@openvpn.net> |
51bd56f4 | 8 | dnl Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
6fbf66fa JY |
9 | dnl |
10 | dnl This program is free software; you can redistribute it and/or modify | |
11 | dnl it under the terms of the GNU General Public License as published by | |
12 | dnl the Free Software Foundation; either version 2 of the License, or | |
13 | dnl (at your option) any later version. | |
14 | dnl | |
15 | dnl This program is distributed in the hope that it will be useful, | |
16 | dnl but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | dnl GNU General Public License for more details. | |
19 | dnl | |
20 | dnl You should have received a copy of the GNU General Public License | |
21 | dnl along with this program (see the file COPYING included with this | |
22 | dnl distribution); if not, write to the Free Software Foundation, Inc., | |
23 | dnl 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
24 | ||
25 | dnl Process this file with autoconf to produce a configure script. | |
26 | ||
51bd56f4 | 27 | AC_PREREQ(2.59) |
6fbf66fa | 28 | |
ce351583 | 29 | m4_include(version.m4) |
51bd56f4 ABL |
30 | AC_INIT([PRODUCT_NAME], [PRODUCT_VERSION], [PRODUCT_BUGREPORT], [PRODUCT_TARNAME]) |
31 | m4_include(compat.m4) | |
98bc1a3e ABL |
32 | AC_DEFINE([OPENVPN_VERSION_RESOURCE], [PRODUCT_VERSION_RESOURCE], [Version in windows resource format]) |
33 | ||
51bd56f4 ABL |
34 | AC_CONFIG_AUX_DIR([.]) |
35 | AM_CONFIG_HEADER([config.h]) | |
34cb9132 | 36 | AC_CONFIG_SRCDIR([src/openvpn/syshead.h]) |
0fc5b8b3 | 37 | AC_CONFIG_MACRO_DIR([m4]) |
51bd56f4 ABL |
38 | AM_INIT_AUTOMAKE |
39 | AC_CANONICAL_HOST | |
40 | AC_USE_SYSTEM_EXTENSIONS | |
6fbf66fa | 41 | |
51bd56f4 ABL |
42 | AC_ARG_ENABLE( |
43 | [lzo], | |
44 | [AS_HELP_STRING([--disable-lzo], [disable LZO compression support])], | |
45 | , | |
46 | [enable_lzo="yes"] | |
6c34e74f JY |
47 | ) |
48 | ||
51bd56f4 ABL |
49 | AC_ARG_ENABLE( |
50 | [lzo-stub], | |
51 | [AS_HELP_STRING([--enable-lzo-stub], [don't compile LZO compression support but still allow limited interoperability with LZO-enabled peers])], | |
52 | , | |
53 | [enable_lzo_stub="no"] | |
6fbf66fa JY |
54 | ) |
55 | ||
51bd56f4 ABL |
56 | AC_ARG_ENABLE( |
57 | [crypto], | |
58 | [AS_HELP_STRING([--disable-crypto], [disable crypto support])], | |
59 | , | |
60 | [enable_crypto="yes"] | |
6fbf66fa JY |
61 | ) |
62 | ||
51bd56f4 ABL |
63 | AC_ARG_ENABLE( |
64 | [ssl], | |
65 | [AS_HELP_STRING([--disable-ssl], [disable SSL support for TLS-based key exchange])], | |
66 | , | |
67 | [enable_ssl="yes"] | |
fbd18db6 DS |
68 | ) |
69 | ||
51bd56f4 ABL |
70 | AC_ARG_ENABLE( |
71 | [x509-alt-username], | |
72 | [AS_HELP_STRING([--enable-x509-alt-username], [enable the --x509-username-field feature])], | |
73 | , | |
74 | [enable_x509_alt_username="no"] | |
6fbf66fa JY |
75 | ) |
76 | ||
51bd56f4 ABL |
77 | AC_ARG_ENABLE( |
78 | [multi], | |
79 | [AS_HELP_STRING([--disable-multi], [disable client/server support (--mode server + client mode)])], | |
80 | , | |
81 | [enable_multi="yes"] | |
6fbf66fa JY |
82 | ) |
83 | ||
51bd56f4 ABL |
84 | AC_ARG_ENABLE( |
85 | [server], | |
86 | [AS_HELP_STRING([--disable-server], [disable server support only (but retain client support)])], | |
87 | , | |
88 | [enable_server="yes"] | |
6fbf66fa JY |
89 | ) |
90 | ||
51bd56f4 ABL |
91 | AC_ARG_ENABLE( |
92 | [plugins], | |
93 | [AS_HELP_STRING([--disable-plugins], [disable plug-in support])], | |
94 | , | |
95 | [enable_plugins="yes"] | |
0c1f7ad5 DS |
96 | ) |
97 | ||
51bd56f4 ABL |
98 | AC_ARG_ENABLE( |
99 | [eurephia], | |
100 | [AS_HELP_STRING([--disable-eurephia], [disable support for the eurephia plug-in])], | |
101 | , | |
102 | [enable_eurephia="yes"] | |
6fbf66fa JY |
103 | ) |
104 | ||
51bd56f4 ABL |
105 | AC_ARG_ENABLE( |
106 | [management], | |
107 | [AS_HELP_STRING([--disable-management], [disable management server support])], | |
108 | , | |
109 | [enable_management="yes"] | |
ce98fd24 JY |
110 | ) |
111 | ||
51bd56f4 ABL |
112 | AC_ARG_ENABLE( |
113 | [pkcs11], | |
114 | [AS_HELP_STRING([--disable-pkcs11], [disable pkcs11 support])], | |
115 | , | |
116 | [enable_pkcs11="yes"] | |
6fbf66fa JY |
117 | ) |
118 | ||
51bd56f4 ABL |
119 | AC_ARG_ENABLE( |
120 | [socks], | |
121 | [AS_HELP_STRING([--disable-socks], [disable Socks support])], | |
122 | , | |
123 | [enable_socks="yes"] | |
6fbf66fa JY |
124 | ) |
125 | ||
51bd56f4 ABL |
126 | AC_ARG_ENABLE( |
127 | [http-proxy], | |
128 | [AS_HELP_STRING([--disable-http-proxy], [disable HTTP proxy support])], | |
129 | , | |
130 | [enable_http_proxy="yes"] | |
6fbf66fa JY |
131 | ) |
132 | ||
51bd56f4 ABL |
133 | AC_ARG_ENABLE( |
134 | [fragment], | |
135 | [AS_HELP_STRING([--disable-fragment], [disable internal fragmentation support (--fragment)])], | |
136 | , | |
137 | [enable_fragment="yes"] | |
8bc93d7f JY |
138 | ) |
139 | ||
51bd56f4 ABL |
140 | AC_ARG_ENABLE( |
141 | [multihome], | |
142 | [AS_HELP_STRING([--disable-multihome], [disable multi-homed UDP server support (--multihome)])], | |
143 | , | |
144 | [enable_multihome="yes"] | |
6add6b2f JY |
145 | ) |
146 | ||
51bd56f4 ABL |
147 | AC_ARG_ENABLE( |
148 | [port-share], | |
149 | [AS_HELP_STRING([--disable-port-share], [disable TCP server port-share support (--port-share)])], | |
150 | , | |
151 | [enable_port_share="yes"] | |
6fbf66fa JY |
152 | ) |
153 | ||
51bd56f4 ABL |
154 | AC_ARG_ENABLE( |
155 | [debug], | |
156 | [AS_HELP_STRING([--disable-debug], [disable debugging support (disable gremlin and verb 7+ messages)])], | |
157 | , | |
158 | [enable_debug="yes"] | |
6fbf66fa JY |
159 | ) |
160 | ||
51bd56f4 ABL |
161 | AC_ARG_ENABLE( |
162 | [small], | |
163 | [AS_HELP_STRING([--enable-small], [enable smaller executable size (disable OCC, usage message, and verb 4 parm list)])], | |
164 | , | |
165 | [enable_small="no"] | |
6fbf66fa JY |
166 | ) |
167 | ||
51bd56f4 ABL |
168 | AC_ARG_ENABLE( |
169 | [password-save], | |
170 | [AS_HELP_STRING([--enable-password-save], [allow --askpass and --auth-user-pass passwords to be read from a file])], | |
171 | [enable_password_save="no"] | |
6fbf66fa JY |
172 | ) |
173 | ||
51bd56f4 ABL |
174 | AC_ARG_ENABLE( |
175 | [iproute2], | |
176 | [AS_HELP_STRING([--enable-iproute2], [enable support for iproute2])], | |
177 | , | |
178 | [enable_iproute2="no"] | |
fb7aa54a JY |
179 | ) |
180 | ||
51bd56f4 ABL |
181 | AC_ARG_ENABLE( |
182 | [def-auth], | |
183 | [AS_HELP_STRING([--disable-def-auth], [disable deferred authentication])], | |
184 | , | |
185 | [enable_def_auth="yes"] | |
fb7aa54a JY |
186 | ) |
187 | ||
51bd56f4 ABL |
188 | AC_ARG_ENABLE( |
189 | [pf], | |
190 | [AS_HELP_STRING([--disable-pf], [disable internal packet filter])], | |
191 | , | |
192 | [enable_pf="yes"] | |
6fbf66fa JY |
193 | ) |
194 | ||
51bd56f4 ABL |
195 | AC_ARG_ENABLE( |
196 | [strict], | |
197 | [AS_HELP_STRING([--enable-strict], [enable strict compiler warnings (debugging option)])], | |
198 | , | |
199 | [enable_strict="no"] | |
6fbf66fa JY |
200 | ) |
201 | ||
51bd56f4 ABL |
202 | AC_ARG_ENABLE( |
203 | [pedantic], | |
204 | [AS_HELP_STRING([--enable-pedantic], [enable pedantic compiler warnings, will not generate a working executable (debugging option)])], | |
205 | , | |
206 | [enable_pedantic="no"] | |
6fbf66fa JY |
207 | ) |
208 | ||
51bd56f4 ABL |
209 | AC_ARG_ENABLE( |
210 | [strict-options], | |
211 | [AS_HELP_STRING([--enable-strict-options], [enable strict options check between peers (debugging option)])], | |
212 | , | |
213 | [enable_strict_options="no"] | |
6fbf66fa JY |
214 | ) |
215 | ||
51bd56f4 ABL |
216 | AC_ARG_ENABLE( |
217 | [selinux], | |
218 | [AS_HELP_STRING([--disable-selinux], [disable SELinux support])], | |
219 | , | |
220 | [enable_selinux="no"] | |
99385447 JY |
221 | ) |
222 | ||
51bd56f4 ABL |
223 | AC_ARG_ENABLE( |
224 | [systemd], | |
225 | [AS_HELP_STRING([--enable-systemd], [enable systemd suppport])], | |
226 | , | |
227 | [enable_systemd="no"] | |
9449e6a9 FC |
228 | ) |
229 | ||
51bd56f4 ABL |
230 | AC_ARG_WITH( |
231 | [ssl-headers], | |
232 | [AS_HELP_STRING([--with-ssl-headers=DIR], [Crypto/SSL Include files location])], | |
233 | [CS_HDR_DIR="$withval"] | |
234 | [CPPFLAGS="$CPPFLAGS -I$withval"] | |
6fbf66fa JY |
235 | ) |
236 | ||
51bd56f4 ABL |
237 | AC_ARG_WITH( |
238 | [ssl-lib], | |
239 | [AS_HELP_STRING([--with-ssl-lib=DIR], [Crypto/SSL Library location])], | |
240 | [LDFLAGS="$LDFLAGS -L$withval"] | |
6fbf66fa JY |
241 | ) |
242 | ||
51bd56f4 ABL |
243 | AC_ARG_WITH( |
244 | [lzo-headers], | |
245 | [AS_HELP_STRING([--with-lzo-headers=DIR], [LZO Include files location])], | |
246 | [LZO_HDR_DIR="$withval"] | |
247 | [CPPFLAGS="$CPPFLAGS -I$withval"] | |
6fbf66fa JY |
248 | ) |
249 | ||
51bd56f4 ABL |
250 | AC_ARG_WITH( |
251 | [lzo-lib], | |
252 | [AS_HELP_STRING([--with-lzo-lib=DIR], [LZO Library location])], | |
253 | [LDFLAGS="$LDFLAGS -L$withval"] | |
6fbf66fa JY |
254 | ) |
255 | ||
51bd56f4 ABL |
256 | AC_ARG_WITH( |
257 | [pkcs11-helper-headers], | |
258 | [AS_HELP_STRING([--with-pkcs11-helper-headers=DIR], [pkcs11-helper Include files location])], | |
259 | [PKCS11_HELPER_HDR_DIR="$withval"] | |
260 | [CPPFLAGS="$CPPFLAGS -I$withval"] | |
1bda73a7 JY |
261 | ) |
262 | ||
51bd56f4 ABL |
263 | AC_ARG_WITH( |
264 | [pkcs11-helper-lib], | |
265 | [AS_HELP_STRING([--with-pkcs11-helper-lib=DIR], [pkcs11-helper Library location])], | |
266 | [LDFLAGS="$LDFLAGS -L$withval"] | |
1bda73a7 JY |
267 | ) |
268 | ||
51bd56f4 ABL |
269 | AC_ARG_WITH( |
270 | [ifconfig-path], | |
271 | [AS_HELP_STRING([--with-ifconfig-path=PATH], [Path to ifconfig tool])], | |
272 | [IFCONFIG="$withval"], | |
273 | [AC_PATH_PROG([IFCONFIG], [ifconfig], [ifconfig], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])] | |
6fbf66fa | 274 | ) |
51bd56f4 | 275 | AC_DEFINE_UNQUOTED([IFCONFIG_PATH], ["$IFCONFIG"], [Path to ifconfig tool]) |
6fbf66fa | 276 | |
51bd56f4 ABL |
277 | AC_ARG_WITH( |
278 | [iproute-path], | |
279 | [AS_HELP_STRING([--with-iproute-path=PATH], [Path to iproute tool])], | |
280 | [IPROUTE="$withval"], | |
281 | [AC_PATH_PROG([IPROUTE], [ip], [ip], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])] | |
6fbf66fa | 282 | ) |
51bd56f4 | 283 | AC_DEFINE_UNQUOTED([IPROUTE_PATH], ["$IPROUTE"], [Path to iproute tool]) |
6fbf66fa | 284 | |
51bd56f4 ABL |
285 | AC_ARG_WITH([route-path], |
286 | [AS_HELP_STRING([--with-route-path=PATH], [Path to route tool])], | |
6fbf66fa JY |
287 | [ROUTE="$withval"], |
288 | [AC_PATH_PROG([ROUTE], [route], [route], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])] | |
289 | ) | |
51bd56f4 | 290 | AC_DEFINE_UNQUOTED([ROUTE_PATH], ["$ROUTE"], [Path to route tool]) |
6fbf66fa | 291 | |
51bd56f4 ABL |
292 | AC_ARG_WITH( |
293 | [netstat-path], | |
294 | [AS_HELP_STRING([--with-netstat-path=PATH], [Path to netstat tool])], | |
295 | [NETSTAT="$withval"], | |
296 | [AC_PATH_PROG([NETSTAT], [netstat], [netstat], [$PATH:/usr/local/sbin:/usr/sbin:/sbin:/etc])] | |
5086d75d | 297 | ) |
51bd56f4 | 298 | AC_DEFINE_UNQUOTED([NETSTAT_PATH], ["$NETSTAT"], [Path to netstat tool]) |
5086d75d | 299 | |
51bd56f4 ABL |
300 | AC_ARG_WITH( |
301 | [mem-check], | |
302 | [AS_HELP_STRING([--with-mem-check=TYPE], [build with debug memory checking, TYPE=dmalloc|valgrind|ssl])], | |
303 | [ | |
304 | case "${withval}" in | |
305 | dmalloc|valgrind|ssl|no) ;; | |
306 | *) AC_MSG_ERROR([bad value ${withval} for --mem-check]) ;; | |
307 | esac | |
308 | ], | |
309 | [with_mem_check="no"] | |
6fbf66fa JY |
310 | ) |
311 | ||
51bd56f4 ABL |
312 | AC_ARG_WITH( |
313 | [ssl-type], | |
314 | [AS_HELP_STRING([--with-ssl-type=TYPE], [build with the given SSL library, TYPE = openssl or polarssl])], | |
315 | [ | |
316 | case "${withval}" in | |
317 | openssl|polarssl) ;; | |
318 | *) AC_MSG_ERROR([bad value ${withval} for --with-ssl-type]) ;; | |
319 | esac | |
320 | ], | |
321 | [with_ssl_type="openssl"] | |
0a180174 | 322 | ) |
0a180174 | 323 | |
51bd56f4 | 324 | AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${host}", [A string representing our host]) |
86715242 | 325 | case "$host" in |
51bd56f4 ABL |
326 | *-*-linux*) |
327 | AC_DEFINE([TARGET_LINUX], [1], [Are we running on Linux?]) | |
328 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["L"], [Target prefix]) | |
329 | ;; | |
330 | *-*-solaris*) | |
331 | AC_DEFINE([TARGET_SOLARIS], [1], [Are we running on Solaris?]) | |
332 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["S"], [Target prefix]) | |
333 | ;; | |
334 | *-*-openbsd*) | |
335 | AC_DEFINE([TARGET_OPENBSD], [1], [Are we running on OpenBSD?]) | |
336 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["O"], [Target prefix]) | |
337 | ;; | |
338 | *-*-freebsd*) | |
339 | AC_DEFINE([TARGET_FREEBSD], [1], [Are we running on FreeBSD?]) | |
340 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["F"], [Target prefix]) | |
341 | ;; | |
342 | *-*-netbsd*) | |
343 | AC_DEFINE([TARGET_NETBSD], [1], [Are we running NetBSD?]) | |
344 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["N"], [Target prefix]) | |
345 | ;; | |
346 | *-*-darwin*) | |
347 | AC_DEFINE([TARGET_DARWIN], [1], [Are we running on Mac OS X?]) | |
348 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["M"], [Target prefix]) | |
349 | dnl some Mac OS X tendering (we use vararg macros...) | |
350 | CPPFLAGS="$CPPFLAGS -no-cpp-precomp" | |
351 | ;; | |
352 | *-mingw*) | |
353 | AC_DEFINE([TARGET_WIN32], [1], [Are we running WIN32?]) | |
354 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["W"], [Target prefix]) | |
355 | CPPFLAGS="${CPPFLAGS} -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501" | |
356 | WIN32=yes | |
51bd56f4 ABL |
357 | ;; |
358 | *-*-dragonfly*) | |
359 | AC_DEFINE([TARGET_DRAGONFLY], [1], [Are we running on DragonFlyBSD?]) | |
360 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["D"], [Target prefix]) | |
361 | ;; | |
362 | *) | |
363 | AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["X"], [Target prefix]) | |
364 | ;; | |
6fbf66fa JY |
365 | esac |
366 | ||
51bd56f4 ABL |
367 | PKG_PROG_PKG_CONFIG |
368 | AC_PROG_CPP | |
6fbf66fa | 369 | AC_PROG_INSTALL |
51bd56f4 ABL |
370 | AC_PROG_LN_S |
371 | AC_PROG_MAKE_SET | |
6fbf66fa | 372 | |
98bc1a3e ABL |
373 | # |
374 | # Libtool | |
375 | # | |
376 | ifdef( | |
377 | [LT_INIT], | |
378 | [ | |
379 | LT_INIT([win32-dll]) | |
380 | LT_LANG([Windows Resource]) | |
381 | ], | |
382 | [ | |
383 | AC_LIBTOOL_WIN32_DLL | |
384 | AC_LIBTOOL_RC | |
385 | AC_PROG_LIBTOOL | |
386 | ] | |
387 | ) | |
388 | ||
1bda73a7 JY |
389 | if test "${WIN32}" = "yes"; then |
390 | AC_ARG_VAR([MAN2HTML], [man2html utility]) | |
391 | AC_CHECK_PROGS([MAN2HTML], [man2html]) | |
392 | test -z "${MAN2HTML}" && AC_MSG_ERROR([man2html is required for win32]) | |
393 | fi | |
394 | ||
6fbf66fa JY |
395 | AC_C_CONST |
396 | AC_C_INLINE | |
397 | AC_C_VOLATILE | |
398 | AC_TYPE_OFF_T | |
399 | AC_TYPE_PID_T | |
400 | AC_TYPE_SIZE_T | |
401 | AC_TYPE_UID_T | |
51bd56f4 ABL |
402 | AC_TYPE_INT8_T |
403 | AC_TYPE_INT16_T | |
404 | AC_TYPE_INT32_T | |
405 | AC_TYPE_INT64_T | |
406 | AC_TYPE_UINT8_T | |
407 | AC_TYPE_UINT16_T | |
408 | AC_TYPE_UINT32_T | |
409 | AC_TYPE_UINT64_T | |
410 | AC_TYPE_SIGNAL | |
6fbf66fa JY |
411 | AX_CPP_VARARG_MACRO_ISO |
412 | AX_CPP_VARARG_MACRO_GCC | |
0dbd45db | 413 | AX_TYPE_SOCKLEN_T |
6fbf66fa | 414 | AX_EMPTY_ARRAY |
51bd56f4 ABL |
415 | AC_CHECK_SIZEOF([unsigned int]) |
416 | AC_CHECK_SIZEOF([unsigned long]) | |
417 | AC_CHECK_HEADERS([ \ | |
418 | stdio.h stdarg.h \ | |
419 | time.h errno.h fcntl.h io.h direct.h \ | |
420 | ctype.h sys/types.h sys/socket.h \ | |
421 | signal.h unistd.h \ | |
422 | netinet/in.h netinet/in_systm.h \ | |
423 | netinet/tcp.h arpa/inet.h netdb.h \ | |
424 | windows.h winsock2.h ws2tcpip.h \ | |
425 | ]) | |
6fbf66fa | 426 | |
51bd56f4 ABL |
427 | SOCKET_INCLUDES=" |
428 | #ifdef HAVE_STDLIB_H | |
429 | #include <stdlib.h> | |
430 | #endif | |
431 | #ifdef HAVE_SYS_TYPES_H | |
432 | #include <sys/types.h> | |
433 | #endif | |
434 | #ifdef HAVE_SYS_SOCKET_H | |
435 | #include <sys/socket.h> | |
436 | #endif | |
437 | #ifdef HAVE_NETINET_IN_H | |
438 | #include <netinet/in.h> | |
439 | #endif | |
440 | #ifdef HAVE_WINDOWS_H | |
441 | #include <windows.h> | |
442 | #endif | |
443 | #ifdef HAVE_WINSOCK2_H | |
444 | #include <winsock2.h> | |
445 | #endif | |
446 | #ifdef HAVE_WS2TCPIP_H | |
447 | #include <ws2tcpip.h> | |
448 | #endif | |
449 | " | |
1bda73a7 JY |
450 | |
451 | if test "${WIN32}" != "yes"; then | |
51bd56f4 ABL |
452 | AC_CHECK_HEADERS([ \ |
453 | sys/time.h sys/un.h sys/ioctl.h sys/stat.h \ | |
454 | sys/mman.h sys/file.h \ | |
455 | syslog.h pwd.h grp.h \ | |
456 | net/if_tun.h net/tun/if_tun.h stropts.h \ | |
457 | sys/sockio.h \ | |
458 | sys/uio.h linux/if_tun.h linux/sockios.h \ | |
459 | linux/types.h sys/poll.h sys/epoll.h err.h \ | |
6fbf66fa | 460 | ]) |
51bd56f4 ABL |
461 | AC_CHECK_HEADERS( |
462 | [net/if.h netinet/ip.h netinet/if_ether.h resolv.h], | |
463 | , | |
464 | , | |
465 | [[${SOCKET_INCLUDES}]] | |
466 | ) | |
467 | ||
468 | AC_CHECK_DECLS( | |
469 | [SO_MARK], | |
470 | , | |
471 | , | |
472 | [[${SOCKET_INCLUDES}]] | |
473 | ) | |
474 | ||
475 | AC_SEARCH_LIBS([socket], [socket]) | |
476 | AC_SEARCH_LIBS([inet_ntoa], [nsl]) | |
477 | AC_SEARCH_LIBS([gethostbyname], [resolv nsl]) | |
478 | AC_FUNC_FORK | |
1bda73a7 JY |
479 | fi |
480 | ||
51bd56f4 ABL |
481 | dnl We emulate signals in Windows |
482 | AC_CHECK_DECLS( | |
483 | [SIGHUP], | |
484 | , | |
485 | [AC_DEFINE([SIGHUP], [1], [SIGHUP replacement])], | |
486 | [[ | |
487 | #ifdef HAVE_SIGNAL_H | |
488 | #include <signal.h> | |
489 | #endif | |
490 | ]] | |
491 | ) | |
492 | AC_CHECK_DECLS( | |
493 | [SIGINT], | |
494 | , | |
495 | [AC_DEFINE([SIGINT], [2], [SIGINT replacement])], | |
496 | [[ | |
497 | #ifdef HAVE_SIGNAL_H | |
498 | #include <signal.h> | |
499 | #endif | |
500 | ]] | |
501 | ) | |
502 | AC_CHECK_DECLS( | |
503 | [SIGUSR1], | |
504 | , | |
505 | [AC_DEFINE([SIGUSR1], [10], [SIGUSR1 replacement])], | |
506 | [[ | |
507 | #ifdef HAVE_SIGNAL_H | |
508 | #include <signal.h> | |
509 | #endif | |
510 | ]] | |
511 | ) | |
512 | AC_CHECK_DECLS( | |
513 | [SIGUSR2], | |
514 | , | |
515 | [AC_DEFINE([SIGUSR2], [12], [SIGUSR2 replacement])], | |
516 | [[ | |
517 | #ifdef HAVE_SIGNAL_H | |
518 | #include <signal.h> | |
519 | #endif | |
520 | ]] | |
521 | ) | |
522 | AC_CHECK_DECLS( | |
523 | [SIGTERM], | |
524 | , | |
525 | [AC_DEFINE([SIGTERM], [15], [SIGTERM replacement])], | |
526 | [[ | |
527 | #ifdef HAVE_SIGNAL_H | |
528 | #include <signal.h> | |
529 | #endif | |
530 | ]] | |
531 | ) | |
532 | ||
533 | AC_CHECK_TYPES( | |
6fbf66fa | 534 | [in_addr_t], |
51bd56f4 ABL |
535 | , |
536 | [AC_DEFINE([in_addr_t], [uint32_t], [Workaround missing in_addr_t])], | |
537 | [[${SOCKET_INCLUDES}]] | |
538 | ) | |
6fbf66fa JY |
539 | |
540 | dnl check for IPv6 types | |
541 | AC_CHECK_TYPE( | |
542 | [struct tun_pi], | |
543 | [AC_DEFINE(HAVE_TUN_PI, 1, [struct tun_pi needed for IPv6 support])], | |
51bd56f4 ABL |
544 | , |
545 | [[${SOCKET_INCLUDES}]] | |
546 | ) | |
6fbf66fa JY |
547 | AC_CHECK_TYPE( |
548 | [struct iphdr], | |
549 | [AC_DEFINE(HAVE_IPHDR, 1, [struct iphdr needed for IPv6 support])], | |
51bd56f4 ABL |
550 | , |
551 | [[${SOCKET_INCLUDES}]] | |
552 | ) | |
6fbf66fa JY |
553 | AC_CHECK_TYPE( |
554 | [struct sock_extended_err], | |
555 | [AC_DEFINE(HAVE_SOCK_EXTENDED_ERR, 1, [struct sock_extended_err needed for extended socket error support])], | |
51bd56f4 ABL |
556 | , |
557 | [[${SOCKET_INCLUDES}]] | |
558 | ) | |
6fbf66fa JY |
559 | AC_CHECK_TYPE( |
560 | [struct msghdr], | |
561 | [AC_DEFINE(HAVE_MSGHDR, 1, [struct msghdr needed for extended socket error support])], | |
51bd56f4 ABL |
562 | , |
563 | [[${SOCKET_INCLUDES}]] | |
564 | ) | |
6fbf66fa JY |
565 | AC_CHECK_TYPE( |
566 | [struct cmsghdr], | |
567 | [AC_DEFINE(HAVE_CMSGHDR, 1, [struct cmsghdr needed for extended socket error support])], | |
51bd56f4 ABL |
568 | , |
569 | [[${SOCKET_INCLUDES}]] | |
570 | ) | |
8bc93d7f JY |
571 | AC_CHECK_TYPE( |
572 | [struct in_pktinfo], | |
573 | [AC_DEFINE(HAVE_IN_PKTINFO, 1, [struct in_pktinfo needed for IP_PKTINFO support])], | |
51bd56f4 ABL |
574 | , |
575 | [[${SOCKET_INCLUDES}]] | |
576 | ) | |
577 | AC_CHECK_TYPE( | |
578 | [struct sockaddr_in6], | |
579 | , | |
580 | [AC_MSG_ERROR([struct sockaddr_in6 not found, needed for ipv6 transport support.])], | |
581 | [[${SOCKET_INCLUDES}]] | |
582 | ) | |
583 | ||
584 | AC_CHECK_FUNCS( | |
585 | [ctime memset vsnprintf strdup], | |
586 | , | |
587 | [AC_MSG_ERROR([Required library function not found])] | |
588 | ) | |
589 | AC_CHECK_FUNCS([ \ | |
590 | daemon chroot getpwnam setuid nice system getpid dup dup2 \ | |
591 | getpass strerror syslog openlog mlockall getgrnam setgid \ | |
592 | setgroups stat flock readv writev time gettimeofday \ | |
593 | setsid chdir putenv getpeername unlink \ | |
594 | chsize ftruncate execve getpeereid umask basename dirname access \ | |
595 | epoll_create \ | |
596 | ]) | |
597 | AC_CHECK_FUNCS([sendmsg recvmsg]) | |
598 | AC_CHECK_FUNCS( | |
599 | [res_init], | |
600 | , | |
601 | , | |
602 | [[#include <resolv.h>]] | |
603 | ) | |
0eb2ee14 JY |
604 | |
605 | # Windows use stdcall for winsock so we cannot auto detect these | |
51bd56f4 ABL |
606 | m4_define( |
607 | [SOCKET_FUNCS], | |
608 | [socket recv recvfrom send sendto listen dnl | |
609 | accept connect bind select gethostbyname inet_ntoa]dnl | |
610 | ) | |
611 | m4_define( | |
612 | [SOCKET_OPT_FUNCS], | |
613 | [setsockopt getsockopt getsockname poll]dnl | |
614 | ) | |
1bda73a7 | 615 | if test "${WIN32}" = "yes"; then |
1bda73a7 | 616 | AC_DEFINE([HAVE_GETTIMEOFDAY], [1], [We fake gettimeofday for win32 at otime.c]) |
51bd56f4 ABL |
617 | m4_foreach( |
618 | [F], | |
619 | m4_split(SOCKET_FUNCS SOCKET_OPT_FUNCS), | |
620 | m4_define([UF], [[m4_join([_], [HAVE], m4_toupper(F))]]) | |
621 | AC_DEFINE([UF], [1], [Win32 builtin]) | |
622 | ) | |
1bda73a7 | 623 | else |
51bd56f4 ABL |
624 | AC_CHECK_FUNCS( |
625 | SOCKET_FUNCS, | |
626 | , | |
627 | [AC_MSG_ERROR([Required library function not found])] | |
628 | ) | |
629 | AC_CHECK_FUNCS(SOCKET_OPT_FUNCS) | |
630 | fi | |
631 | ||
632 | case "${with_mem_check}" in | |
633 | valgrind) | |
634 | AC_CHECK_HEADER( | |
635 | [valgrind/memcheck.h], | |
636 | [ | |
637 | CFLAGS="${CFLAGS} -g -fno-inline" | |
638 | AC_DEFINE( | |
639 | [USE_VALGRIND], | |
640 | [1], | |
641 | [Use valgrind memory debugging library] | |
642 | ) | |
643 | ], | |
644 | [AC_MSG_ERROR([valgrind headers not found.])] | |
645 | ) | |
646 | ;; | |
647 | dmalloc) | |
648 | AC_CHECK_HEADER( | |
649 | [dmalloc.h], | |
650 | [AC_CHECK_LIB( | |
651 | [dmalloc], | |
652 | [malloc], | |
653 | [ | |
e02570fd | 654 | LIBS="${LIBS} -ldmalloc" |
51bd56f4 ABL |
655 | AC_DEFINE( |
656 | [DMALLOC], | |
657 | [1], | |
658 | [Use dmalloc memory debugging library] | |
659 | ) | |
660 | ], | |
661 | [AC_MSG_ERROR([dmalloc library not found.])] | |
662 | )], | |
663 | [AC_MSG_ERROR([dmalloc headers not found.])] | |
664 | ) | |
665 | ;; | |
666 | ssl) | |
667 | AC_CHECK_LIB( | |
668 | [ssl], | |
669 | [CRYPTO_mem_ctrl], | |
670 | [ | |
671 | AC_DEFINE( | |
672 | [CRYPTO_MDEBUG], | |
673 | [1], | |
674 | [Use memory debugging function in OpenSSL] | |
675 | ) | |
676 | AC_MSG_NOTICE([NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG]) | |
677 | ], | |
678 | [AC_MSG_ERROR([Memory Debugging function in OpenSSL library not found.])] | |
679 | ) | |
680 | ;; | |
681 | esac | |
6fbf66fa JY |
682 | |
683 | dnl | |
684 | dnl Check for dlopen -- first try libc then libdl. | |
685 | dnl | |
51bd56f4 ABL |
686 | if test "${WIN32}" != "yes" -a "${enable_plugins}" = "yes"; then |
687 | AC_CHECK_HEADER( | |
688 | [dlfcn.h], | |
689 | [AC_CHECK_FUNC( | |
690 | [dlopen], | |
691 | [AC_DEFINE(USE_LIBDL, 1, [Use libdl for dynamic library loading])], | |
692 | [AC_CHECK_LIB( | |
693 | [dl], | |
694 | [dlopen], | |
695 | [ | |
e02570fd | 696 | LIBS="${LIBS} -ldl" |
51bd56f4 ABL |
697 | AC_DEFINE(USE_LIBDL, 1, [Use libdl for dynamic library loading]) |
698 | ], | |
699 | [AC_MSG_RESULT([libdl library not found.])] | |
700 | )], | |
701 | )], | |
702 | ) | |
703 | if test "${enable_eurephia}" = "yes"; then | |
704 | AC_DEFINE([ENABLE_EUREPHIA], [1], [Enable support for the eurephia plug-in]) | |
705 | fi | |
6fbf66fa JY |
706 | fi |
707 | ||
47ae8457 JY |
708 | dnl |
709 | dnl Check if LoadLibrary exists on Windows | |
710 | dnl | |
fc71b7c9 | 711 | if test "${WIN32}" = "yes"; then |
51bd56f4 | 712 | AC_DEFINE(USE_LOAD_LIBRARY, 1, [Use LoadLibrary to load DLLs on Windows]) |
47ae8457 JY |
713 | fi |
714 | ||
6fbf66fa JY |
715 | dnl |
716 | dnl check for LZO library | |
717 | dnl | |
51bd56f4 | 718 | if test "${enable_lzo}" = "yes" && test "${enable_lzo_stub}" = "no"; then |
6fbf66fa JY |
719 | LZO_H="" |
720 | AC_CHECKING([for LZO Library and Header files]) | |
721 | AC_CHECK_HEADER(lzo/lzo1x.h, | |
722 | [ LZO_H="2" | |
723 | lzolibs="lzo2 lzo" | |
724 | AC_DEFINE(LZO_HEADER_DIR, 1, [Use lzo/ directory prefix for LZO header files (for LZO 2.0)]) | |
725 | ], | |
726 | [ AC_CHECK_HEADER(lzo1x.h, [ LZO_H="1" ; lzolibs=lzo ]) ] | |
727 | ) | |
728 | ||
729 | if test -n "$LZO_H"; then | |
730 | havelzolib=0 | |
731 | for i in $lzolibs ; do | |
732 | if test $havelzolib = 1 ; then break ; fi | |
733 | AC_CHECK_LIB($i, lzo1x_1_15_compress, | |
734 | [ | |
e02570fd | 735 | LIBS="${LIBS} -l$i" |
6fbf66fa | 736 | AC_DEFINE(USE_LZO, 1, [Use LZO compression library]) |
3c7f2f55 | 737 | AC_DEFINE_UNQUOTED(LZO_VERSION_NUM, "$LZO_H", [LZO version number]) |
6fbf66fa JY |
738 | havelzolib=1 |
739 | ] | |
740 | ) | |
741 | done | |
742 | if test $havelzolib = 0 ; then | |
743 | AC_MSG_ERROR([LZO headers were found but LZO library was not found]) | |
744 | fi | |
745 | else | |
746 | AC_MSG_RESULT([LZO headers were not found]) | |
747 | AC_MSG_RESULT([LZO library available from http://www.oberhumer.com/opensource/lzo/]) | |
6c34e74f | 748 | AC_MSG_ERROR([Or try ./configure --disable-lzo OR ./configure --enable-lzo-stub]) |
6fbf66fa JY |
749 | fi |
750 | fi | |
751 | ||
6c34e74f | 752 | dnl enable multi-client mode |
51bd56f4 ABL |
753 | if test "${enable_lzo_stub}" = "yes"; then |
754 | AC_DEFINE([LZO_STUB], [1], [Enable LZO stub capability]) | |
6c34e74f JY |
755 | fi |
756 | ||
53f97e1e AJ |
757 | dnl |
758 | dnl enable pkcs11 capability | |
759 | dnl | |
51bd56f4 | 760 | if test "${enable_pkcs11}" = "yes"; then |
53f97e1e AJ |
761 | AC_CHECKING([for pkcs11-helper Library and Header files]) |
762 | AC_CHECK_HEADER(pkcs11-helper-1.0/pkcs11h-core.h, | |
763 | [AC_CHECK_LIB(pkcs11-helper, pkcs11h_initialize, | |
764 | [ | |
765 | AC_DEFINE(USE_PKCS11, 1, [Enable PKCS11 capability]) | |
e02570fd | 766 | LIBS="${LIBS} -lpkcs11-helper" |
53f97e1e AJ |
767 | ], |
768 | [AC_MSG_RESULT([pkcs11-helper library not found.])] | |
769 | )], | |
770 | [AC_MSG_RESULT([pkcs11-helper headers not found.])] | |
771 | ) | |
772 | fi | |
773 | ||
6fbf66fa | 774 | dnl |
0a180174 | 775 | dnl check for SSL-crypto library |
6fbf66fa | 776 | dnl |
51bd56f4 ABL |
777 | if test "${enable_crypto}" = "yes"; then |
778 | if test "${with_ssl_type}" = "openssl"; then | |
0a180174 AJ |
779 | AC_CHECKING([for OpenSSL Crypto Library and Header files]) |
780 | AC_CHECK_HEADER(openssl/evp.h,, | |
781 | [AC_MSG_ERROR([OpenSSL Crypto headers not found.])]) | |
782 | ||
783 | for lib in crypto eay32; do | |
784 | AC_CHECK_LIB($lib, EVP_CIPHER_CTX_init, | |
785 | [ | |
786 | cryptofound=1 | |
e02570fd | 787 | LIBS="${LIBS} -l$lib" |
0a180174 AJ |
788 | ] |
789 | ) | |
790 | done | |
791 | test -n "$cryptofound" || AC_MSG_ERROR([OpenSSL Crypto library not found.]) | |
792 | ||
793 | AC_MSG_CHECKING([that OpenSSL Library is at least version 0.9.6]) | |
794 | AC_EGREP_CPP(yes, | |
795 | [ | |
796 | #include <openssl/evp.h> | |
797 | #if SSLEAY_VERSION_NUMBER >= 0x00906000L | |
798 | yes | |
799 | #endif | |
800 | ], | |
801 | [ | |
802 | AC_MSG_RESULT([yes]) | |
803 | AC_DEFINE(USE_CRYPTO, 1, [Use crypto library]) | |
804 | AC_DEFINE(USE_OPENSSL, 1, [Use OpenSSL library]) | |
805 | AC_CHECK_FUNCS(EVP_CIPHER_CTX_set_key_length) | |
806 | ||
807 | dnl check for OpenSSL crypto acceleration capability | |
808 | AC_CHECK_HEADERS(openssl/engine.h) | |
809 | AC_CHECK_FUNCS(ENGINE_load_builtin_engines) | |
810 | AC_CHECK_FUNCS(ENGINE_register_all_complete) | |
811 | AC_CHECK_FUNCS(ENGINE_cleanup) | |
812 | ], | |
813 | [AC_MSG_ERROR([OpenSSL crypto Library is too old.])] | |
814 | ) | |
815 | fi | |
51bd56f4 | 816 | if test "${with_ssl_type}" = "polarssl"; then |
53f97e1e AJ |
817 | AC_CHECKING([for PolarSSL Crypto Library and Header files]) |
818 | AC_CHECK_HEADER(polarssl/aes.h, | |
819 | [AC_CHECK_LIB(polarssl, aes_crypt_cbc, | |
820 | [ | |
e02570fd | 821 | LIBS="${LIBS} -lpolarssl" |
53f97e1e AJ |
822 | AC_DEFINE(USE_CRYPTO, 1, [Use crypto library]) |
823 | AC_DEFINE(USE_POLARSSL, 1, [Use PolarSSL library]) | |
824 | ], | |
825 | [AC_MSG_ERROR([PolarSSL Crypto library not found.])] | |
826 | )], | |
827 | [AC_MSG_ERROR([PolarSSL Crypto headers not found.])] | |
828 | ) | |
829 | fi | |
0a180174 AJ |
830 | dnl |
831 | dnl check for OpenSSL-SSL library | |
832 | dnl | |
6fbf66fa | 833 | |
51bd56f4 ABL |
834 | if test "${enable_ssl}" = "yes"; then |
835 | if test "${with_ssl_type}" = "openssl"; then | |
0a180174 AJ |
836 | AC_CHECKING([for OpenSSL SSL Library and Header files]) |
837 | AC_CHECK_HEADER(openssl/ssl.h,, | |
838 | [AC_MSG_ERROR([OpenSSL SSL headers not found.])] | |
839 | ) | |
840 | ||
841 | for lib in ssl ssl32; do | |
842 | AC_CHECK_LIB($lib, SSL_CTX_new, | |
843 | [ | |
844 | sslfound=1 | |
e02570fd | 845 | LIBS="${LIBS} -l$lib" |
0a180174 | 846 | ] |
8d3ed25d | 847 | ) |
0a180174 AJ |
848 | done |
849 | ||
850 | test -n "${sslfound}" || AC_MSG_ERROR([OpenSSL SSL library not found.]) | |
851 | ||
0a180174 | 852 | AC_DEFINE(USE_SSL, 1, [Use OpenSSL SSL library]) |
fc71b7c9 | 853 | fi |
51bd56f4 | 854 | if test "${with_ssl_type}" = "polarssl"; then |
53f97e1e AJ |
855 | AC_CHECKING([for PolarSSL SSL Library and Header files]) |
856 | AC_CHECK_HEADER(polarssl/ssl.h, | |
857 | [AC_CHECK_LIB(polarssl, ssl_init, | |
858 | [ | |
e02570fd | 859 | LIBS="${LIBS} -lpolarssl" |
53f97e1e AJ |
860 | AC_DEFINE(USE_SSL, 1, [Use SSL library]) |
861 | AC_DEFINE(USE_POLARSSL, 1, [Use PolarSSL library]) | |
862 | ], | |
863 | [AC_MSG_ERROR([PolarSSL SSL library not found.])] | |
864 | )], | |
865 | [AC_MSG_ERROR([PolarSSL SSL headers not found.])] | |
866 | ) | |
867 | fi | |
6fbf66fa JY |
868 | fi |
869 | fi | |
870 | ||
99385447 JY |
871 | dnl |
872 | dnl check for SELinux library and headers | |
873 | dnl | |
51bd56f4 ABL |
874 | if test "${enable_selinux}" = "yes"; then |
875 | AC_CHECK_HEADER( | |
876 | [selinux/selinux.h], | |
877 | [AC_CHECK_LIB( | |
878 | [selinux], | |
879 | [setcon], | |
880 | [ | |
e02570fd | 881 | LIBS="${LIBS} -lselinux" |
51bd56f4 ABL |
882 | AC_DEFINE(HAVE_SETCON, 1, [SELinux support]) |
883 | ], | |
884 | [AC_MSG_RESULT([SELinux library not found.])] | |
885 | )], | |
886 | [AC_MSG_ERROR([SELinux headers not found.])] | |
887 | ) | |
888 | fi | |
889 | ||
890 | if test -n "${SP_PLATFORM_WINDOWS}"; then | |
891 | AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ['\\\\'], [Path separator]) #" | |
892 | AC_DEFINE_UNQUOTED([PATH_SEPARATOR_STR], ["\\\\"], [Path separator]) #" | |
893 | else | |
894 | AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ['/'], [Path separator]) | |
895 | AC_DEFINE_UNQUOTED([PATH_SEPARATOR_STR], ["/"], [Path separator]) | |
896 | fi | |
897 | ||
898 | dnl enable --x509-username-field feature if requested | |
899 | if test "${enable_x509_alt_username}" = "yes"; then | |
900 | if test "${with_ssl_type}" = "polarssl" ; then | |
901 | AC_MSG_ERROR([PolarSSL does not support the --x509-username-field feature]) | |
902 | fi | |
903 | ||
904 | AC_DEFINE([ENABLE_X509ALTUSERNAME], [1], [Enable --x509-username-field feature]) | |
905 | fi | |
906 | ||
907 | test "${ac_cv_header_sys_uio_h}" = "yes" && AC_DEFINE([HAVE_IOVEC], [1], [struct iovec needed for IPv6 support]) | |
908 | test "${enable_multi}" = "yes" && AC_DEFINE([ENABLE_CLIENT_SERVER], [1], [Enable client/server capability]) | |
909 | test "${enable_server}" = "no" && AC_DEFINE([ENABLE_CLIENT_ONLY], [1], [Enable client capability only]) | |
910 | test "${enable_management}" = "yes" && AC_DEFINE([ENABLE_MANAGEMENT], [1], [Enable management server capability]) | |
911 | test "${enable_socks}" = "yes" && AC_DEFINE([ENABLE_SOCKS], [1], [Enable Socks proxy support]) | |
912 | test "${enable_http_proxy}" = "yes" && AC_DEFINE([ENABLE_HTTP_PROXY], [1], [Enable HTTP proxy support]) | |
913 | test "${enable_multihome}" = "yes" && AC_DEFINE([ENABLE_MULTIHOME], [1], [Enable multi-homed UDP server capability]) | |
914 | test "${enable_debug}" = "yes" && AC_DEFINE([ENABLE_DEBUG], [1], [Enable debugging support]) | |
915 | test "${enable_small}" = "yes" && AC_DEFINE([ENABLE_SMALL], [1], [Enable smaller executable size]) | |
916 | test "${enable_fragment}" = "yes" && AC_DEFINE([ENABLE_FRAGMENT], [1], [Enable internal fragmentation support]) | |
917 | test "${enable_port_share}" = "yes" && AC_DEFINE([ENABLE_PORT_SHARE], [1], [Enable TCP Server port sharing]) | |
918 | test "${enable_def_auth}" = "yes" && AC_DEFINE([ENABLE_DEF_AUTH], [1], [Enable deferred authentication]) | |
919 | test "${enable_pf}" = "yes" && AC_DEFINE([ENABLE_PF], [1], [Enable internal packet filter]) | |
920 | test "${enable_strict_options}" = "yes" && AC_DEFINE([ENABLE_STRICT_OPTIONS_CHECK], [1], [Enable strict options check between peers]) | |
921 | test "${enable_password_save}" = "yes" && AC_DEFINE([ENABLE_PASSWORD_SAVE], [1], [Allow --askpass and --auth-user-pass passwords to be read from a file]) | |
922 | test "${enable_systemd}" = "yes" && AC_DEFINE([ENABLE_SYSTEMD], [1], [Enable systemd support]) | |
923 | test "${enable_iproute2}" = "yes" && AC_DEFINE([ENABLE_IPROUTE], [1], [enable iproute2 support]) | |
924 | ||
925 | if test "${enable_pedantic}" = "yes"; then | |
926 | enable_strict="yes" | |
927 | CFLAGS="${CFLAGS} -ansi -pedantic" | |
928 | fi | |
929 | if test "${enable_strict}" = "yes"; then | |
930 | CFLAGS="${CFLAGS} -Wall -Wno-unused-parameter -Wno-unused-function" | |
99385447 JY |
931 | fi |
932 | ||
fcff80aa ABL |
933 | CONFIGURE_DEFINES="`set | grep '^enable_.*=' ; set | grep '^with_.*='`" |
934 | AC_DEFINE_UNQUOTED([CONFIGURE_DEFINES], ["`echo ${CONFIGURE_DEFINES}`"], [Configuration settings]) | |
935 | ||
ac2447cd ABL |
936 | TAP_WIN_COMPONENT_ID="PRODUCT_TAP_WIN_COMPONENT_ID" |
937 | TAP_WIN_MIN_MAJOR="PRODUCT_TAP_WIN_MIN_MAJOR" | |
938 | TAP_WIN_MIN_MINOR="PRODUCT_TAP_WIN_MIN_MINOR" | |
939 | AC_DEFINE_UNQUOTED([TAP_WIN_COMPONENT_ID], ["${TAP_WIN_COMPONENT_ID}"], [The tap-windows id]) | |
940 | AC_DEFINE_UNQUOTED([TAP_WIN_MIN_MAJOR], [${TAP_WIN_MIN_MAJOR}], [The tap-windows version number is required for OpenVPN]) | |
941 | AC_DEFINE_UNQUOTED([TAP_WIN_MIN_MINOR], [${TAP_WIN_MIN_MINOR}], [The tap-windows version number is required for OpenVPN]) | |
942 | AC_SUBST([TAP_WIN_COMPONENT_ID]) | |
943 | AC_SUBST([TAP_WIN_MIN_MAJOR]) | |
944 | AC_SUBST([TAP_WIN_MIN_MINOR]) | |
1bda73a7 | 945 | |
51bd56f4 | 946 | AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) |
1bda73a7 | 947 | |
51bd56f4 | 948 | AC_CONFIG_FILES([ |
1bda73a7 | 949 | Makefile |
98bc1a3e | 950 | build/Makefile |
34cb9132 ABL |
951 | distro/Makefile |
952 | distro/rpm/Makefile | |
953 | distro/rpm/openvpn.spec | |
954 | include/Makefile | |
955 | src/Makefile | |
956 | src/openvpn/Makefile | |
957 | src/openvpnserv/Makefile | |
958 | tests/Makefile | |
959 | sample/Makefile | |
960 | doc/Makefile | |
1bda73a7 | 961 | ]) |
34cb9132 | 962 | AC_CONFIG_FILES([tests/t_client.sh], [chmod +x tests/t_client.sh]) |
51bd56f4 | 963 | AC_OUTPUT |