1 | dnl Process this file with autoconf to produce a configure script. |
1 | dnl Process this file with autoconf to produce a configure script. |
2 | |
2 | |
3 | AC_PREREQ(2.69) |
3 | AC_PREREQ([2.71]) |
4 | AC_INIT |
4 | AC_INIT([gvpe],[3.1]) |
5 | AC_CONFIG_SRCDIR([src/gvpe.C]) |
5 | AC_CONFIG_SRCDIR([src/gvpe.C]) |
6 | AC_CANONICAL_TARGET |
6 | AC_CANONICAL_TARGET |
7 | AM_INIT_AUTOMAKE(gvpe, 3.0) |
7 | AM_INIT_AUTOMAKE |
8 | AC_CONFIG_HEADERS([config.h]) |
8 | AC_CONFIG_HEADERS([config.h]) |
9 | AM_MAINTAINER_MODE |
9 | AM_MAINTAINER_MODE |
10 | |
10 | |
11 | AH_TOP([ |
11 | AH_TOP([ |
12 | #ifndef CONFIG_H__ |
12 | #ifndef CONFIG_H__ |
… | |
… | |
179 | |
179 | |
180 | dnl Checks for typedefs, structures, and compiler characteristics. |
180 | dnl Checks for typedefs, structures, and compiler characteristics. |
181 | AC_C_CONST |
181 | AC_C_CONST |
182 | AC_TYPE_PID_T |
182 | AC_TYPE_PID_T |
183 | AC_TYPE_SIZE_T |
183 | AC_TYPE_SIZE_T |
184 | AC_HEADER_TIME |
184 | AC_CHECK_HEADERS_ONCE([sys/time.h]) |
|
|
185 | |
185 | AC_STRUCT_TM |
186 | AC_STRUCT_TM |
186 | |
187 | |
187 | AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, |
188 | AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, |
188 | [ |
189 | [ |
189 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
190 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> |
… | |
… | |
201 | ]) |
202 | ]) |
202 | if test $ac_cv_struct_addrinfo = yes; then |
203 | if test $ac_cv_struct_addrinfo = yes; then |
203 | AC_DEFINE(HAVE_STRUCT_ADDRINFO, 1, [struct addrinfo available]) |
204 | AC_DEFINE(HAVE_STRUCT_ADDRINFO, 1, [struct addrinfo available]) |
204 | fi |
205 | fi |
205 | |
206 | |
206 | dnl Checks for library functions. |
|
|
207 | AC_TYPE_SIGNAL |
|
|
208 | |
|
|
209 | AC_LANG_PUSH(C) |
207 | AC_LANG_PUSH(C) |
210 | |
|
|
211 | AC_HEADER_STDC |
|
|
212 | |
208 | |
213 | dnl argl, could somebody catapult darwin into the 21st century??? |
209 | dnl argl, could somebody catapult darwin into the 21st century??? |
214 | AC_CHECK_FUNCS(asprintf daemon get_current_dir_name putenv select strerror strsignal strtol unsetenv mlockall) |
210 | AC_CHECK_FUNCS(asprintf daemon get_current_dir_name putenv select strerror strsignal strtol unsetenv mlockall) |
215 | |
211 | |
216 | AC_FUNC_ALLOCA |
212 | AC_FUNC_ALLOCA |
… | |
… | |
234 | AC_CACHE_SAVE |
230 | AC_CACHE_SAVE |
235 | |
231 | |
236 | dnl These are defined in files in m4/ |
232 | dnl These are defined in files in m4/ |
237 | tinc_TUNTAP |
233 | tinc_TUNTAP |
238 | |
234 | |
239 | tinc_OPENSSL |
235 | PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto >= 1]) |
240 | if test "x$openssl_include" != x; then |
|
|
241 | CXXFLAGS="$CXXFLAGS -I$openssl_include" |
|
|
242 | fi |
|
|
243 | dnl tinc_ZLIB |
|
|
244 | |
236 | |
245 | AC_ARG_ENABLE(threads, |
237 | AC_ARG_ENABLE(threads, |
246 | [AS_HELP_STRING(--enable-threads,try to use threads for long-running asynchronous operations (default enabled).)], |
238 | [AS_HELP_STRING(--enable-threads,try to use threads for long-running asynchronous operations (default enabled).)], |
247 | [try_threads=$enableval], |
239 | [try_threads=$enableval], |
248 | [try_threads=yes] |
240 | [try_threads=yes] |
… | |
… | |
415 | dnl |
407 | dnl |
416 | dnl if $LD -v --help 2>&1 | grep -q gc-sections; then |
408 | dnl if $LD -v --help 2>&1 | grep -q gc-sections; then |
417 | dnl LDFLAGS="$LDFLAGS -Wl,--gc-sections" |
409 | dnl LDFLAGS="$LDFLAGS -Wl,--gc-sections" |
418 | dnl fi |
410 | dnl fi |
419 | |
411 | |
420 | AC_SUBST(INCLUDES) |
412 | AC_SUBST(AM_CPPFLAGS) |
421 | |
413 | |
422 | AC_CONFIG_FILES([Makefile po/Makefile.in |
414 | AC_CONFIG_FILES([Makefile po/Makefile.in |
423 | src/Makefile |
415 | src/Makefile |
424 | doc/Makefile |
416 | doc/Makefile |
425 | lib/Makefile |
417 | lib/Makefile |
… | |
… | |
449 | fi |
441 | fi |
450 | |
442 | |
451 | echo "***" |
443 | echo "***" |
452 | echo |
444 | echo |
453 | |
445 | |
|
|
446 | if pkg-config --exists 'libcrypto >= 1.1 libcrypto < 2.0'; then |
|
|
447 | cat <<EOF |
|
|
448 | @<:@33m |
|
|
449 | *** |
|
|
450 | *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING |
|
|
451 | *** |
|
|
452 | *** You seem to configure gvpe with OpenSSL 1.1 or newer. |
|
|
453 | *** While this probably compiles, please note that this is not only |
|
|
454 | *** unsupported, but also discouraged. |
|
|
455 | *** |
|
|
456 | *** It is recommended to use either OpenSSL 1.0, as long as that is still |
|
|
457 | *** supported, or LibreSSL (https://www.libressl.org/). |
|
|
458 | *** |
|
|
459 | *** This is not a political issue - while porting GVPE to the newer |
|
|
460 | *** OpenSSL 1.1 API, I encountered two incompatible API changes that were |
|
|
461 | *** not documented, were not caught while compiling but caused security |
|
|
462 | *** issues. When reported, the reaction of the OpenSSL developers was to |
|
|
463 | *** update the documentation. |
|
|
464 | *** |
|
|
465 | *** As a result, I lost all confidence in the ability and desire of |
|
|
466 | *** OpenSSL developers to create a safe API, and would highly recommend |
|
|
467 | *** switching to LibreSSL which explicitly avoids such braking changes. |
|
|
468 | *** |
|
|
469 | *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING |
|
|
470 | *** |
|
|
471 | *** Again, do not use OpenSSL 1.1 and complain if stuff breaks. |
|
|
472 | *** You have been warned, but your choice is respected. |
|
|
473 | *** |
|
|
474 | @<:@0m |
454 | |
475 | |
|
|
476 | EOF |
|
|
477 | fi |
|
|
478 | |
|
|
479 | |