configure.ac revision 1.1.1.4.2.1
1dnl -*- mode: m4 -*- 2dnl Id: configure.ac,v 1.47.2.24 2005/08/19 22:46:45 manubsd Exp 3 4AC_PREREQ(2.52) 5AC_INIT(ipsec-tools, 0.6.1) 6AC_CONFIG_SRCDIR([configure.ac]) 7AM_CONFIG_HEADER(config.h) 8 9AM_INIT_AUTOMAKE(dist-bzip2) 10 11AC_ENABLE_SHARED(no) 12 13AC_PROG_CC 14AM_PROG_CC_STDC 15AC_HEADER_STDC 16AC_PROG_LIBTOOL 17AC_PROG_YACC 18AM_PROG_LEX 19AC_SUBST(LEXLIB) 20AC_PROG_EGREP 21 22CFLAGS_ADD="$CFLAGS_ADD -Wall -Werror -Wno-unused" 23 24case $host in 25*netbsd*) 26 LDFLAGS="-Wl,-R/usr/pkg/lib $LDFLAGS" 27 ;; 28*linux*) 29 LIBS="$LIBS -lresolv" 30 INSTALL_OPTS="-o bin -g bin" 31 INCLUDE_GLIBC="include-glibc" 32 RPM="rpm" 33 AC_SUBST(INSTALL_OPTS) 34 AC_SUBST(INCLUDE_GLIBC) 35 AC_SUBST(RPM) 36 ;; 37esac 38 39# Look up some IPsec-related headers 40AC_CHECK_HEADER(net/pfkeyv2.h, [have_net_pfkey=yes], [have_net_pfkey=no]) 41AC_CHECK_HEADER(netinet/ipsec.h, [have_netinet_ipsec=yes], [have_netinet_ipsec=no]) 42AC_CHECK_HEADER(netinet6/ipsec.h, [have_netinet6_ipsec=yes], [have_netinet6_ipsec=no]) 43 44# NetBSD has <netinet6/ipsec.h> but not <netinet/ipsec.h> 45if test "$have_netinet_ipsec$have_netinet6_ipsec" = noyes; then 46 have_netinet_ipsec=yes 47 AC_DEFINE(HAVE_NETINET6_IPSEC, [], [Use <netinet6/ipsec.h>]) 48fi 49 50case "$host_os" in 51 *linux*) 52 AC_ARG_WITH(kernel-headers, 53 AC_HELP_STRING([--with-kernel-headers=/lib/modules/<uname>/build/include], 54 [where your Linux Kernel headers are installed]), 55 [ KERNEL_INCLUDE="$with_kernel_headers" 56 CONFIGURE_AMFLAGS="--with-kernel-headers=$with_kernel_headers" 57 AC_SUBST(CONFIGURE_AMFLAGS) ], 58 [ KERNEL_INCLUDE="/lib/modules/`uname -r`/build/include" ]) 59 60 AC_CHECK_HEADER($KERNEL_INCLUDE/linux/pfkeyv2.h, , 61 [ AC_CHECK_HEADER(/usr/src/linux/include/linux/pfkeyv2.h, 62 KERNEL_INCLUDE=/usr/src/linux/include , 63 [ AC_MSG_ERROR([Unable to find linux-2.6 kernel headers. Aborting.]) ] ) ] ) 64 AC_SUBST(KERNEL_INCLUDE) 65 # We need the configure script to run with correct kernel headers. 66 # However we don't want to point to kernel source tree in compile time, 67 # i.e. this will be removed from CPPFLAGS at the end of configure. 68 CPPFLAGS="-I$KERNEL_INCLUDE $CPPFLAGS" 69 70 AC_CHECK_MEMBER(struct sadb_x_policy.sadb_x_policy_priority, 71 [AC_DEFINE(HAVE_PFKEY_POLICY_PRIORITY, [], 72 [Are PF_KEY policy priorities supported?])], [], 73 [#include "$KERNEL_INCLUDE/linux/pfkeyv2.h"]) 74 75 GLIBC_BUGS='-include ${top_srcdir}/src/include-glibc/glibc-bugs.h -I${top_srcdir}/src/include-glibc -I${top_builddir}/src/include-glibc' 76 GLIBC_BUGS_LOCAL="-include ${srcdir-.}/src/include-glibc/glibc-bugs.h -I${srcdir-.}/src/include-glibc -I./src/include-glibc" 77 CPPFLAGS="$GLIBC_BUGS_LOCAL $CPPFLAGS" 78 CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS" 79 AC_SUBST(GLIBC_BUGS) 80 ;; 81 *) 82 if test "$have_net_pfkey$have_netinet_ipsec" != yesyes; then 83 if test "$have_net_pfkey" = yes; then 84 AC_MSG_ERROR([Found net/pfkeyv2.h but not netinet/ipsec.h. Aborting.]) 85 else 86 AC_MSG_ERROR([Found netinet/ipsec.h but not net/pfkeyv2.h. Aborting.]) 87 fi 88 fi 89 ;; 90esac 91 92### Some basic toolchain checks 93 94# Checks for header files. 95AC_HEADER_STDC 96AC_HEADER_SYS_WAIT 97AC_CHECK_HEADERS(limits.h sys/time.h unistd.h stdarg.h varargs.h) 98AC_CHECK_HEADERS(shadow.h) 99 100# Checks for typedefs, structures, and compiler characteristics. 101AC_C_CONST 102AC_TYPE_PID_T 103AC_TYPE_SIZE_T 104AC_HEADER_TIME 105AC_STRUCT_TM 106 107# Checks for library functions. 108AC_FUNC_MEMCMP 109AC_TYPE_SIGNAL 110AC_FUNC_VPRINTF 111AC_CHECK_FUNCS(gettimeofday select socket strerror strtol strtoul strlcpy) 112AC_REPLACE_FUNCS(strdup) 113RACOON_CHECK_VA_COPY 114 115# Check if printf accepts "%z" type modifier for size_t argument 116AC_MSG_CHECKING(if printf accepts %z) 117saved_CFLAGS=$CFLAGS 118CFLAGS="$CFLAGS -Wall -Werror" 119AC_TRY_COMPILE([ 120#include <stdio.h> 121], [ 122printf("%zu\n", (size_t)-1); 123], 124 [AC_MSG_RESULT(yes)], 125 [AC_MSG_RESULT(no); CFLAGS_ADD="$CFLAGS_ADD -Wno-format"]) 126CFLAGS=$saved_CFLAGS 127 128# Can we use __func__ macro? 129AC_MSG_CHECKING(if __func__ is available) 130AC_TRY_COMPILE( 131[#include <stdio.h> 132], [char *x = __func__;], 133 [AC_DEFINE([HAVE_FUNC_MACRO], [], [Have __func__ macro]) 134 AC_MSG_RESULT(yes)], 135 [AC_MSG_RESULT(no)]) 136 137# Check if readline support is requested 138AC_MSG_CHECKING(if readline support is requested) 139AC_ARG_WITH(readline, 140 [ --with-readline support readline input (yes by default)], 141 [with_readline="$withval"], [with_readline="yes"]) 142AC_MSG_RESULT($with_readline) 143 144# Is readline available? 145if test $with_readline != "no"; then 146 AC_CHECK_HEADER([readline/readline.h], 147 [AC_CHECK_LIB(readline, readline, [ 148 AC_DEFINE(HAVE_READLINE, [], 149 [Is readline available?]) 150 LIBS="$LIBS -lreadline" 151 ], [])], []) 152fi 153 154 155AC_MSG_CHECKING(if --with-flex option is specified) 156AC_ARG_WITH(flexdir, 157 [AC_HELP_STRING([--with-flex], [use directiory (default: no)])], 158 [flexdir="$withval"]) 159AC_MSG_RESULT(${flexdir-dirdefault}) 160 161if test "x$flexdir" != "x"; then 162 LIBS="$LIBS $flexdir/libfl.a" 163fi 164 165AC_MSG_CHECKING(if --with-flexlib option is specified) 166AC_ARG_WITH(flexlib, 167 [ --with-flexlib=<LIB> specify flex library.], 168 [flexlib="$withval"]) 169AC_MSG_RESULT(${flexlib-default}) 170 171if test "x$flexlib" != "x"; then 172 LIBS="$LIBS $flexlib" 173fi 174 175# Check if a different OpenSSL directory was specified 176AC_MSG_CHECKING(if --with-openssl option is specified) 177AC_ARG_WITH(openssl, [ --with-openssl=DIR specify OpenSSL directory], 178 [crypto_dir=$withval]) 179AC_MSG_RESULT(${crypto_dir-default}) 180 181if test "x$crypto_dir" != "x"; then 182 LIBS="$LIBS -L${crypto_dir}/lib" 183 CPPFLAGS="-I${crypto_dir}/include $CPPLAGS" 184fi 185AC_MSG_CHECKING(openssl version) 186 187AC_TRY_COMPILE( 188[#include <openssl/opensslv.h> 189], 190[#if OPENSSL_VERSION_NUMBER < 0x0090602fL 191#error OpenSSL version is too old ... 192#endif], 193[AC_MSG_RESULT([ok])], 194[AC_MSG_RESULT(too old) 195AC_MSG_ERROR([OpenSSL version must be 0.9.6 or higher. Aborting.]) 196]) 197 198AC_CHECK_HEADERS(openssl/engine.h) 199 200# checking rijndael 201AC_CHECK_HEADERS([openssl/aes.h], [], 202 [CRYPTOBJS="$CRYPTOBJS rijndael-api-fst.o rijndael-alg-fst.o"]) 203 204# checking sha2 205AC_MSG_CHECKING(sha2 support) 206AC_DEFINE([WITH_SHA2], [], [SHA2 support]) 207AC_MSG_RESULT(yes) 208AC_CHECK_HEADER(openssl/sha2.h, [], [ 209 AC_MSG_CHECKING(if sha2 is defined in openssl/sha.h) 210 AC_TRY_COMPILE([ 211 #include <openssl/sha.h> 212 ], [ 213 typedef int SHA256_CTX; 214 ], [AC_MSG_RESULT(no) 215 AC_LIBOBJ([sha2]) 216 CRYPTOBJS="$CRYPTOBJS sha2.o" 217 ], [ 218 AC_MSG_RESULT(yes) 219 AC_DEFINE([HAVE_SHA2_IN_SHA_H], [], [sha2 is defined in sha.h]) 220 ]) 221 222 CPPFLAGS_ADD="$CPPFLAGS_ADD -I./\${top_srcdir}/src/racoon/missing" 223]) 224AC_SUBST(CRYPTOBJS) 225 226# Option --enable-adminport 227AC_MSG_CHECKING(if --enable-adminport option is specified) 228AC_ARG_ENABLE(adminport, 229 [ --enable-adminport enable admin port], 230 [], [enable_adminport=no]) 231if test $enable_adminport = "yes"; then 232 AC_DEFINE([ENABLE_ADMINPORT], [], [Enable admin port]) 233fi 234AC_MSG_RESULT($enable_adminport) 235 236# Option RC5 237AC_MSG_CHECKING(if --enable-rc5 option is specified) 238AC_ARG_ENABLE(rc5, 239 [ --enable-rc5 enable RC5 encryption (patented)], 240 [], [enable_rc5=no]) 241AC_MSG_RESULT($enable_rc5) 242 243if test $enable_rc5 = "yes"; then 244 AC_CHECK_HEADERS([openssl/rc5.h]) 245 AC_CHECK_LIB([crypto_rc5], [RC5_32_encrypt], 246 [EXTRA_CRYPTO="$EXTRA_CRYPTO -lcrypto_rc5"]) 247fi 248 249# Option IDEA 250AC_MSG_CHECKING(if --enable-idea option is specified) 251AC_ARG_ENABLE(idea, 252 [ --enable-idea enable IDEA encryption (patented)], 253 [], [enable_idea=no]) 254AC_MSG_RESULT($enable_idea) 255 256if test $enable_idea = "yes"; then 257 AC_CHECK_HEADERS([openssl/idea.h]) 258 AC_CHECK_LIB([crypto_idea], [idea_encrypt], 259 [EXTRA_CRYPTO="$EXTRA_CRYPTO -lcrypto_idea"]) 260fi 261AC_SUBST(EXTRA_CRYPTO) 262 263# For dynamic libradius 264RACOON_PATH_LIBS([MD5_Init], [crypto]) 265 266# Check for Kerberos5 support 267AC_MSG_CHECKING(if --enable-gssapi option is specified) 268AC_ARG_ENABLE(gssapi, 269 [ --enable-gssapi enable GSS-API authentication], 270 [], [enable_gssapi=no]) 271AC_MSG_RESULT($enable_gssapi) 272AC_PATH_PROG(KRB5_CONFIG,krb5-config,no) 273if test "x$enable_gssapi" = "xyes"; then 274 if test "$KRB5_CONFIG" != "no"; then 275 krb5_incdir="`$KRB5_CONFIG --cflags gssapi`" 276 krb5_libs="`$KRB5_CONFIG --libs gssapi`" 277 else 278 # No krb5-config; let's make some assumptions based on 279 # the OS. 280 case $host_os in 281 netbsd*) 282 krb5_incdir="-I/usr/include/krb5" 283 krb5_libs="-lgssapi -lkrb5 -lcom_err -lroken -lasn1" 284 ;; 285 *) 286 AC_MSG_ERROR([krb5-config not found, but needed for GSSAPI support. Aborting.]) 287 ;; 288 esac 289 fi 290 LIBS="$LIBS $krb5_libs" 291 CPPFLAGS_ADD="$krb5_incdir $CPPFLAGS_ADD" 292 AC_DEFINE([HAVE_GSSAPI], [], [Enable GSS API]) 293 294 # Check if iconv 2nd argument needs const 295 AC_CHECK_HEADER([iconv.h], [], [AC_MSG_ERROR([iconv.h not found, but needed for GSSAPI support. Aborting.])]) 296 AC_MSG_CHECKING([if iconv second argument needs const]) 297 AC_TRY_COMPILE([ 298 #include <iconv.h> 299 #include <stdio.h> 300 ], [ 301 iconv_t cd = NULL; 302 const char **src = NULL; 303 size_t *srcleft = NULL; 304 char **dst = NULL; 305 size_t *dstleft = NULL; 306 307 (void)iconv(cd, src, srcleft, dst, dstleft); 308 ], [AC_MSG_RESULT(yes) 309 AC_DEFINE([HAVE_ICONV_2ND_CONST], [], [Have iconv using const]) 310 ], [AC_MSG_RESULT(no)]) 311 312fi 313 314AC_MSG_CHECKING([if --enable-hybrid option is specified]) 315AC_ARG_ENABLE(hybrid, 316 [ --enable-hybrid enable hybrid, both mode-cfg and xauth support], 317 [], [enable_hybrid=no]) 318AC_MSG_RESULT($enable_hybrid) 319 320if test "x$enable_hybrid" = "xyes"; then 321 LIBS="$LIBS -lcrypt"; 322 HYBRID_OBJS="isakmp_xauth.o isakmp_cfg.o isakmp_unity.o throttle.o" 323 AC_SUBST(HYBRID_OBJS) 324 AC_DEFINE([ENABLE_HYBRID], [], [Hybrid authentication support]) 325fi 326 327AC_MSG_CHECKING([if --enable-frag option is specified]) 328AC_ARG_ENABLE(frag, 329 [ --enable-frag enable IKE fragmentation payload support], 330 [], [enable_frag=no]) 331AC_MSG_RESULT($enable_frag) 332 333if test "x$enable_frag" = "xyes"; then 334 LIBS="$LIBS -lcrypt"; 335 FRAG_OBJS="isakmp_frag.o" 336 AC_SUBST(FRAG_OBJS) 337 AC_DEFINE([ENABLE_FRAG], [], [IKE fragmentation support]) 338fi 339 340AC_MSG_CHECKING(if --with-libradius option is specified) 341AC_ARG_WITH(libradius, 342 [ --with-libradius=DIR specify libradius path (like/usr/pkg)], 343 [libradius_dir=$withval], 344 [libradius_dir=no]) 345AC_MSG_RESULT($libradius_dir) 346if test "$libradius_dir" != "no"; then 347 if test "$libradius_dir" = "yes" ; then 348 libradius_dir=""; 349 fi; 350 if test "x$libradius_dir" = "x"; then 351 RACOON_PATH_LIBS([rad_create_request], [radius]) 352 else 353 if test -d "$libradius_dir/lib" -a \ 354 -d "$libradius_dir/include" ; then 355 RACOON_PATH_LIBS([rad_create_request], [radius], ["$libradius_dir/lib"]) 356 CPPFLAGS_ADD="$CPPFLAGS_ADD -I$libradius_dir/include" 357 else 358 AC_MSG_ERROR([RADIUS libs or includes not found. Aborting.]) 359 fi 360 fi 361 AC_DEFINE([HAVE_LIBRADIUS], [], [Hybrid authentication uses RADIUS]) 362 LIBS="$LIBS -L$libradius_dir/lib -R$libradius_dir/lib -lradius" 363 AC_CHECK_FUNCS(rad_create_request) 364fi 365 366AC_MSG_CHECKING(if --with-libpam option is specified) 367AC_ARG_WITH(libpam, 368 [ --with-libpam=DIR specify libpam path (like/usr/pkg)], 369 [libpam_dir=$withval], 370 [libpam_dir=no]) 371AC_MSG_RESULT($libpam_dir) 372if test "$libpam_dir" != "no"; then 373 if test "$libpam_dir" = "yes" ; then 374 libpam_dir=""; 375 fi; 376 if test "x$libpam_dir" = "x"; then 377 RACOON_PATH_LIBS([pam_start], [pam]) 378 else 379 if test -d "$libpam_dir/lib" -a \ 380 -d "$libpam_dir/include" ; then 381 RACOON_PATH_LIBS([pam_start], [pam], ["$libpam_dir/lib"]) 382 CPPFLAGS_ADD="$CPPFLAGS_ADD -I$libpam_dir/include" 383 else 384 AC_MSG_ERROR([PAM libs or includes not found. Aborting.]) 385 fi 386 fi 387 AC_DEFINE([HAVE_LIBPAM], [], [Hybrid authentication uses PAM]) 388 LIBS="$LIBS -L$libpam_dir/lib -R$libpam_dir/lib -lpam" 389 AC_CHECK_FUNCS(pam_start) 390fi 391 392AC_MSG_CHECKING(if --enable-stats option is specified) 393AC_ARG_ENABLE(stats, 394 [ --enable-stats enable statistics logging function], 395 [], [enable_stats=no]) 396if test "x$enable_stats" = "xyes"; then 397 AC_DEFINE([ENABLE_STATS], [], [Enable statictics]) 398fi 399AC_MSG_RESULT($enable_stats) 400 401AC_MSG_CHECKING(if --enable-dpd option is specified) 402AC_ARG_ENABLE(dpd, 403 [ --enable-dpd enable dead peer detection], 404 [], [enable_dpd=no]) 405if test "x$enable_dpd" = "xyes"; then 406 AC_DEFINE([ENABLE_DPD], [], [Enable dead peer detection]) 407fi 408AC_MSG_RESULT($enable_dpd) 409 410 411AC_MSG_CHECKING(if --enable-samode-unspec option is specified) 412AC_ARG_ENABLE(samode-unspec, 413 [ --enable-samode-unspec enable to use unspecified a mode of SA], 414 [], [enable_samode_unspec=no]) 415if test "x$enable_samode_unspec" = "xyes"; then 416 case $host_os in 417 *linux*) 418 cat << EOC 419 420ERROR: --enable-samode-unspec is not supported under linux 421because linux kernel do not support it. This option is disabled 422to prevent mysterious problems. 423 424If you REALLY know what your are doing, remove this check. 425EOC 426 exit 1; 427 ;; 428 esac 429 AC_DEFINE([ENABLE_SAMODE_UNSPECIFIED], [], [Enable samode-unspec]) 430fi 431AC_MSG_RESULT($enable_samode_unspec) 432 433# Checks if IPv6 is requested 434AC_MSG_CHECKING([whether to enable ipv6]) 435AC_ARG_ENABLE(ipv6, 436[ --disable-ipv6 disable ipv6 support], 437[ case "$enableval" in 438 no) 439 AC_MSG_RESULT(no) 440 ipv6=no 441 ;; 442 *) AC_MSG_RESULT(yes) 443 ipv6=yes 444 ;; 445 esac ], 446 447 AC_TRY_RUN([ /* AF_INET6 avalable check */ 448#include <sys/types.h> 449#include <sys/socket.h> 450main() 451{ 452 exit(0); 453 if (socket(AF_INET6, SOCK_STREAM, 0) < 0) 454 exit(1); 455 else 456 exit(0); 457} 458], 459 AC_MSG_RESULT(yes) 460 AC_DEFINE([INET6], [], [Support IPv6]) 461 ipv6=yes, 462 AC_MSG_RESULT(no) 463 ipv6=no, 464 AC_MSG_RESULT(no) 465 ipv6=no 466)) 467 468if test "$ipv6" = "yes"; then 469 AC_DEFINE([INET6], [], [Support IPv6]) 470 AC_MSG_CHECKING(for advanced API support) 471 AC_TRY_COMPILE([#ifndef INET6 472#define INET6 473#endif 474#include <sys/types.h> 475#include <netinet/in.h>], 476 [struct in6_pktinfo a;], 477 [AC_MSG_RESULT(yes) 478 AC_DEFINE([INET6_ADVAPI], [], [Use advanced IPv6 API])], 479 [AC_MSG_RESULT(no)]) 480fi 481 482RACOON_CHECK_BUGGY_GETADDRINFO 483if test "$buggygetaddrinfo" = "yes"; then 484 AC_MSG_ERROR([Broken getaddrinfo() is no longer supported. Aborting.]) 485fi 486 487# Check if kernel support is available for NAT-T, defaults to no. 488kernel_natt="no" 489 490AC_MSG_CHECKING(kernel NAT-Traversal support) 491case $host_os in 492linux*) 493# Linux kernel NAT-T check 494AC_EGREP_CPP(yes, 495[#include <linux/pfkeyv2.h> 496#ifdef SADB_X_EXT_NAT_T_TYPE 497yes 498#endif 499], [kernel_natt="yes"]) 500 ;; 501freebsd*|netbsd*) 502# NetBSD case 503# Same check for FreeBSD 504AC_CHECK_MEMBER(struct sadb_x_nat_t_type.sadb_x_nat_t_type_len, 505 [kernel_natt="yes"],, [ 506#define _KERNEL 507#include <sys/types.h> 508#include <net/pfkeyv2.h> 509]) 510 ;; 511esac 512AC_MSG_RESULT($kernel_natt) 513 514AC_MSG_CHECKING(whether to support NAT-T) 515AC_ARG_ENABLE(natt, 516 [ --enable-natt enable NAT-Traversal (yes/no/kernel)], 517 [ if test "$enable_natt" = "kernel"; then enable_natt=$kernel_natt; fi ], 518 [ enable_natt=no ]) 519AC_MSG_RESULT($enable_natt) 520 521if test "$enable_natt" = "yes"; then 522 if test "$kernel_natt" = "no" ; then 523 AC_MSG_ERROR([NAT-T requested, but no kernel support! Aborting.]) 524 else 525 AC_DEFINE([ENABLE_NATT], [], [Enable NAT-Traversal]) 526 NATT_OBJS="nattraversal.o" 527 AC_SUBST(NATT_OBJS) 528 fi 529fi 530 531# Set up defines for supported NAT-T versions. 532natt_versions_default="00,02,rfc" 533AC_MSG_CHECKING(which NAT-T versions to support) 534AC_ARG_ENABLE(natt_versions, 535 [ --enable-natt-versions=list list of supported NAT-T versions delimited by coma.], 536 [ test "$enable_natt_versions" = "yes" && enable_natt_versions=$natt_versions_default ], 537 [ enable_natt_versions=$natt_versions_default ]) 538if test "$enable_natt" = "yes"; then 539 AC_MSG_RESULT($enable_natt_versions) 540 for i in `echo $enable_natt_versions | tr ',cfr' ' CFR'`; do 541 case $i in 542 0|00) AC_DEFINE([ENABLE_NATT_00], [], [Enable NAT-Traversal draft 00]) ;; 543 1|01) AC_DEFINE([ENABLE_NATT_01], [], [Enable NAT-Traversal draft 01]) ;; 544 2|02) AC_DEFINE([ENABLE_NATT_02], [], [Enable NAT-Traversal draft 02]) ;; 545 3|03) AC_DEFINE([ENABLE_NATT_03], [], [Enable NAT-Traversal draft 03]) ;; 546 4|04) AC_DEFINE([ENABLE_NATT_04], [], [Enable NAT-Traversal draft 04]) ;; 547 5|05) AC_DEFINE([ENABLE_NATT_05], [], [Enable NAT-Traversal draft 05]) ;; 548 6|06) AC_DEFINE([ENABLE_NATT_06], [], [Enable NAT-Traversal draft 06]) ;; 549 7|07) AC_DEFINE([ENABLE_NATT_07], [], [Enable NAT-Traversal draft 07]) ;; 550 8|08) AC_DEFINE([ENABLE_NATT_08], [], [Enable NAT-Traversal draft 08]) ;; 551 RFC) AC_DEFINE([ENABLE_NATT_RFC], [], [Enable NAT-Traversal RFC version]) ;; 552 *) AC_MSG_ERROR([Unknown NAT-T version. Aborting.]) ;; 553 esac 554 done 555 unset i 556else 557 AC_MSG_RESULT([none]) 558fi 559 560AC_MSG_CHECKING(whether we support FWD policy) 561case $host in 562 *linux*) 563 AC_TRY_COMPILE([ 564 #include <inttypes.h> 565 #include <linux/ipsec.h> 566 ], [ 567 int fwd = IPSEC_DIR_FWD; 568 ], 569 [AC_MSG_RESULT(yes) 570 AC_DEFINE([HAVE_POLICY_FWD], [], [Have forward policy])], 571 [AC_MSG_RESULT(no)]) 572 ;; 573 *) 574 AC_MSG_RESULT(no) 575 ;; 576esac 577 578AC_CHECK_TYPE([ipsec_policy_t], 579 [AC_DEFINE([HAVE_IPSEC_POLICY_T], [], [Have ipsec_policy_t])], 580 [], 581 [ 582 #include <sys/types.h> 583 #include <netinet6/ipsec.h> 584 ]) 585 586CFLAGS="$CFLAGS $CFLAGS_ADD" 587CPPFLAGS="$CPPFLAGS $CPPFLAGS_ADD" 588 589case $host in 590 *linux*) 591 # Remove KERNEL_INCLUDE from CPPFLAGS. It will 592 # be symlinked to src/include-glibc/linux in 593 # compile time. 594 CPPFLAGS=`echo $CPPFLAGS | sed "s,-I$KERNEL_INCLUDE,,"` 595 ;; 596esac 597 598include_racoondir=${includedir}/racoon 599AC_SUBST(include_racoondir) 600 601AC_CONFIG_FILES([ 602 Makefile 603 package_version.h 604 src/Makefile 605 src/include-glibc/Makefile 606 src/libipsec/Makefile 607 src/setkey/Makefile 608 src/racoon/Makefile 609 src/racoon/samples/psk.txt 610 src/racoon/samples/racoon.conf 611 rpm/Makefile 612 rpm/suse/Makefile 613 rpm/suse/ipsec-tools.spec 614 ]) 615AC_OUTPUT 616