1dnl Process this file with autoconf to produce a configure script. 2AC_INIT 3AC_CONFIG_SRCDIR([dhcp6c.c]) 4 5dnl Checks for programs. 6AC_PROG_INSTALL 7AC_PROG_MAKE_SET 8AC_PROG_CC 9AC_PROG_CPP 10AC_PROG_YACC 11AC_PROG_LEX 12 13dnl Checks for libraries. 14dnl AC_CHECK_LIB(c, kvm_open, [], [AC_CHECK_LIB(kvm, kvm_open)]) 15dnl AC_CHECK_LIB(mld, nlist) 16AC_CHECK_LIB(crypto, MD5_Init, [], [AC_CHECK_LIB(ssl, MD5_Init)]) 17AC_CHECK_LIB(resolv, __dn_comp, [], []) 18dnl pcap library 19dnl CFLAGS="-I. $CFLAGS" 20dnl AC_MSG_CHECKING(for pcap library/header) 21dnl for dir in /usr/local/libpcap /usr/local/v6 /usr/local \ 22dnl ../libpcap* ../../libpcap*; do 23dnl ac_cv_pcap_lib=no 24dnl ac_cv_pcap_include=no 25dnl if test -d $dir -a -f $dir/libpcap.a; then 26dnl ac_cv_pcap_lib="$dir" 27dnl elif test -d $dir/lib -a -f $dir/lib/libpcap.a; then 28dnl ac_cv_pcap_lib="$dir/lib" 29dnl fi 30dnl if test -d $dir -a -f $dir/pcap.h; then 31dnl ac_cv_pcap_include="$dir" 32dnl elif test -d $dir/include -a -f $dir/include/pcap.h; then 33dnl ac_cv_pcap_include="$dir/include" 34dnl fi 35dnl if test "$ac_cv_pcap_lib" != "no" -a "$ac_cv_pcap_include" != "no"; then 36dnl LIBS="-L$ac_cv_pcap_lib $LIBS" 37dnl CFLAGS="-I$ac_cv_pcap_include $CFLAGS" 38dnl break 39dnl fi 40dnl done 41dnl if test "$ac_cv_pcap_lib" = "no" -a "$ac_cv_pcap_include" = "no"; then 42dnl AC_MSG_RESULT(no) 43dnl else 44dnl AC_MSG_RESULT($ac_cv_pcap_lib and $ac_cv_pcap_include) 45dnl fi 46dnl AC_CHECK_LIB(pcap, pcap_lookupdev, [], 47dnl [echo "Fatal: libpcap.a not found" 48dnl exit 1]) 49dnl AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pcap.h>]], [[]])],[],[dnl 50dnl echo "Fatal: pcap.h not found" 51dnl exit 1]) 52 53CFLAGS="$CFLAGS -I\$(srcdir)" 54 55AC_MSG_CHECKING(for getaddrinfo/getnameinfo library) 56AC_EGREP_CPP(yes, 57[#include <netinet/in.h> 58#ifdef __KAME__ 59 yes 60#endif], [result=kame]) 61AC_MSG_RESULT($result) 62case $result in 63kame) AC_DEFINE(INET6) 64 o_LIBS="$LIBS" 65 LIBS="$LIBS -L/usr/local/v6/lib -L/usr/lib" 66 AC_CHECK_LIB(inet6, getaddrinfo, [], [LIBS="$o_LIBS"]) 67 ;; 68*) ;; 69esac 70 71AC_REPLACE_FUNCS(getaddrinfo) 72AC_REPLACE_FUNCS(getnameinfo) 73AC_REPLACE_FUNCS(ifaddrs) 74AC_CHECK_FUNCS(if_nametoindex) 75 76dnl Checks for header files. 77AC_HEADER_STDC 78AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h ifaddrs.h) 79AC_MSG_CHECKING(for socklen_t) 80AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h> 81#include <sys/socket.h>]], [[socklen_t x; x = 1; return x;]])],[AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no) 82 AC_CHECK_TYPE(socklen_t, int)]) 83 84dnl Checks for typedefs, structures, and compiler characteristics. 85AC_C_CONST 86AC_TYPE_SIZE_T 87AC_HEADER_TIME 88AC_STRUCT_TM 89AC_STRUCT_TIMEZONE 90 91dnl Checks for library functions. 92AC_FUNC_GETPGRP 93AC_PROG_GCC_TRADITIONAL 94AC_FUNC_SETPGRP 95AC_TYPE_SIGNAL 96AC_CHECK_FUNCS(mktime select socket) 97 98dnl Checks for arc4random 99dnl AC_REPLACE_FUNCS(arc4random) 100 101dnl Checks for optinal parameters 102AC_MSG_CHECKING(if --enable-mediator option is specified) 103AC_ARG_WITH(mediator, [ --with-mediator build with mediator (obsolete)], 104 [AC_DEFINE(MEDIATOR) 105 with_mediator=yes], [with_mediator=no]) 106AC_MSG_RESULT($with_mediator); 107 108AC_MSG_CHECKING(if --enable-pedant option is specified) 109AC_ARG_ENABLE(pedant, [ --enable-pedant pedantic compilation], 110 [if test "$enableval" = "yes"; then 111 CFLAGS="-Wall -Werror $CFLAGS" 112 fi], [enableval=no]) 113AC_MSG_RESULT($enableval); 114 115dnl Checks predeclared identifers of function names 116AC_MSG_CHECKING(ANSI predeclared __func__) 117AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void func(void) {printf("%s\n", __func__);}]])],[AC_MSG_RESULT(yes) 118 pred_func_id=ansi],[AC_MSG_RESULT(no) 119 pred_func_id=no]) 120if test $pred_func_id = no; then 121AC_MSG_CHECKING(gcc predelcared __FUNCTION__) 122 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void func(void) {printf("%s\n", __FUNCTION__);}]])],[AC_MSG_RESULT(yes) 123 pred_func_id=gcc],[AC_MSG_RESULT(no) 124 pred_func_id=no]) 125fi 126case $pred_func_id in 127 ansi) 128 AC_DEFINE(HAVE_ANSI_FUNC) 129 ;; 130 gcc) 131 AC_DEFINE(HAVE_GCC_FUNCTION) 132 ;; 133esac 134 135AC_CHECK_HEADERS(stdarg.h) 136 137AC_CONFIG_FILES([Makefile]) 138AC_OUTPUT 139