Diff for /embedaddon/quagga/configure.ac between versions 1.1.1.4 and 1.1.1.5

version 1.1.1.4, 2013/07/21 23:54:37 version 1.1.1.5, 2016/11/02 10:09:09
Line 5 Line 5
 ##  Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>  ##  Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
 ##  Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>  ##  Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>
 ##  ##
AC_PREREQ(2.53)AC_PREREQ(2.60)
   
AC_INIT(Quagga, 0.99.22, [https://bugzilla.quagga.net])AC_INIT(Quagga, 1.0.20160315, [https://bugzilla.quagga.net])
 CONFIG_ARGS="$*"
 AC_SUBST(CONFIG_ARGS)
 AC_CONFIG_SRCDIR(lib/zebra.h)  AC_CONFIG_SRCDIR(lib/zebra.h)
 AC_CONFIG_MACRO_DIR([m4])  AC_CONFIG_MACRO_DIR([m4])
   
Line 19  AC_CANONICAL_HOST() Line 21  AC_CANONICAL_HOST()
 AC_CANONICAL_TARGET()  AC_CANONICAL_TARGET()
   
 AM_INIT_AUTOMAKE(1.6)  AM_INIT_AUTOMAKE(1.6)
   AM_SILENT_RULES([yes])
 AC_CONFIG_HEADERS(config.h)  AC_CONFIG_HEADERS(config.h)
   
 AC_PATH_PROG(PERL, perl)  AC_PATH_PROG(PERL, perl)
Line 32  AC_ARG_VAR([GAWK],[GNU AWK]) Line 35  AC_ARG_VAR([GAWK],[GNU AWK])
 dnl default is to match previous behavior  dnl default is to match previous behavior
 exampledir=${sysconfdir}  exampledir=${sysconfdir}
 AC_ARG_ENABLE([exampledir],  AC_ARG_ENABLE([exampledir],
          AC_HELP_STRING([--enable-exampledir],          AS_HELP_STRING([--enable-exampledir],
                          [specify alternate directory for examples]),                           [specify alternate directory for examples]),
                          exampledir="$enableval",)                           exampledir="$enableval",)
 dnl XXX add --exampledir to autoconf standard directory list somehow  dnl XXX add --exampledir to autoconf standard directory list somehow
Line 42  dnl default is to match previous behavior Line 45  dnl default is to match previous behavior
 pkgsrcrcdir=""  pkgsrcrcdir=""
 pkgsrcdir=""  pkgsrcdir=""
 AC_ARG_ENABLE([pkgsrcrcdir],  AC_ARG_ENABLE([pkgsrcrcdir],
          AC_HELP_STRING([--enable-pkgsrcrcdir],          AS_HELP_STRING([--enable-pkgsrcrcdir],
                          [specify directory for rc.d scripts]),                           [specify directory for rc.d scripts]),
                          pkgsrcrcdir="$enableval"; pkgsrcdir="pkgsrc",)                           pkgsrcrcdir="$enableval"; pkgsrcdir="pkgsrc",)
 dnl XXX add --pkgsrcrcdir to autoconf standard directory list somehow  dnl XXX add --pkgsrcrcdir to autoconf standard directory list somehow
Line 67  AC_LANG([C]) Line 70  AC_LANG([C])
 AC_PROG_CC  AC_PROG_CC
 AC_PROG_CPP  AC_PROG_CPP
 AM_PROG_CC_C_O  AM_PROG_CC_C_O
   AC_PROG_RANLIB
 AC_PROG_EGREP  AC_PROG_EGREP
   
 dnl autoconf 2.59 appears not to support AC_PROG_SED  dnl autoconf 2.59 appears not to support AC_PROG_SED
Line 83  else Line 87  else
 fi  fi
 AM_CONDITIONAL([HAVE_LATEX], [test "x$HAVE_LATEX" = "xtrue"])  AM_CONDITIONAL([HAVE_LATEX], [test "x$HAVE_LATEX" = "xtrue"])
   
dnl ------------------------------------------------------------------if test "x${GCC}" != "xyes" ; then
dnl Intel compiler check. Although Intel tries really hard to make icc 
dnl look like gcc, there are some differences. It's very verbose with 
dnl -Wall and it doesn't support the individual -W options. 
dnl ------------------------------------------------------------------ 
if test "x${GCC}" = "xyes" ; then 
  COMPILER="GCC" 
  AC_MSG_CHECKING([whether we are using the Intel compiler]) 
  AC_EGREP_CPP([^__INTEL_COMPILER], [__INTEL_COMPILER], 
      [AC_MSG_RESULT([no])], 
      [COMPILER="ICC" 
       AC_MSG_RESULT([yes])] 
  ) 
else 
   AC_MSG_CHECKING([whether we are using SunPro compiler])    AC_MSG_CHECKING([whether we are using SunPro compiler])
   AC_EGREP_CPP([^__SUNPRO_C.*0x5(7|8|9)], ["__SUNPRO_C" __SUNPRO_C],    AC_EGREP_CPP([^__SUNPRO_C.*0x5(7|8|9)], ["__SUNPRO_C" __SUNPRO_C],
       [AC_MSG_RESULT([no])],        [AC_MSG_RESULT([no])],
Line 112  dnl already, eg "-O2 -g" for gcc, "-g" for others Line 103  dnl already, eg "-O2 -g" for gcc, "-g" for others
 dnl (Wall is gcc specific... have to make sure  dnl (Wall is gcc specific... have to make sure
 dnl  gcc is being used before setting it)  dnl  gcc is being used before setting it)
 dnl  dnl
 dnl Intel icc 8.0 also sets __GNUC__,   
 dnl but doesn't support all these fancy -W options.  
 dnl Intel compiler warnings we ignore:  
 dnl 279: controlling expression is constant.  
 dnl 869: parameter "xxx" was never referenced - to avoid massive warnings  
 dnl      about "self", "vty", "argc" and "argv" never referenced in DEFUN  
 dnl      macro.  
 dnl 981: operands are evaluated in unspecified order.  
 dnl  
 dnl Sun Studio 10 / SunPro 5.7 is also supported,  dnl Sun Studio 10 / SunPro 5.7 is also supported,
 dnl so lets set some sane CFLAGS for it.  dnl so lets set some sane CFLAGS for it.
 dnl ---------------------------------------------  dnl ---------------------------------------------
   
   AC_USE_SYSTEM_EXTENSIONS()
   AC_DEFUN([AC_C_FLAG], [{
           AC_LANG_PUSH(C)
           ac_c_flag_save="$CFLAGS"
           CFLAGS="$CFLAGS $1"
           AC_MSG_CHECKING([[whether $CC supports $1]])
           AC_COMPILE_IFELSE(
                   [AC_LANG_PROGRAM([[]])],
                   [
                           AC_MSG_RESULT([yes])
                           m4_if([$3], [], [], [
                                   CFLAGS="$ac_c_flag_save"
                                   $3
                           ])
                   ], [
                           CFLAGS="$ac_c_flag_save"
                           AC_MSG_RESULT([no])
                           $2
                   ])
           AC_LANG_POP(C)
           }])
   
 AC_MSG_CHECKING([whether to set a default CFLAGS])  AC_MSG_CHECKING([whether to set a default CFLAGS])
 if test "x${cflags_specified}" = "x" ; then  if test "x${cflags_specified}" = "x" ; then
   case ${COMPILER} in    case ${COMPILER} in
     "ICC")  
         CFLAGS="-Os -g -Wall"  
         AC_MSG_RESULT([Intel default])  
         ;;  
     "GCC")  
         CFLAGS="-Os -fno-omit-frame-pointer -g -std=gnu99 -Wall"  
         CFLAGS="${CFLAGS} -Wsign-compare -Wpointer-arith"  
         CFLAGS="${CFLAGS} -Wbad-function-cast -Wwrite-strings"  
         CFLAGS="${CFLAGS} -Wmissing-prototypes -Wmissing-declarations"  
         CFLAGS="${CFLAGS} -Wchar-subscripts -Wcast-qual"  
         # TODO: conditionally addd -Wpacked if handled  
         AC_MSG_RESULT([gcc default])  
         ;;  
     "SUNPRO")      "SUNPRO")
        CFLAGS="-xO4 -v -g -xspace -xcode=pic32 -xstrconst -xc99"        CFLAGS="-xO4 -v -g -xspace -xcode=pic32 -xstrconst -xc99"
        AC_MSG_RESULT([SunPro default])        AC_MSG_RESULT([SunPro default])
        ;;        ;;
     *)      *)
        AC_MSG_RESULT([unknown compiler])        AC_MSG_RESULT([autodetecting])
 
         AC_C_FLAG([-diag-error 10006])
         AC_C_FLAG([-std=gnu99])
         AC_C_FLAG([-g])
         AC_C_FLAG([-Os], [
           AC_C_FLAG([-O2])
         ])
         AC_C_FLAG([-fpie])
         AC_C_FLAG([-fno-omit-frame-pointer])
         AC_C_FLAG([-Wall])
         AC_C_FLAG([-Wextra])
         AC_C_FLAG([-Wmissing-prototypes])
         AC_C_FLAG([-Wmissing-declarations])
         AC_C_FLAG([-Wpointer-arith])
         AC_C_FLAG([-Wbad-function-cast])
         AC_C_FLAG([-Wwrite-strings])
         if test x"${enable_gcc_ultra_verbose}" = x"yes" ; then
           AC_C_FLAG([-Wcast-qual])
           AC_C_FLAG([-Wstrict-prototypes])
           AC_C_FLAG([-Wmissing-noreturn])
           AC_C_FLAG([-Wmissing-format-attribute])
           AC_C_FLAG([-Wunreachable-code])
           AC_C_FLAG([-Wpacked])
           AC_C_FLAG([-Wpadded])
         else
           AC_C_FLAG([-Wno-unused-result])
         fi
         AC_C_FLAG([-Wno-unused-parameter])
         AC_C_FLAG([-Wno-missing-field-initializers])
         # ICC emits a broken warning for const char *x = a ? "b" : "c";
         # for some reason the string consts get 'promoted' to char *,
         # triggering a const to non-const conversion warning.
         AC_C_FLAG([-diag-disable 3179])
         ;;          ;;
   esac    esac
 else  else
   AC_MSG_RESULT([CFLAGS supplied by user])    AC_MSG_RESULT([CFLAGS supplied by user])
 fi  fi
   
   if test x"${enable_werror}" = x"yes" ; then
     WERROR="-Werror"
   fi
   AC_SUBST(WERROR)
   
 dnl --------------  dnl --------------
 dnl Check programs  dnl Check programs
 dnl --------------  dnl --------------
Line 185  AC_GNU_SOURCE Line 214  AC_GNU_SOURCE
 dnl -------  dnl -------
 dnl libtool  dnl libtool
 dnl -------  dnl -------
AC_PROG_LIBTOOLLT_INIT
   
 dnl ----------------------  dnl ----------------------
 dnl Packages configuration  dnl Packages configuration
Line 197  AC_ARG_WITH(pkg-git-version, Line 226  AC_ARG_WITH(pkg-git-version,
         AS_HELP_STRING([--with-pkg-git-version], [add git information to MOTD and build version string]),          AS_HELP_STRING([--with-pkg-git-version], [add git information to MOTD and build version string]),
         [ test "x$withval" != "xno" && with_pkg_git_version="yes" ])          [ test "x$withval" != "xno" && with_pkg_git_version="yes" ])
 AC_ARG_ENABLE(vtysh,  AC_ARG_ENABLE(vtysh,
[  --enable-vtysh          include integrated vty shell for Quagga])  AS_HELP_STRING([--disable-vtysh], [do not build integrated vty shell for Quagga]))
AC_ARG_ENABLE(ipv6, 
[  --disable-ipv6          turn off IPv6 related features and daemons]) 
 AC_ARG_ENABLE(doc,  AC_ARG_ENABLE(doc,
[  --disable-doc           do not build docs])  AS_HELP_STRING([--disable-doc], [do not build docs]))
AC_ARG_ENABLE(tests, 
[  --disable-tests         do not build tests]) 
 AC_ARG_ENABLE(zebra,  AC_ARG_ENABLE(zebra,
[  --disable-zebra         do not build zebra daemon])  AS_HELP_STRING([--disable-zebra], [do not build zebra daemon]))
 AC_ARG_ENABLE(bgpd,  AC_ARG_ENABLE(bgpd,
[  --disable-bgpd          do not build bgpd])  AS_HELP_STRING([--disable-bgpd], [do not build bgpd]))
 AC_ARG_ENABLE(ripd,  AC_ARG_ENABLE(ripd,
[  --disable-ripd          do not build ripd])  AS_HELP_STRING([--disable-ripd], [do not build ripd]))
 AC_ARG_ENABLE(ripngd,  AC_ARG_ENABLE(ripngd,
[  --disable-ripngd        do not build ripngd])  AS_HELP_STRING([--disable-ripngd], [do not build ripngd]))
 AC_ARG_ENABLE(ospfd,  AC_ARG_ENABLE(ospfd,
[  --disable-ospfd         do not build ospfd])  AS_HELP_STRING([--disable-ospfd], [do not build ospfd]))
 AC_ARG_ENABLE(ospf6d,  AC_ARG_ENABLE(ospf6d,
[  --disable-ospf6d        do not build ospf6d])  AS_HELP_STRING([--disable-ospf6d], [do not build ospf6d]))
AC_ARG_ENABLE(babeld, 
[  --disable-babeld        do not build babeld]) 
 AC_ARG_ENABLE(watchquagga,  AC_ARG_ENABLE(watchquagga,
[  --disable-watchquagga   do not build watchquagga])  AS_HELP_STRING([--disable-watchquagga], [do not build watchquagga]))
 AC_ARG_ENABLE(isisd,  AC_ARG_ENABLE(isisd,
[  --enable-isisd          build isisd])  AS_HELP_STRING([--disable-isisd], [do not build isisd]))
AC_ARG_ENABLE(solaris,AC_ARG_ENABLE(pimd,
[  --enable-solaris          build solaris])  AS_HELP_STRING([--disable-pimd], [do not build pimd]))
 AC_ARG_ENABLE(bgp-announce,  AC_ARG_ENABLE(bgp-announce,
[  --disable-bgp-announce, turn off BGP route announcement])  AS_HELP_STRING([--disable-bgp-announce,], [turn off BGP route announcement]))
AC_ARG_ENABLE(netlink, 
[  --enable-netlink        force to use Linux netlink interface]) 
AC_ARG_ENABLE(broken-aliases, 
[  --enable-broken-aliases enable aliases as distinct interfaces for Linux 2.2.X]) 
 AC_ARG_ENABLE(snmp,  AC_ARG_ENABLE(snmp,
[  --enable-snmp=ARG       enable SNMP support (smux or agentx)])  AS_HELP_STRING([--enable-snmp=ARG], [enable SNMP support (smux or agentx)]))
 AC_ARG_WITH(libpam,  AC_ARG_WITH(libpam,
[  --with-libpam           use libpam for PAM support in vtysh])  AS_HELP_STRING([--with-libpam], [use libpam for PAM support in vtysh]))
 AC_ARG_ENABLE(tcp-zebra,  AC_ARG_ENABLE(tcp-zebra,
[  --enable-tcp-zebra      enable TCP/IP socket connection between zebra and protocol daemon])  AS_HELP_STRING([--enable-tcp-zebra], [enable TCP/IP socket connection between zebra and protocol daemon]))
AC_ARG_ENABLE(opaque-lsa, 
  AC_HELP_STRING([--disable-opaque-lsa],[do not build OSPF Opaque-LSA with OSPFAPI support (RFC2370)])) 
 AC_ARG_ENABLE(ospfapi,  AC_ARG_ENABLE(ospfapi,
[  --disable-ospfapi       do not build OSPFAPI to access the OSPF LSA Database])  AS_HELP_STRING([--disable-ospfapi], [do not build OSPFAPI to access the OSPF LSA Database]))
 AC_ARG_ENABLE(ospfclient,  AC_ARG_ENABLE(ospfclient,
[  --disable-ospfclient    do not build OSPFAPI client for OSPFAPI,   AS_HELP_STRING([--disable-ospfclient], [do not build OSPFAPI client for OSPFAPI,
                          (this is the default if --disable-ospfapi is set)])                          (this is the default if --disable-ospfapi is set)]))
AC_ARG_ENABLE(ospf-te, 
  AC_HELP_STRING([--disable-ospf-te],[disable Traffic Engineering Extension to OSPF])) 
 AC_ARG_ENABLE(multipath,  AC_ARG_ENABLE(multipath,
[  --enable-multipath=ARG  enable multipath function, ARG must be digit])  AS_HELP_STRING([--enable-multipath=ARG], [enable multipath function, ARG must be digit]))
 AC_ARG_ENABLE(user,  AC_ARG_ENABLE(user,
  AC_HELP_STRING([--enable-user=user], [user to run Quagga suite as (default quagga)]))  AS_HELP_STRING([--enable-user=USER], [user to run Quagga suite as (default quagga)]))
 AC_ARG_ENABLE(group,  AC_ARG_ENABLE(group,
  AC_HELP_STRING([--enable-group=group], [group to run Quagga suite as (default quagga)]))  AS_HELP_STRING([--enable-group=GROUP], [group to run Quagga suite as (default quagga)]))
 AC_ARG_ENABLE(vty_group,  AC_ARG_ENABLE(vty_group,
[  --enable-vty-group=ARG  set vty sockets to have specified group as owner])  AS_HELP_STRING([--enable-vty-group=ARG], [set vty sockets to have specified group as owner]))
 AC_ARG_ENABLE(configfile_mask,  AC_ARG_ENABLE(configfile_mask,
[  --enable-configfile-mask=ARG  set mask for config files])  AS_HELP_STRING([--enable-configfile-mask=ARG], [set mask for config files]))
 AC_ARG_ENABLE(logfile_mask,  AC_ARG_ENABLE(logfile_mask,
[  --enable-logfile-mask=ARG     set mask for log files])  AS_HELP_STRING([--enable-logfile-mask=ARG], [set mask for log files]))
   
 AC_ARG_ENABLE(rtadv,  AC_ARG_ENABLE(rtadv,
[  --disable-rtadv               disable IPV6 router advertisement feature])  AS_HELP_STRING([--disable-rtadv], [disable IPV6 router advertisement feature]))
 AC_ARG_ENABLE(irdp,  AC_ARG_ENABLE(irdp,
[  --enable-irdp                 enable IRDP server support in zebra])  AS_HELP_STRING([--enable-irdp], [enable IRDP server support in zebra]))
 AC_ARG_ENABLE(isis_topology,  AC_ARG_ENABLE(isis_topology,
[  --enable-isis-topology        enable IS-IS topology generator])  AS_HELP_STRING([--enable-isis-topology], [enable IS-IS topology generator]))
 AC_ARG_ENABLE(capabilities,  AC_ARG_ENABLE(capabilities,
[  --disable-capabilities        disable using POSIX capabilities])  AS_HELP_STRING([--disable-capabilities], [disable using POSIX capabilities]))
 AC_ARG_ENABLE(rusage,  AC_ARG_ENABLE(rusage,
[  --disable-rusage              disable using getrusage])  AS_HELP_STRING([--disable-rusage], [disable using getrusage]))
 AC_ARG_ENABLE(gcc_ultra_verbose,  AC_ARG_ENABLE(gcc_ultra_verbose,
[  --enable-gcc-ultra-verbose    enable ultra verbose GCC warnings])  AS_HELP_STRING([--enable-gcc-ultra-verbose], [enable ultra verbose GCC warnings]))
 AC_ARG_ENABLE(linux24_tcp_md5,  AC_ARG_ENABLE(linux24_tcp_md5,
[  --enable-linux24-tcp-md5  enable support for old, Linux-2.4 RFC2385 patch])  AS_HELP_STRING([--enable-linux24-tcp-md5], [enable support for old, Linux-2.4 RFC2385 patch]))
 AC_ARG_ENABLE(gcc-rdynamic,  AC_ARG_ENABLE(gcc-rdynamic,
[  --enable-gcc-rdynamic   enable gcc linking with -rdynamic for better backtraces])  AS_HELP_STRING([--enable-gcc-rdynamic], [enable linking with -rdynamic for better backtraces (default if gcc)]))
 AC_ARG_ENABLE(backtrace,
   AS_HELP_STRING([--disable-backtrace,], [disable crash backtraces (default autodetect)]))
 AC_ARG_ENABLE(time-check,  AC_ARG_ENABLE(time-check,
[  --disable-time-check          disable slow thread warning messages])  AS_HELP_STRING([--disable-time-check], [disable slow thread warning messages]))
 AC_ARG_ENABLE(pcreposix,  AC_ARG_ENABLE(pcreposix,
[  --enable-pcreposix          enable using PCRE Posix libs for regex functions])  AS_HELP_STRING([--enable-pcreposix], [enable using PCRE Posix libs for regex functions]))
 AC_ARG_ENABLE(fpm,  AC_ARG_ENABLE(fpm,
[  --enable-fpm            enable Forwarding Plane Manager support])  AS_HELP_STRING([--enable-fpm], [enable Forwarding Plane Manager support]))
 AC_ARG_ENABLE(werror,
   AS_HELP_STRING([--enable-werror], [enable -Werror (recommended for developers only)]))
   
if test x"${enable_gcc_ultra_verbose}" = x"yes" ; thenif test x"${enable_gcc_rdynamic}" != x"no" ; then
  CFLAGS="${CFLAGS} -W -Wcast-qual -Wstrict-prototypes"  if test x"${enable_gcc_rdynamic}" = x"yes" -o x"$COMPILER" = x"GCC"; then
  CFLAGS="${CFLAGS} -Wmissing-declarations -Wmissing-noreturn"    LDFLAGS="${LDFLAGS} -rdynamic"
  CFLAGS="${CFLAGS} -Wmissing-format-attribute -Wunreachable-code"  fi
  CFLAGS="${CFLAGS} -Wpacked -Wpadded" 
 fi  fi
   
 if test x"${enable_gcc_rdynamic}" = x"yes" ; then  
   LDFLAGS="${LDFLAGS} -rdynamic"  
 fi  
   
 if test x"${enable_time_check}" != x"no" ; then  if test x"${enable_time_check}" != x"no" ; then
   if test x"${enable_time_check}" = x"yes" -o x"${enable_time_check}" = x ; then    if test x"${enable_time_check}" = x"yes" -o x"${enable_time_check}" = x ; then
     AC_DEFINE(CONSUMED_TIME_CHECK,5000000,Consumed Time Check)      AC_DEFINE(CONSUMED_TIME_CHECK,5000000,Consumed Time Check)
Line 304  if test "${enable_fpm}" = "yes"; then Line 318  if test "${enable_fpm}" = "yes"; then
    AC_DEFINE(HAVE_FPM,,Forwarding Plane Manager support)     AC_DEFINE(HAVE_FPM,,Forwarding Plane Manager support)
 fi  fi
   
 if test "${enable_broken_aliases}" = "yes"; then  
   if test "${enable_netlink}" = "yes"  
   then  
     AC_MSG_FAILURE([Sorry you can not use netlink with broken aliases])  
   fi  
   AC_DEFINE(HAVE_BROKEN_ALIASES,,Broken Alias)  
   enable_netlink=no  
 fi  
   
 if test "${enable_tcp_zebra}" = "yes"; then  if test "${enable_tcp_zebra}" = "yes"; then
   AC_DEFINE(HAVE_TCP_ZEBRA,,Use TCP for zebra communication)    AC_DEFINE(HAVE_TCP_ZEBRA,,Use TCP for zebra communication)
 fi  fi
   
 if test "${enable_opaque_lsa}" != "no"; then  
   AC_DEFINE(HAVE_OPAQUE_LSA,,OSPF Opaque LSA)  
 fi  
   
 if test "${enable_ospf_te}" != "no"; then  
   AC_DEFINE(HAVE_OPAQUE_LSA,,OSPF Opaque LSA)  
   AC_DEFINE(HAVE_OSPF_TE,,OSPF TE)  
 fi  
   
 if test "${enable_linux24_tcp_md5}" = "yes"; then  if test "${enable_linux24_tcp_md5}" = "yes"; then
   AC_DEFINE(HAVE_TCP_MD5_LINUX24,,Old Linux 2.4 TCP MD5 Signature Patch)    AC_DEFINE(HAVE_TCP_MD5_LINUX24,,Old Linux 2.4 TCP MD5 Signature Patch)
 fi  fi
Line 342  if test "${enable_irdp}" = "yes"; then Line 338  if test "${enable_irdp}" = "yes"; then
   AC_DEFINE(HAVE_IRDP,, IRDP )    AC_DEFINE(HAVE_IRDP,, IRDP )
 fi  fi
   
if test "${enable_isisd}" = "yes" && test "${enable_isis_topology}" = yes; thenif test "${enable_isisd}" != "no" && test "${enable_isis_topology}" = yes; then
   AC_DEFINE(TOPOLOGY_GENERATE,,Enable IS-IS topology generator code)    AC_DEFINE(TOPOLOGY_GENERATE,,Enable IS-IS topology generator code)
   ISIS_TOPOLOGY_INCLUDES="-I\$(srcdir)/topology"    ISIS_TOPOLOGY_INCLUDES="-I\$(srcdir)/topology"
   ISIS_TOPOLOGY_DIR="topology"    ISIS_TOPOLOGY_DIR="topology"
Line 384  AC_DEFINE_UNQUOTED(CONFIGFILE_MASK, ${enable_configfil Line 380  AC_DEFINE_UNQUOTED(CONFIGFILE_MASK, ${enable_configfil
 enable_logfile_mask=${enable_logfile_mask:-0600}  enable_logfile_mask=${enable_logfile_mask:-0600}
 AC_DEFINE_UNQUOTED(LOGFILE_MASK, ${enable_logfile_mask}, Mask for log files)  AC_DEFINE_UNQUOTED(LOGFILE_MASK, ${enable_logfile_mask}, Mask for log files)
   
MULTIPATH_NUM=1MPATH_NUM=1
   
 case "${enable_multipath}" in  case "${enable_multipath}" in
  [[0-9]|[1-9][0-9]])  0)
    MULTIPATH_NUM="${enable_multipath}"    MPATH_NUM=64
     ;;      ;;
     [[1-9]|[1-9][0-9]|[1-9][0-9][0-9]])
       MPATH_NUM="${enable_multipath}"
       ;;
   "")    "")
     ;;      ;;
   *)               *)           
Line 397  case "${enable_multipath}" in Line 396  case "${enable_multipath}" in
     ;;      ;;
 esac  esac
   
AC_SUBST(MULTIPATH_NUM)AC_DEFINE_UNQUOTED(MULTIPATH_NUM, $MPATH_NUM, Maximum number of paths for a route)
   
 dnl -----------------------------------  dnl -----------------------------------
 dnl Add extra version string to package  dnl Add extra version string to package
Line 428  AC_C_VOLATILE Line 427  AC_C_VOLATILE
 AC_HEADER_STDC  AC_HEADER_STDC
 AC_HEADER_TIME  AC_HEADER_TIME
 AC_HEADER_SYS_WAIT  AC_HEADER_SYS_WAIT
   AC_HEADER_STDBOOL
 dnl AC_TYPE_PID_T  dnl AC_TYPE_PID_T
 AC_TYPE_UID_T  AC_TYPE_UID_T
 AC_TYPE_MODE_T  AC_TYPE_MODE_T
 AC_TYPE_SIZE_T  AC_TYPE_SIZE_T
 AC_TYPE_SIGNAL  
 AC_STRUCT_TM  AC_STRUCT_TM
   
 dnl -------------------------  dnl -------------------------
Line 440  dnl Check other header files. Line 439  dnl Check other header files.
 dnl -------------------------  dnl -------------------------
 AC_CHECK_HEADERS([stropts.h sys/ksym.h sys/times.h sys/select.h \  AC_CHECK_HEADERS([stropts.h sys/ksym.h sys/times.h sys/select.h \
         sys/types.h linux/version.h netdb.h asm/types.h \          sys/types.h linux/version.h netdb.h asm/types.h \
        sys/param.h limits.h signal.h \        sys/cdefs.h sys/param.h limits.h signal.h \
         sys/socket.h netinet/in.h time.h sys/time.h])          sys/socket.h netinet/in.h time.h sys/time.h])
   
 dnl Utility macro to avoid retyping includes all the time  dnl Utility macro to avoid retyping includes all the time
Line 531  AC_CHECK_HEADERS([ucontext.h], [], [], Line 530  AC_CHECK_HEADERS([ucontext.h], [], [],
 QUAGGA_INCLUDES  QUAGGA_INCLUDES
 ])  ])
   
   m4_define([UCONTEXT_INCLUDES],
   [#include <ucontext.h>])dnl
   
   AC_CHECK_MEMBERS([ucontext_t.uc_mcontext.uc_regs],
     [], [], [UCONTEXT_INCLUDES])
   AC_CHECK_MEMBERS([ucontext_t.uc_mcontext.regs],
     [AC_CHECK_MEMBERS([ucontext_t.uc_mcontext.regs.nip],
      [], [], [UCONTEXT_INCLUDES])],
     [], [UCONTEXT_INCLUDES])
   AC_CHECK_MEMBERS([ucontext_t.uc_mcontext.gregs],
     [], [], [UCONTEXT_INCLUDES])
   
 m4_define([QUAGGA_INCLUDES],  m4_define([QUAGGA_INCLUDES],
 QUAGGA_INCLUDES  QUAGGA_INCLUDES
 [#if HAVE_SYS_UN_H  [#if HAVE_SYS_UN_H
Line 573  case "$host" in Line 584  case "$host" in
       AC_DEFINE(SUNOS_5, 1, SunOS 5)        AC_DEFINE(SUNOS_5, 1, SunOS 5)
       AC_CHECK_LIB(xnet, main)        AC_CHECK_LIB(xnet, main)
       CURSES=-lcurses        CURSES=-lcurses
         SOLARIS="solaris"
   ;;    ;;
   [*-sunos5.[8-9]] \    [*-sunos5.[8-9]] \
   | [*-sunos5.1[0-9]] \    | [*-sunos5.1[0-9]] \
Line 591  case "$host" in Line 603  case "$host" in
          AC_DEFINE([HAVE_STACK_TRACE],1,[Stack symbols decode functionality])           AC_DEFINE([HAVE_STACK_TRACE],1,[Stack symbols decode functionality])
         ])          ])
       CURSES=-lcurses        CURSES=-lcurses
         SOLARIS="solaris"
   ;;    ;;
   *-sunos5* | *-solaris2*)    *-sunos5* | *-solaris2*)
       AC_DEFINE(SUNOS_5,,SunOS 5, Unknown SunOS)        AC_DEFINE(SUNOS_5,,SunOS 5, Unknown SunOS)
       AC_CHECK_LIB(socket, main)        AC_CHECK_LIB(socket, main)
       AC_CHECK_LIB(nsl, main)        AC_CHECK_LIB(nsl, main)
       CURSES=-lcurses        CURSES=-lcurses
         SOLARIS="solaris"
   ;;    ;;
   *-linux*)    *-linux*)
       opsys=gnu-linux        opsys=gnu-linux
       AC_DEFINE(GNU_LINUX,,GNU Linux)        AC_DEFINE(GNU_LINUX,,GNU Linux)
   ;;    ;;
   *-nec-sysv4*)  
       AC_CHECK_LIB(nsl, gethostbyname)  
       AC_CHECK_LIB(socket, socket)  
   ;;  
   *-openbsd*)    *-openbsd*)
       opsys=openbsd        opsys=openbsd
       AC_DEFINE(OPEN_BSD,,OpenBSD)        AC_DEFINE(OPEN_BSD,,OpenBSD)
   ;;    ;;
   *-bsdi*)  
       opsys=bsdi  
       OTHER_METHOD="mtu_kvm.o"  
       AC_CHECK_LIB(kvm, main)  
   ;;  
   *-irix6.5)  
       opsys=irix  
       AC_DEFINE(IRIX_65,,IRIX 6.5)  
   ;;  
 esac  esac
   
 AC_SYS_LARGEFILE  AC_SYS_LARGEFILE
Line 627  dnl --------------------- Line 628  dnl ---------------------
 dnl Integrated VTY option  dnl Integrated VTY option
 dnl ---------------------  dnl ---------------------
 case "${enable_vtysh}" in  case "${enable_vtysh}" in
  "yes") VTYSH="vtysh";  "no") VTYSH="";;
   *)    VTYSH="vtysh";
          AC_DEFINE(VTYSH,,VTY shell)           AC_DEFINE(VTYSH,,VTY shell)
 dnl      Vtysh uses libreadline, which looks for termcap functions at  dnl      Vtysh uses libreadline, which looks for termcap functions at
 dnl      configure time.  We follow readlines search order.  dnl      configure time.  We follow readlines search order.
Line 657  dnl  [TODO] on Linux, and in [TODO] on Solaris. Line 659  dnl  [TODO] on Linux, and in [TODO] on Solaris.
          fi           fi
          ;;           ;;
   "no" ) VTYSH="";;    "no" ) VTYSH="";;
   *    ) ;;  
 esac  esac
 AC_SUBST(LIBREADLINE)  AC_SUBST(LIBREADLINE)
 AM_CONDITIONAL(VTYSH, test "x$VTYSH" = "xvtysh")  AM_CONDITIONAL(VTYSH, test "x$VTYSH" = "xvtysh")
Line 782  AC_CHECK_FUNCS([dup2 ftruncate getcwd gethostbyname ge Line 783  AC_CHECK_FUNCS([dup2 ftruncate getcwd gethostbyname ge
         strtol strtoul strlcat strlcpy \          strtol strtoul strlcat strlcpy \
         daemon snprintf vsnprintf \          daemon snprintf vsnprintf \
         if_nametoindex if_indextoname getifaddrs \          if_nametoindex if_indextoname getifaddrs \
        uname fcntl])        uname fcntl getgrouplist])
   
 AC_CHECK_FUNCS(setproctitle, ,  AC_CHECK_FUNCS(setproctitle, ,
   [AC_CHECK_LIB(util, setproctitle,     [AC_CHECK_LIB(util, setproctitle, 
Line 793  AC_CHECK_FUNCS(setproctitle, , Line 794  AC_CHECK_FUNCS(setproctitle, ,
   ]    ]
 )  )
   
   AC_CHECK_HEADER([asm-generic/unistd.h],
                   [AC_CHECK_DECL(__NR_setns,
                                  AC_DEFINE(HAVE_NETNS,, Have netns),,
                                  QUAGGA_INCLUDES [#include <asm-generic/unistd.h>
                                  ])
                    AC_CHECK_FUNCS(setns, AC_DEFINE(HAVE_SETNS,, Have setns))]
                  )
   
 dnl ------------------------------------  dnl ------------------------------------
 dnl Determine routing get and set method  dnl Determine routing get and set method
 dnl ------------------------------------  dnl ------------------------------------
 AC_MSG_CHECKING(zebra between kernel interface method)  AC_MSG_CHECKING(zebra between kernel interface method)
 if test x"$opsys" = x"gnu-linux"; then  if test x"$opsys" = x"gnu-linux"; then
  if test "${enable_netlink}" = "yes";then  AC_MSG_RESULT(netlink)
    AC_MSG_RESULT(netlink)  RT_METHOD=rt_netlink.o
    RT_METHOD=rt_netlink.o  AC_DEFINE(HAVE_NETLINK,,netlink)
    AC_DEFINE(HAVE_NETLINK,,netlink)  netlink=yes
    netlink=yeselse
  elif test "${enable_netlink}" = "no"; then 
    AC_MSG_RESULT(ioctl) 
    RT_METHOD=rt_ioctl.o 
    netlink=no 
  else 
    AC_MSG_RESULT(netlink) 
    RT_METHOD=rt_netlink.o 
    AC_DEFINE(HAVE_NETLINK,,netlink) 
    netlink=yes 
  fi 
elif test x"$opsys" = x"sol2-6";then 
   AC_MSG_RESULT(Route socket)    AC_MSG_RESULT(Route socket)
   KERNEL_METHOD="kernel_socket.o"    KERNEL_METHOD="kernel_socket.o"
   RT_METHOD="rt_socket.o"    RT_METHOD="rt_socket.o"
 elif test x"$opsys" = x"sol8";then  
   AC_MSG_RESULT(Route socket)  
   KERNEL_METHOD="kernel_socket.o"  
   RT_METHOD="rt_socket.o"  
 elif test "$opsys" = "irix" ; then  
   AC_MSG_RESULT(Route socket)  
   KERNEL_METHOD="kernel_socket.o"  
   RT_METHOD="rt_socket.o"  
 else  
   AC_TRY_RUN([#include <errno.h>  
 #include <sys/types.h>  
 #include <sys/socket.h>  
   
 main ()  
 {  
   int ac_sock;  
   
   ac_sock = socket (AF_ROUTE, SOCK_RAW, 0);  
   if (ac_sock < 0 && errno == EINVAL)  
     exit (1);  
   exit (0);  
 }],  
   [KERNEL_METHOD=kernel_socket.o  
    RT_METHOD=rt_socket.o  
    AC_MSG_RESULT(socket)],  
   [RT_METHOD=rt_ioctl.o  
    AC_MSG_RESULT(ioctl)],  
   [KERNEL_METHOD=kernel_socket.o  
    RT_METHOD=rt_socket.o  
    AC_MSG_RESULT(socket)])  
 fi  fi
 AC_SUBST(RT_METHOD)  AC_SUBST(RT_METHOD)
 AC_SUBST(KERNEL_METHOD)  AC_SUBST(KERNEL_METHOD)
 AC_SUBST(OTHER_METHOD)  
 AM_CONDITIONAL([HAVE_NETLINK], [test "x$netlink" = "xyes"])  AM_CONDITIONAL([HAVE_NETLINK], [test "x$netlink" = "xyes"])
   
 dnl --------------------------  dnl --------------------------
Line 925  AC_CACHE_CHECK([route read method], [quagga_cv_rtread_ Line 892  AC_CACHE_CHECK([route read method], [quagga_cv_rtread_
 [if test "x$netlink" = xyes; then  [if test "x$netlink" = xyes; then
   quagga_cv_rtread_method="netlink"    quagga_cv_rtread_method="netlink"
 else  else
for quagga_cv_rtread_method in /proc/net/route /dev/ip /dev/null;for quagga_cv_rtread_method in /dev/ip /dev/null;
 do  do
   test x`ls $quagga_cv_rtread_method 2>/dev/null` = x"$quagga_cv_rtread_method" && break    test x`ls $quagga_cv_rtread_method 2>/dev/null` = x"$quagga_cv_rtread_method" && break
 done  done
 case $quagga_cv_rtread_method in  case $quagga_cv_rtread_method in
   "/proc/net/route") quagga_cv_rtread_method="proc";;  
   "/dev/ip")    "/dev/ip")
                      case "$host" in                       case "$host" in
                        *-freebsd*)    quagga_cv_rtread_method="sysctl";;                         *-freebsd*)    quagga_cv_rtread_method="sysctl";;
Line 958  elif test "$opsys" = "sol8";then Line 924  elif test "$opsys" = "sol8";then
   AC_MSG_RESULT(Solaris GLIF)    AC_MSG_RESULT(Solaris GLIF)
   IF_METHOD=if_ioctl_solaris.o    IF_METHOD=if_ioctl_solaris.o
   IOCTL_METHOD=ioctl_solaris.o    IOCTL_METHOD=ioctl_solaris.o
 elif test "$opsys" = "irix" ; then  
   AC_MSG_RESULT(IRIX)  
   IF_METHOD=if_ioctl.o  
 elif test "$opsys" = "openbsd";then  elif test "$opsys" = "openbsd";then
   AC_MSG_RESULT(openbsd)    AC_MSG_RESULT(openbsd)
   IF_METHOD=if_ioctl.o    IF_METHOD=if_ioctl.o
Line 980  dnl figure out how to specify an interface in multicas Line 943  dnl figure out how to specify an interface in multicas
 dnl ---------------------------------------------------------------  dnl ---------------------------------------------------------------
 AC_CHECK_MEMBERS([struct ip_mreqn.imr_ifindex], [], [], QUAGGA_INCLUDES)  AC_CHECK_MEMBERS([struct ip_mreqn.imr_ifindex], [], [], QUAGGA_INCLUDES)
   
   AC_CHECK_HEADERS([linux/mroute.h], [], [],
   [
   #if HAVE_NETINET_IN_H
   #include<netinet/in.h>
   #endif])
 AC_MSG_CHECKING([for BSD struct ip_mreq hack])  AC_MSG_CHECKING([for BSD struct ip_mreq hack])
 AC_TRY_COMPILE([#ifdef HAVE_SYS_PARAM_H  AC_TRY_COMPILE([#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>  #include <sys/param.h>
#endif],[#if (defined(__FreeBSD__) && ((__FreeBSD_version >= 500022 && __FreeBSD_version < 700000) || (__FreeBSD_version < 500000 && __FreeBSD_version >= 440000))) || (defined(__NetBSD__) && defined(__NetBSD_Version__) && __NetBSD_Version__ >= 106010000) || defined(__OpenBSD__) || defined(__APPLE__)#endif],[#if (defined(__FreeBSD__) && ((__FreeBSD_version >= 500022 && __FreeBSD_version < 700000) || (__FreeBSD_version < 500000 && __FreeBSD_version >= 440000))) || (defined(__NetBSD__) && defined(__NetBSD_Version__) && __NetBSD_Version__ >= 106010000) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__DragonFly__) || defined(__sun)
   return (0);    return (0);
 #else  #else
   #error No support for BSD struct ip_mreq hack detected    #error No support for BSD struct ip_mreq hack detected
Line 1047  if test $ac_cv_have_decl_TCP_MD5SIG = no; then Line 1015  if test $ac_cv_have_decl_TCP_MD5SIG = no; then
        AC_CHECK_DECLS([TCP_MD5SIG], [], [], MD5_INCLUDES)])         AC_CHECK_DECLS([TCP_MD5SIG], [], [], MD5_INCLUDES)])
 fi  fi
   
 dnl -----------------------  
 dnl check proc file system.  
 dnl -----------------------  
 if test "$netlink" != yes; then  
   if test -r /proc/net/dev; then  
     AC_DEFINE(HAVE_PROC_NET_DEV,,/proc/net/dev)  
     IF_PROC=if_proc.o  
   fi  
   if test -r /proc/net/if_inet6; then  
     AC_DEFINE(HAVE_PROC_NET_IF_INET6,,/proc/net/if_inet6)  
     IF_PROC=if_proc.o  
   fi  
 fi  
 AC_SUBST(IF_PROC)  
   
 dnl -----------------------------  dnl -----------------------------
 dnl check ipforward detect method  dnl check ipforward detect method
 dnl -----------------------------  dnl -----------------------------
Line 1082  case $quagga_cv_ipforward_method in Line 1035  case $quagga_cv_ipforward_method in
   "/proc/net/snmp")  quagga_cv_ipforward_method="proc";;    "/proc/net/snmp")  quagga_cv_ipforward_method="proc";;
   "/dev/ip")             "/dev/ip")         
                      case "$host" in                       case "$host" in
                        *-nec-sysv4*)  quagga_cv_ipforward_method="ews";;  
                        *-freebsd*)    quagga_cv_ipforward_method="sysctl";;                         *-freebsd*)    quagga_cv_ipforward_method="sysctl";;
                        *)             quagga_cv_ipforward_method="solaris";;                         *)             quagga_cv_ipforward_method="solaris";;
                      esac;;                       esac;;
Line 1097  dnl ---------- Line 1049  dnl ----------
 dnl IPv6 check  dnl IPv6 check
 dnl ----------  dnl ----------
 AC_MSG_CHECKING(whether does this OS have IPv6 stack)  AC_MSG_CHECKING(whether does this OS have IPv6 stack)
 if test "${enable_ipv6}" = "no"; then  
   AC_MSG_RESULT(disabled)  
 else  
 dnl ----------  
 dnl INRIA IPv6  
 dnl ----------  
   if grep IPV6_INRIA_VERSION /usr/include/netinet/in.h >/dev/null 2>&1; then  
     zebra_cv_ipv6=yes  
     AC_DEFINE(HAVE_IPV6,1,INRIA IPv6)  
     AC_DEFINE(INRIA_IPV6,1,INRIA IPv6)  
     RIPNGD="ripngd"  
     OSPF6D="ospf6d"  
     LIB_IPV6=""  
     AC_MSG_RESULT(INRIA IPv6)  
 dnl ---------  dnl ---------
 dnl KAME IPv6  dnl KAME IPv6
 dnl ---------  dnl ---------
  elif grep WIDE /usr/include/netinet6/in6.h >/dev/null 2>&1; then  if grep WIDE /usr/include/netinet6/in6.h >/dev/null 2>&1; then
    zebra_cv_ipv6=yes 
    AC_DEFINE(HAVE_IPV6,1,KAME IPv6) 
     AC_DEFINE(KAME,1,KAME IPv6)      AC_DEFINE(KAME,1,KAME IPv6)
     RIPNGD="ripngd"  
     OSPF6D="ospf6d"  
     if test -d /usr/local/v6/lib -a -f /usr/local/v6/lib/libinet6.a; then  
       LIB_IPV6="-L/usr/local/v6/lib -linet6"  
     fi  
     AC_MSG_RESULT(KAME)      AC_MSG_RESULT(KAME)
 dnl -------------------------  
 dnl MUSICA IPv6  
 dnl  default host check  
 dnl  It is not used by Kheops  
 dnl -------------------------  
   elif grep MUSICA /usr/include6/netinet6/in6.h >/dev/null 2>&1; then  
     zebra_cv_ipv6=yes  
     AC_DEFINE(HAVE_IPV6,1,Musicia IPv6)  
     AC_DEFINE(MUSICA,1,Musica IPv6 stack)  
     AC_DEFINE(KAME,1,KAME IPv6 stack)  
     RIPNGD="ripngd"  
     OSPF6D="ospf6d"  
     if test -d /usr/local/v6/lib -a -f /usr/local/v6/lib/libinet6.a; then  
       LIB_IPV6="-L/usr/local/v6/lib -linet6"  
     fi  
     AC_MSG_RESULT(MUSICA)  
 dnl ---------  
 dnl NRL check  
 dnl ---------  
   elif grep NRL /usr/include/netinet6/in6.h >/dev/null 2>&1; then  
     zebra_cv_ipv6=yes  
     AC_DEFINE(HAVE_IPV6,1,NRL IPv6)  
     AC_DEFINE(NRL,1,NRL)  
     RIPNGD="ripngd"  
     OSPF6D="ospf6d"  
     if test x"$opsys" = x"bsdi";then  
       AC_DEFINE(BSDI_NRL,,BSDI)  
       AC_MSG_RESULT(BSDI_NRL)  
     else  
       AC_MSG_RESULT(NRL)  
     fi  
 dnl ------------------------------------  dnl ------------------------------------
 dnl Solaris 9, 10 and potentially higher  dnl Solaris 9, 10 and potentially higher
 dnl ------------------------------------  dnl ------------------------------------
   elif test x"$opsys" = x"sol8"; then    elif test x"$opsys" = x"sol8"; then
     zebra_cv_ipv6=yes;  
     AC_DEFINE(HAVE_IPV6, 1, IPv6)  
     AC_DEFINE(SOLARIS_IPV6, 1, Solaris IPv6)      AC_DEFINE(SOLARIS_IPV6, 1, Solaris IPv6)
     RIPNGD="ripngd"  
     OSPF6D="ospf6d"  
     AC_MSG_RESULT(Solaris IPv6)      AC_MSG_RESULT(Solaris IPv6)
 dnl ----------  dnl ----------
 dnl Linux IPv6  dnl Linux IPv6
 dnl ----------  dnl ----------
  elif test "${enable_ipv6}" = "yes"; then  elif test x"$opsys" = x"gnu-linux"; then
    AC_EGREP_CPP(yes, [    AC_DEFINE(LINUX_IPV6,1,Linux IPv6 stack)
      #include <linux/version.h>    AC_MSG_RESULT(Linux IPv6)
      /* 2.1.128 or later */ 
      #if LINUX_VERSION_CODE >= 0x020180 
      yes 
      #endif], 
      [zebra_cv_ipv6=yes 
       zebra_cv_linux_ipv6=yes 
       AC_MSG_RESULT(Linux IPv6)]) 
   else    else
    if test x`ls /proc/net/ipv6_route 2>/dev/null` = x"/proc/net/ipv6_route"    AC_MSG_ERROR([Failed to detect IPv6 stack])
     then 
      zebra_cv_ipv6=yes 
      zebra_cv_linux_ipv6=yes 
      AC_MSG_RESULT(Linux IPv6) 
    fi 
   fi    fi
   
  if test "$zebra_cv_linux_ipv6" = "yes";thendnl this is unconditial, for compatibility
    AC_MSG_CHECKING(whether libc has IPv6 support)AC_DEFINE(HAVE_IPV6,1,IPv6)
    AC_TRY_LINK([#include <netinet/in.h> 
    ],[ int a; a = (int) in6addr_any.s6_addr[0]; if (a != 12345) return a; ], 
    [AC_MSG_RESULT(yes) 
      zebra_cv_ipv6=yes 
      zebra_cv_linux_ipv6=yes], 
    [AC_MSG_RESULT(no) 
      zebra_cv_ipv6=no 
      zebra_cv_linux_ipv6=no]) 
  fi 
   
   if test "$zebra_cv_linux_ipv6" = "yes";then  
     AC_MSG_CHECKING(for GNU libc >= 2.1)  
     AC_DEFINE(HAVE_IPV6,1,Linux IPv6)  
     AC_EGREP_CPP(yes, [  
 #include <features.h>  
 #if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1  
   yes  
 #endif],   
       [glibc=yes  
        AC_DEFINE(LINUX_IPV6,1,Linux IPv6 stack)  
        AC_MSG_RESULT(yes)],   
       AC_MSG_RESULT(no)  
     )  
     RIPNGD="ripngd"  
     OSPF6D="ospf6d"  
     if test "$glibc" != "yes"; then  
       INCLUDES="-I/usr/inet6/include"  
       if test x`ls /usr/inet6/lib/libinet6.a 2>/dev/null` != x;then  
          LIB_IPV6="-L/usr/inet6/lib -linet6"  
       fi  
     fi  
   fi  
   
 dnl -----------------------  
 dnl Set IPv6 related values  
 dnl -----------------------  
   LIBS="$LIB_IPV6 $LIBS"  
   AC_SUBST(LIB_IPV6)  
   
   if test x"$RIPNGD" = x""; then  
     AC_MSG_RESULT(IPv4 only)  
   fi  
 fi  
   
 dnl ------------------  dnl ------------------
 dnl IPv6 header checks  dnl IPv6 header checks
 dnl ------------------  dnl ------------------
 if test "x${zebra_cv_ipv6}" = "xyes"; then  
 AC_CHECK_HEADERS([netinet6/in6.h netinet/in6_var.h netinet/icmp6.h \  AC_CHECK_HEADERS([netinet6/in6.h netinet/in6_var.h netinet/icmp6.h \
         netinet6/in6_var.h netinet6/nd6.h], [], [],          netinet6/in6_var.h netinet6/nd6.h], [], [],
         QUAGGA_INCLUDES)          QUAGGA_INCLUDES)
 fi  
   
 m4_define([QUAGGA_INCLUDES],dnl  m4_define([QUAGGA_INCLUDES],dnl
 QUAGGA_INCLUDES  QUAGGA_INCLUDES
Line 1268  else Line 1107  else
   DOC="doc"    DOC="doc"
 fi  fi
   
 dnl can't use TESTS as name, that's special with automake  
 if test "${enable_tests}" = "no";then  
   BUILD_TESTS=""  
 else  
   BUILD_TESTS="tests"  
 fi  
   
 dnl --------------------  dnl --------------------
 dnl Daemon disable check  dnl Daemon disable check
 dnl --------------------  dnl --------------------
Line 1306  else Line 1138  else
 fi  fi
 AM_CONDITIONAL(OSPFD, test "x$OSPFD" = "xospfd")  AM_CONDITIONAL(OSPFD, test "x$OSPFD" = "xospfd")
   
 if test "${enable_babeld}" = "no";then  
   BABELD=""  
 else  
   BABELD="babeld"  
 fi  
 AM_CONDITIONAL(BABELD, test "x$BABELD" = "xbabeld")  
   
 if test "${enable_watchquagga}" = "no";then  if test "${enable_watchquagga}" = "no";then
   WATCHQUAGGA=""    WATCHQUAGGA=""
 else  else
Line 1321  fi Line 1146  fi
 AM_CONDITIONAL(WATCHQUAGGA, test "x$WATCHQUAGGA" = "xwatchquagga")  AM_CONDITIONAL(WATCHQUAGGA, test "x$WATCHQUAGGA" = "xwatchquagga")
   
 OSPFCLIENT=""  OSPFCLIENT=""
if test "${enable_opaque_lsa}" != "no"; thenif test "${enable_ospfapi}" != "no";then
  if test "${enable_ospfapi}" != "no";then 
     AC_DEFINE(SUPPORT_OSPF_API,,OSPFAPI)      AC_DEFINE(SUPPORT_OSPF_API,,OSPFAPI)
   
    if test "${enable_ospfclient}" != "no";then  if test "${enable_ospfclient}" != "no";then
       OSPFCLIENT="ospfclient"        OSPFCLIENT="ospfclient"
     fi  
   fi    fi
   
 fi  fi
   
 AM_CONDITIONAL(OSPFCLIENT, test "x$OSPFCLIENT" = "xospfclient")  AM_CONDITIONAL(OSPFCLIENT, test "x$OSPFCLIENT" = "xospfclient")
   
 case "${enable_ripngd}" in  case "${enable_ripngd}" in
   "yes") RIPNGD="ripngd";;  
   "no" ) RIPNGD="";;    "no" ) RIPNGD="";;
  *    ) ;;  *    ) RIPNGD="ripngd";;
 esac  esac
 AM_CONDITIONAL(RIPNGD, test "x$RIPNGD" = "xripngd")  AM_CONDITIONAL(RIPNGD, test "x$RIPNGD" = "xripngd")
   
 case "${enable_ospf6d}" in  case "${enable_ospf6d}" in
   "yes") OSPF6D="ospf6d";;  
   "no" ) OSPF6D="";;    "no" ) OSPF6D="";;
  *    ) ;;  *    ) OSPF6D="ospf6d";;
 esac  esac
 AM_CONDITIONAL(OSPF6D, test "x$OSPF6D" = "xospf6d")  AM_CONDITIONAL(OSPF6D, test "x$OSPF6D" = "xospf6d")
   
 case "${enable_isisd}" in  case "${enable_isisd}" in
   "yes") ISISD="isisd";;  
   "no" ) ISISD="";;    "no" ) ISISD="";;
  *    ) ;;  *    ) ISISD="isisd";;
 esac  esac
 AM_CONDITIONAL(ISISD, test "x$ISISD" = "xisisd")  AM_CONDITIONAL(ISISD, test "x$ISISD" = "xisisd")
   
# XXX Perhaps auto-enable on Solaris, but that's messy for cross builds.case "${enable_pimd}" in
case "${enable_solaris}" in  "no" ) PIMD="";;
  "yes") SOLARIS="solaris";;  *    ) PIMD="pimd";;
  "no" ) SOLARIS="";; 
  *    ) ;; 
 esac  esac
   AM_CONDITIONAL(PIMD, test "x$PIMD" = "xpimd")
   
 if test "${enable_bgp_announce}" = "no";then  if test "${enable_bgp_announce}" = "no";then
   AC_DEFINE(DISABLE_BGP_ANNOUNCE,1,Disable BGP installation to zebra)    AC_DEFINE(DISABLE_BGP_ANNOUNCE,1,Disable BGP installation to zebra)
Line 1368  else Line 1187  else
 fi  fi
   
 AC_SUBST(DOC)  AC_SUBST(DOC)
 AC_SUBST(BUILD_TESTS)  
 AC_SUBST(ZEBRA)  AC_SUBST(ZEBRA)
 AC_SUBST(BGPD)  AC_SUBST(BGPD)
 AC_SUBST(RIPD)  AC_SUBST(RIPD)
 AC_SUBST(RIPNGD)  AC_SUBST(RIPNGD)
 AC_SUBST(OSPFD)  AC_SUBST(OSPFD)
 AC_SUBST(OSPF6D)  AC_SUBST(OSPF6D)
 AC_SUBST(BABELD)  
 AC_SUBST(WATCHQUAGGA)  AC_SUBST(WATCHQUAGGA)
 AC_SUBST(ISISD)  AC_SUBST(ISISD)
   AC_SUBST(PIMD)
 AC_SUBST(SOLARIS)  AC_SUBST(SOLARIS)
 AC_SUBST(VTYSH)  AC_SUBST(VTYSH)
 AC_SUBST(INCLUDES)  
 AC_SUBST(CURSES)  AC_SUBST(CURSES)
 AC_SUBST(OSPFCLIENT)  AC_SUBST(OSPFCLIENT)
 AC_SUBST(OSPFAPI)  AC_SUBST(OSPFAPI)
Line 1389  AC_CHECK_LIB(c, inet_pton, [AC_DEFINE(HAVE_INET_PTON,, Line 1206  AC_CHECK_LIB(c, inet_pton, [AC_DEFINE(HAVE_INET_PTON,,
 AC_CHECK_LIB(crypt, crypt)  AC_CHECK_LIB(crypt, crypt)
 AC_CHECK_LIB(resolv, res_init)  AC_CHECK_LIB(resolv, res_init)
   
 dnl ---------------------------------------------------  
 dnl BSD/OS 4.1 define inet_XtoY function as __inet_XtoY  
 dnl ---------------------------------------------------  
 AC_CHECK_FUNC(__inet_ntop, AC_DEFINE(HAVE_INET_NTOP,,__inet_ntop))  
 AC_CHECK_FUNC(__inet_pton, AC_DEFINE(HAVE_INET_PTON,,__inet_pton))  
 AC_CHECK_FUNC(__inet_aton, AC_DEFINE(HAVE_INET_ATON,,__inet_aton))  
   
 dnl ---------------------------  dnl ---------------------------
 dnl check system has PCRE regexp  dnl check system has PCRE regexp
 dnl ---------------------------  dnl ---------------------------
Line 1420  AC_SUBST(LIB_REGEX) Line 1230  AC_SUBST(LIB_REGEX)
 dnl ------------------  dnl ------------------
 dnl check Net-SNMP library  dnl check Net-SNMP library
 dnl ------------------  dnl ------------------
if test "${enable_snmp}" != ""; thenif test "x${enable_snmp}" != "xno"; then
    AC_PATH_TOOL([NETSNMP_CONFIG], [net-snmp-config], [no])     AC_PATH_TOOL([NETSNMP_CONFIG], [net-snmp-config], [no])
    if test x"$NETSNMP_CONFIG" = x"no"; then     if test x"$NETSNMP_CONFIG" = x"no"; then
       AC_MSG_ERROR([--enable-snmp given but unable to find net-snmp-config])        AC_MSG_ERROR([--enable-snmp given but unable to find net-snmp-config])
Line 1460  dnl sockaddr and netinet checks Line 1270  dnl sockaddr and netinet checks
 dnl ---------------------------  dnl ---------------------------
 AC_CHECK_TYPES([struct sockaddr, struct sockaddr_in,  AC_CHECK_TYPES([struct sockaddr, struct sockaddr_in,
         struct sockaddr_in6, struct sockaddr_un, struct sockaddr_dl,          struct sockaddr_in6, struct sockaddr_un, struct sockaddr_dl,
        socklen_t,        socklen_t, struct vifctl, struct mfcctl, struct sioc_sg_req,
         vifi_t, struct sioc_vif_req, struct igmpmsg,
         struct ifaliasreq, struct if6_aliasreq, struct in6_aliasreq,          struct ifaliasreq, struct if6_aliasreq, struct in6_aliasreq,
         struct nd_opt_adv_interval, struct rt_addrinfo,          struct nd_opt_adv_interval, struct rt_addrinfo,
         struct nd_opt_homeagent_info, struct nd_opt_adv_interval],          struct nd_opt_homeagent_info, struct nd_opt_adv_interval],
Line 1489  AC_CHECK_TYPES([struct in_pktinfo],  Line 1300  AC_CHECK_TYPES([struct in_pktinfo], 
     AC_MSG_ERROR(['IRDP requires in_pktinfo at the moment!'])      AC_MSG_ERROR(['IRDP requires in_pktinfo at the moment!'])
   fi], [QUAGGA_INCLUDES])    fi], [QUAGGA_INCLUDES])
   
   dnl -----------------------
   dnl checking for IP_PKTINFO
   dnl -----------------------
   AC_MSG_CHECKING(for IP_PKTINFO)
   AC_TRY_COMPILE([#include <netdb.h>], [
     int opt = IP_PKTINFO;
   ], [
     AC_MSG_RESULT(yes)
     AC_DEFINE(HAVE_IP_PKTINFO, 1, [Have IP_PKTINFO])
   ], [
     AC_MSG_RESULT(no)
   ])
   
   dnl ---------------------------
   dnl checking for IP_RECVDSTADDR
   dnl ---------------------------
   AC_MSG_CHECKING(for IP_RECVDSTADDR)
   AC_TRY_COMPILE([#include <netinet/in.h>], [
     int opt = IP_RECVDSTADDR;
   ], [
     AC_MSG_RESULT(yes)
     AC_DEFINE(HAVE_IP_RECVDSTADDR, 1, [Have IP_RECVDSTADDR])
   ], [
     AC_MSG_RESULT(no)
   ])
   
   dnl ----------------------
   dnl checking for IP_RECVIF
   dnl ----------------------
   AC_MSG_CHECKING(for IP_RECVIF)
   AC_TRY_COMPILE([#include <netinet/in.h>], [
     int opt = IP_RECVIF;
   ], [
     AC_MSG_RESULT(yes)
     AC_DEFINE(HAVE_IP_RECVIF, 1, [Have IP_RECVIF])
   ], [
     AC_MSG_RESULT(no)
   ])
   
 dnl --------------------------------------  dnl --------------------------------------
 dnl checking for getrusage struct and call  dnl checking for getrusage struct and call
 dnl --------------------------------------  dnl --------------------------------------
Line 1566  AX_SYS_WEAK_ALIAS Line 1416  AX_SYS_WEAK_ALIAS
 dnl ---------------------------  dnl ---------------------------
 dnl check for glibc 'backtrace'  dnl check for glibc 'backtrace'
 dnl ---------------------------   dnl --------------------------- 
AC_CHECK_HEADER([execinfo.h],if test x"${enable_backtrace}" != x"no" ; then
  [AC_CHECK_FUNC([backtrace],  backtrace_ok=no
    [AC_DEFINE(HAVE_GLIBC_BACKTRACE,,[Glibc backtrace])  AC_CHECK_HEADER([execinfo.h], [
     AC_DEFINE(HAVE_STACK_TRACE,,[Stack symbol decoding])    AC_SEARCH_LIBS([backtrace], [execinfo], [
       AC_DEFINE(HAVE_GLIBC_BACKTRACE,,[Glibc backtrace])
       AC_DEFINE(HAVE_STACK_TRACE,,[Stack symbol decoding])
       backtrace_ok=yes
     ],, [-lm])
   ])    ])
 ])  
   
     if test x"${enable_backtrace}" = x"yes" -a x"${backtrace_ok}" = x"no"; then
       dnl user explicitly requested backtrace but we failed to find support
       AC_MSG_FAILURE([failed to find backtrace support])
     fi
   fi
   
 dnl -----------------------------------------  dnl -----------------------------------------
 dnl check for malloc mallinfo struct and call  dnl check for malloc mallinfo struct and call
 dnl this must try and link using LIBS, in  dnl this must try and link using LIBS, in
Line 1596  dnl ---------- Line 1455  dnl ----------
 CONFDATE=`date '+%Y%m%d'`  CONFDATE=`date '+%Y%m%d'`
 AC_SUBST(CONFDATE)  AC_SUBST(CONFDATE)
   
dnl Conditionally enable PIE support for GNU toolchains.dnl -------
AC_ARG_ENABLE(pie, AS_HELP_STRING([--disable-pie], [Do not build tools as a Position Independent Executables]))dnl DejaGNU
if test "$enable_pie" != "no"; thendnl -------
  AC_CACHE_CHECK([whether $CC accepts PIE flags], [ap_cv_cc_pie], [if test x"$DEJAGNU" = x
    save_CFLAGS=$CFLAGSthen
    save_LDFLAGS=$LDFLAGS  DEJAGNU="\$(top_srcdir)/tests/global-conf.exp"
    CFLAGS="$CFLAGS -fPIE" 
    LDFLAGS="$LDFLAGS -pie" 
    AC_LINK_IFELSE([AC_LANG_SOURCE([[static int foo[30000]; int main () { return 0; }]])], 
      [ap_cv_cc_pie=yes], [ap_cv_cc_pie=no] 
    ) 
    CFLAGS=$save_CFLAGS 
    LDFLAGS=$save_LDFLAGS 
  ]) 
  if test "$ap_cv_cc_pie" = "yes"; then 
    PICFLAGS="-fPIE" 
    PILDFLAGS="-pie" 
  fi 
 fi  fi
   RUNTESTDEFAULTFLAGS="-x --tool \$\$tool"
   
AC_SUBST(PICFLAGS)AC_SUBST(DEJAGNU)
AC_SUBST(PILDFLAGS)AC_SUBST(RUNTESTDEFAULTFLAGS)
   
 dnl ------------------------------  dnl ------------------------------
 dnl set paths for state directory  dnl set paths for state directory
Line 1655  AC_DEFINE_UNQUOTED(PATH_RIPNGD_PID, "$quagga_statedir/ Line 1503  AC_DEFINE_UNQUOTED(PATH_RIPNGD_PID, "$quagga_statedir/
 AC_DEFINE_UNQUOTED(PATH_BGPD_PID, "$quagga_statedir/bgpd.pid",bgpd PID)  AC_DEFINE_UNQUOTED(PATH_BGPD_PID, "$quagga_statedir/bgpd.pid",bgpd PID)
 AC_DEFINE_UNQUOTED(PATH_OSPFD_PID, "$quagga_statedir/ospfd.pid",ospfd PID)  AC_DEFINE_UNQUOTED(PATH_OSPFD_PID, "$quagga_statedir/ospfd.pid",ospfd PID)
 AC_DEFINE_UNQUOTED(PATH_OSPF6D_PID, "$quagga_statedir/ospf6d.pid",ospf6d PID)  AC_DEFINE_UNQUOTED(PATH_OSPF6D_PID, "$quagga_statedir/ospf6d.pid",ospf6d PID)
 AC_DEFINE_UNQUOTED(PATH_BABELD_PID, "$quagga_statedir/babeld.pid",babeld PID)  
 AC_DEFINE_UNQUOTED(PATH_ISISD_PID, "$quagga_statedir/isisd.pid",isisd PID)  AC_DEFINE_UNQUOTED(PATH_ISISD_PID, "$quagga_statedir/isisd.pid",isisd PID)
   AC_DEFINE_UNQUOTED(PATH_PIMD_PID, "$quagga_statedir/pimd.pid",pimd PID)
 AC_DEFINE_UNQUOTED(PATH_WATCHQUAGGA_PID, "$quagga_statedir/watchquagga.pid",watchquagga PID)  AC_DEFINE_UNQUOTED(PATH_WATCHQUAGGA_PID, "$quagga_statedir/watchquagga.pid",watchquagga PID)
 AC_DEFINE_UNQUOTED(ZEBRA_SERV_PATH, "$quagga_statedir/zserv.api",zebra api socket)  AC_DEFINE_UNQUOTED(ZEBRA_SERV_PATH, "$quagga_statedir/zserv.api",zebra api socket)
 AC_DEFINE_UNQUOTED(ZEBRA_VTYSH_PATH, "$quagga_statedir/zebra.vty",zebra vty socket)  AC_DEFINE_UNQUOTED(ZEBRA_VTYSH_PATH, "$quagga_statedir/zebra.vty",zebra vty socket)
Line 1665  AC_DEFINE_UNQUOTED(RIPNG_VTYSH_PATH, "$quagga_statedir Line 1513  AC_DEFINE_UNQUOTED(RIPNG_VTYSH_PATH, "$quagga_statedir
 AC_DEFINE_UNQUOTED(BGP_VTYSH_PATH, "$quagga_statedir/bgpd.vty",bgpd vty socket)  AC_DEFINE_UNQUOTED(BGP_VTYSH_PATH, "$quagga_statedir/bgpd.vty",bgpd vty socket)
 AC_DEFINE_UNQUOTED(OSPF_VTYSH_PATH, "$quagga_statedir/ospfd.vty",ospfd vty socket)  AC_DEFINE_UNQUOTED(OSPF_VTYSH_PATH, "$quagga_statedir/ospfd.vty",ospfd vty socket)
 AC_DEFINE_UNQUOTED(OSPF6_VTYSH_PATH, "$quagga_statedir/ospf6d.vty",ospf6d vty socket)  AC_DEFINE_UNQUOTED(OSPF6_VTYSH_PATH, "$quagga_statedir/ospf6d.vty",ospf6d vty socket)
 AC_DEFINE_UNQUOTED(BABEL_VTYSH_PATH, "$quagga_statedir/babeld.vty",babeld vty socket)  
 AC_DEFINE_UNQUOTED(ISIS_VTYSH_PATH, "$quagga_statedir/isisd.vty",isisd vty socket)  AC_DEFINE_UNQUOTED(ISIS_VTYSH_PATH, "$quagga_statedir/isisd.vty",isisd vty socket)
   AC_DEFINE_UNQUOTED(PIM_VTYSH_PATH, "$quagga_statedir/pimd.vty",pimd vty socket)
 AC_DEFINE_UNQUOTED(DAEMON_VTY_DIR, "$quagga_statedir",daemon vty directory)  AC_DEFINE_UNQUOTED(DAEMON_VTY_DIR, "$quagga_statedir",daemon vty directory)
   
 dnl -------------------------------  dnl -------------------------------
Line 1690  AC_MSG_RESULT($ac_cv_htonl_works) Line 1538  AC_MSG_RESULT($ac_cv_htonl_works)
   
 AC_CONFIG_FILES([Makefile lib/Makefile zebra/Makefile ripd/Makefile   AC_CONFIG_FILES([Makefile lib/Makefile zebra/Makefile ripd/Makefile 
           ripngd/Makefile bgpd/Makefile ospfd/Makefile watchquagga/Makefile            ripngd/Makefile bgpd/Makefile ospfd/Makefile watchquagga/Makefile
          ospf6d/Makefile isisd/Makefile babeld/Makefile vtysh/Makefile          ospf6d/Makefile isisd/Makefile vtysh/Makefile
          doc/Makefile ospfclient/Makefile tests/Makefile m4/Makefile          doc/Makefile ospfclient/Makefile tests/Makefile m4/Makefile
          redhat/Makefile          pimd/Makefile
           tests/bgpd.tests/Makefile
           tests/libzebra.tests/Makefile
           redhat/Makefile
           pkgsrc/Makefile            pkgsrc/Makefile
           redhat/quagga.spec             redhat/quagga.spec 
           lib/version.h            lib/version.h
Line 1716  source code location    : ${srcdir} Line 1567  source code location    : ${srcdir}
 compiler                : ${CC}  compiler                : ${CC}
 compiler flags          : ${CFLAGS}  compiler flags          : ${CFLAGS}
 make                    : ${MAKE-make}  make                    : ${MAKE-make}
 includes                : ${INCLUDES}  
 linker flags            : ${LDFLAGS} ${LIBS} ${LIBCAP} ${LIBREADLINE} ${LIBM}  linker flags            : ${LDFLAGS} ${LIBS} ${LIBCAP} ${LIBREADLINE} ${LIBM}
 state file directory    : ${quagga_statedir}  state file directory    : ${quagga_statedir}
 config file directory   : `eval echo \`echo ${sysconfdir}\``  config file directory   : `eval echo \`echo ${sysconfdir}\``

Removed from v.1.1.1.4  
changed lines
  Added in v.1.1.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>