version 1.1.1.3, 2012/10/09 09:22:28
|
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.21, [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_CONFIG_HEADER(config.h) | AM_SILENT_RULES([yes]) |
| AC_CONFIG_HEADERS(config.h) |
|
|
|
AC_PATH_PROG(PERL, perl) |
AC_CHECK_PROG([GAWK],[gawk],[gawk],[not-in-PATH]) |
AC_CHECK_PROG([GAWK],[gawk],[gawk],[not-in-PATH]) |
if test "x$GAWK" = "xnot-in-PATH" ; then |
if test "x$GAWK" = "xnot-in-PATH" ; then |
AC_MSG_ERROR([GNU awk is required for lib/memtype.h made by memtypes.awk. |
AC_MSG_ERROR([GNU awk is required for lib/memtype.h made by memtypes.awk. |
Line 31 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 41 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 66 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 82 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 111 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 -wd 279,869,981" |
|
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 184 AC_GNU_SOURCE
|
Line 214 AC_GNU_SOURCE
|
dnl ------- |
dnl ------- |
dnl libtool |
dnl libtool |
dnl ------- |
dnl ------- |
AC_PROG_LIBTOOL | LT_INIT |
|
|
dnl ---------------------- |
dnl ---------------------- |
dnl Packages configuration |
dnl Packages configuration |
dnl ---------------------- |
dnl ---------------------- |
|
AC_ARG_WITH(pkg-extra-version, |
|
AS_HELP_STRING([--with-pkg-extra-version=VER], [add extra version field, for packagers/distributions]), |
|
[EXTRAVERSION=$withval],) |
|
AC_ARG_WITH(pkg-git-version, |
|
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" ]) |
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(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_WITH(crypto, | |
[ --without-crypto do not use libcrypto in SNMP]) | |
AC_ARG_ENABLE(snmp, |
AC_ARG_ENABLE(snmp, |
[ --enable-snmp enable SNMP support]) | 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, |
| 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, |
| 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" ; then | if 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 289 if test x"${enable_time_check}" != x"no" ; then
|
Line 314 if test x"${enable_time_check}" != x"no" ; then
|
fi |
fi |
fi |
fi |
|
|
if test "${enable_broken_aliases}" = "yes"; then | if test "${enable_fpm}" = "yes"; then |
if test "${enable_netlink}" = "yes" | AC_DEFINE(HAVE_FPM,,Forwarding Plane Manager support) |
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 |
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 327 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; then | if 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./topology" | ISIS_TOPOLOGY_INCLUDES="-I\$(srcdir)/topology" |
ISIS_TOPOLOGY_DIR="topology" |
ISIS_TOPOLOGY_DIR="topology" |
ISIS_TOPOLOGY_LIB="./topology/libtopology.a" |
ISIS_TOPOLOGY_LIB="./topology/libtopology.a" |
fi |
fi |
Line 369 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=1 | MPATH_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 382 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 Add extra version string to package |
|
dnl name, string and version fields. |
|
dnl ----------------------------------- |
|
if test "x${EXTRAVERSION}" != "x" ; then |
|
VERSION="${VERSION}${EXTRAVERSION}" |
|
PACKAGE_VERSION="${PACKAGE_VERSION}${EXTRAVERSION}" |
|
PACKAGE_STRING="${PACKAGE_STRING}${EXTRAVERSION}" |
|
fi |
|
|
|
if test "x$with_pkg_git_version" = "xyes"; then |
|
if test -d "${srcdir}/.git"; then |
|
AC_DEFINE(GIT_VERSION, [1], [include git version info]) |
|
else with_pkg_git_version="no" |
|
AC_MSG_WARN([--with-pkg-git-version given, but this is not a git checkout]) |
|
fi |
|
fi |
|
AM_CONDITIONAL([GIT_VERSION], [test "x$with_pkg_git_version" = "xyes"]) |
|
|
dnl ------------------------------------ |
dnl ------------------------------------ |
dnl Check C keywords and standard types |
dnl Check C keywords and standard types |
dnl ------------------------------------ |
dnl ------------------------------------ |
Line 394 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 406 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 438 m4_define([QUAGGA_INCLUDES],
|
Line 471 m4_define([QUAGGA_INCLUDES],
|
#if HAVE_SYS_SOCKET_H |
#if HAVE_SYS_SOCKET_H |
# include <sys/socket.h> |
# include <sys/socket.h> |
#endif |
#endif |
|
#ifdef __APPLE__ |
|
# define __APPLE_USE_RFC_3542 |
|
#endif |
#if HAVE_NETINET_IN_H |
#if HAVE_NETINET_IN_H |
# include <netinet/in.h> |
# include <netinet/in.h> |
#endif |
#endif |
Line 494 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 536 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 554 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 590 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) |
AC_PATH_PROG(PERL, perl) |
|
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. |
dnl The required procedures are in libtermcap on NetBSD, in |
dnl The required procedures are in libtermcap on NetBSD, in |
Line 621 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 746 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 757 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=yes | else |
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"]) |
|
|
dnl -------------------------- |
dnl -------------------------- |
dnl Determine IS-IS I/O method |
dnl Determine IS-IS I/O method |
Line 888 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 921 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 943 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) | #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 979 AC_CHECK_HEADER([net/if.h],
|
Line 984 AC_CHECK_HEADER([net/if.h],
|
QUAGGA_INCLUDES)], |
QUAGGA_INCLUDES)], |
[], QUAGGA_INCLUDES ) |
[], QUAGGA_INCLUDES ) |
|
|
|
dnl --------------------------------------------------------------- |
|
dnl Additional, newer way to check link-state using ifi_link_state. |
|
dnl Not available in all BSD's when ifmediareq available |
|
dnl --------------------------------------------------------------- |
|
AC_CHECK_HEADER([net/if.h], |
|
AC_CHECK_MEMBERS([struct if_data.ifi_link_state], |
|
AC_DEFINE(HAVE_BSD_IFI_LINK_STATE,,[BSD ifi_link_state available]), |
|
[], QUAGGA_INCLUDES), |
|
,) |
|
|
dnl ------------------------ |
dnl ------------------------ |
dnl TCP_MD5SIG socket option |
dnl TCP_MD5SIG socket option |
dnl ------------------------ |
dnl ------------------------ |
Line 1000 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 1035 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 1050 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";then | dnl 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 1252 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 1267 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"; then | if 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 1320 AC_SUBST(RIPD)
|
Line 1193 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 1334 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 1365 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}" = "yes"; then | if test "x${enable_snmp}" != "xno"; then |
if test "$with_crypto" != "no"; then | AC_PATH_TOOL([NETSNMP_CONFIG], [net-snmp-config], [no]) |
LIBS="${LIBS} -lcrypto"; | if test x"$NETSNMP_CONFIG" = x"no"; then |
fi | AC_MSG_ERROR([--enable-snmp given but unable to find net-snmp-config]) |
AC_CHECK_LIB(netsnmp, asn_parse_int, | fi |
[AC_DEFINE(HAVE_NETSNMP,,Net SNMP) | LIBS="$LIBS `${NETSNMP_CONFIG} --agent-libs`" |
AC_DEFINE(HAVE_SNMP,,SNMP) | CFLAGS="`${NETSNMP_CONFIG} --base-cflags` $CFLAGS" |
LIBS="${LIBS} -lnetsnmp"], | AC_MSG_CHECKING([whether we can link to Net-SNMP]) |
[AC_MSG_ERROR([--enable-snmp given, but cannot find support for SNMP])]) | AC_LINK_IFELSE([AC_LANG_PROGRAM([ |
| int main(void); |
AC_CHECK_HEADER([net-snmp/net-snmp-config.h], | ], |
[], | [ |
[AC_MSG_ERROR([--enable-snmp given, but cannot find net-snmp-config.h])], | { |
QUAGGA_INCLUDES) | return 0; |
AC_SUBST(SNMP_INCLUDES) | } |
| ])],[AC_MSG_RESULT(yes)],[ |
| AC_MSG_RESULT(no) |
| AC_MSG_ERROR([--enable-snmp given but not usable])]) |
| AC_DEFINE(HAVE_SNMP,,SNMP) |
| case "${enable_snmp}" in |
| yes) |
| SNMP_METHOD=agentx |
| ;; |
| smux|agentx) |
| SNMP_METHOD="${enable_snmp}" |
| ;; |
| *) |
| AC_MSG_ERROR([--enable-snmp given with an unknown method (${enable_snmp}). Use smux or agentx]) |
| ;; |
| esac |
| AH_TEMPLATE([SNMP_SMUX], [Use SNMP SMUX to interface with snmpd]) |
| AH_TEMPLATE([SNMP_AGENTX], [Use SNMP AgentX to interface with snmpd]) |
| AC_DEFINE_UNQUOTED(AS_TR_CPP(SNMP_${SNMP_METHOD}),,SNMP method to interface with snmpd) |
fi |
fi |
|
|
dnl --------------------------- |
dnl --------------------------- |
Line 1387 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 1396 AC_CHECK_TYPES([struct sockaddr, struct sockaddr_in,
|
Line 1280 AC_CHECK_TYPES([struct sockaddr, struct sockaddr_in,
|
AC_CHECK_MEMBERS([struct sockaddr.sa_len, |
AC_CHECK_MEMBERS([struct sockaddr.sa_len, |
struct sockaddr_in.sin_len, struct sockaddr_un.sun_len, |
struct sockaddr_in.sin_len, struct sockaddr_un.sun_len, |
struct sockaddr_in6.sin6_scope_id, |
struct sockaddr_in6.sin6_scope_id, |
|
struct sockaddr_dl.sdl_len, |
struct if6_aliasreq.ifra_lifetime, |
struct if6_aliasreq.ifra_lifetime, |
struct nd_opt_adv_interval.nd_opt_ai_type], |
struct nd_opt_adv_interval.nd_opt_ai_type], |
[], [], QUAGGA_INCLUDES) |
[], [], QUAGGA_INCLUDES) |
Line 1415 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 -------------------------------------- |
AC_MSG_CHECKING(whether getrusage is available) | if test "${enable_rusage}" != "no"; then |
AC_TRY_COMPILE([#include <sys/resource.h> | AC_MSG_CHECKING(whether getrusage is available) |
],[struct rusage ac_x; getrusage (RUSAGE_SELF, &ac_x);], | AC_TRY_COMPILE([#include <sys/resource.h>],[struct rusage ac_x; getrusage (RUSAGE_SELF, &ac_x);], |
[AC_MSG_RESULT(yes) | [AC_MSG_RESULT(yes) |
AC_DEFINE(HAVE_RUSAGE,,rusage)], | AC_DEFINE(HAVE_RUSAGE,,rusage)], |
AC_MSG_RESULT(no)) | AC_MSG_RESULT(no)) |
| fi |
|
|
dnl -------------------------------------- |
dnl -------------------------------------- |
dnl checking for clock_time monotonic struct and call |
dnl checking for clock_time monotonic struct and call |
Line 1472 if test "${enable_capabilities}" != "no"; then
|
Line 1397 if test "${enable_capabilities}" != "no"; then
|
fi |
fi |
AC_SUBST(LIBCAP) |
AC_SUBST(LIBCAP) |
|
|
|
dnl --------------------------------------------------------------------------- |
|
dnl http://www.gnu.org/software/autoconf-archive/ax_sys_weak_alias.html |
|
dnl Check for and set one of the following = 1 |
|
dnl HAVE_SYS_WEAK_ALIAS_ATTRIBUTE |
|
dnl HAVE_SYS_WEAK_ALIAS_PRAGMA |
|
dnl HAVE_SYS_WEAK_ALIAS_HPSECONDARY |
|
dnl HAVE_SYS_WEAK_ALIAS_CRIDUPLICATE |
|
dnl If any scheme is found, set |
|
dnl HAVE_SYS_WEAK_ALIAS=1 |
|
dnl The following variable is set to text value |
|
dnl WEAK_ALIAS = "attribute" || "pragma" || "hpsecondary" || "criduplicate" || "no" |
|
dnl If weak alias can cross object file boundaries |
|
dnl WEAK_ALIAS_CROSSFILE = "yes" || "no" |
|
dnl --------------------------------------------------------------------------- |
|
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 1505 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"; then | dnl ------- |
AC_CACHE_CHECK([whether $CC accepts PIE flags], [ap_cv_cc_pie], [ | if test x"$DEJAGNU" = x |
save_CFLAGS=$CFLAGS | then |
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 1564 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 1574 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 1599 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 1620 echo "
|
Line 1562 echo "
|
Quagga configuration |
Quagga configuration |
-------------------- |
-------------------- |
quagga version : ${PACKAGE_VERSION} |
quagga version : ${PACKAGE_VERSION} |
host operating system : ${host_os} | host operating system : ${host_os} |
source code location : ${srcdir} |
source code location : ${srcdir} |
compiler : ${CC} |
compiler : ${CC} |
compiler flags : ${CFLAGS} |
compiler flags : ${CFLAGS} |
make : ${MAKE-make} |
make : ${MAKE-make} |
includes : ${INCLUDES} ${SNMP_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}\`` |