summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
...
* zebra: fix sockaddr_dl length assumptions (BZ#737)David Lamparter2013-01-161-0/+1
| | | | | | | | | | | | | Quagga makes bad assumptions about sockaddr_dl (on NetBSD, but possibly on other systems as well). Particularly, sizeof(struct sockaddr_dl) returns a size that does not include the full sdl_data field, leading to not enough data being copied. This breaks IPv6 RAs in particular, as a broken mac address from sockaddr_dl will be included in the packets. From: Matthias-Christian Ott <ott@mirix.org> Tested-by: Uwe Toenjes <6bone@6bone.informatik.uni-leipzig.de> [further simplified + more comments] Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: Fix build on MacOSX 10.8 (Mountain Lion)Hasso Tepper2013-01-151-0/+3
| | | | | | | | | | Newer MacOSX versions have support for both IPv6 advanced socket API RFCs (2292 and 3542) switchable in compile time, but neither of these is default for some strange reason. RFC3542 will be default in future, but for now we have to declare that we want to use the RFC3542 API before including <netinet/in.h>. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: Remove deprecated AM_CONFIG_HEADERHasso Tepper2013-01-151-1/+1
| | | | | | | AM_CONFIG_HEADER has been deprecated for many years and is removed completely from automake 1.13. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* configure: allow building without getrusageStephen Hemminger2013-01-151-6/+9
| | | | | | | | | Measuring the resource usage of threads is moderately expensive since it requires doing an additional system call everytime a thread context switches. Make it possible to disable this with a configuration option. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: MacOSX needs BSD struct ip_mreq hack tooHasso Tepper2013-01-111-1/+1
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* testzebra: pragma weak: detect systems with weak alias and provide alternativeDoug VanLeuven2013-01-111-0/+16
| | | | | | | | | | | | | | | | | LLVM clang does not support #pragma weak (bug 3679) on OS X. There are other systems where the #pragma weak has varying syntax. Added m4 file from the autoconf archives: http://www.gnu.org/software/autoconf-archive/ax_sys_weak_alias.html Fix up zebra/*_null.c files to use #pragma weak alias or stub functions if not available. It's incomplete in that the different format #pragma enable easier fixes on need. Tested on 64bit OS X 10.7, FreeBSD 9.0 amd64 & i386 (32bit) using gcc & clang. Tested on linux 64bit. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: check for .git in configure.acDavid Lamparter2012-12-131-5/+9
| | | | | | | Don't error out when someone tries using --with-pkg-git-version on something that isn't actually a git checkout (like a dist tarball). Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: update ICC warning CFLAGSDavid Lamparter2012-12-131-1/+1
| | | | | | | | | Intel's icc doesn't accept "-wd <number>" anymore, it's "-wd<number>" these days. But, anyhow, the warnings disabled in Quagga's configure.ac don't seem to appear anywhere at all, so let's just remove the option completely. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: include git infoDavid Lamparter2012-12-121-4/+12
| | | | | | | | | | | | | | | | | | | If enabled with --with-pkg-gitversion on ./configure, this will append git version strings and branch information at the following places: - overall version number: 0.99.21-g0123456 - login motd and show version: tag information + git id + branches Sample output: Hello, this is Quagga (version 0.99.21-g14b49ad-dirty). Copyright 1996-2005 Kunihiro Ishiguro, et al. This is a git build of quagga_0_99_21_release-106-g14b49ad-dirty Associated branch(es): local:master [v2]: fix build without gitinfo (add "else" branch) [v2]: fix for repos without any tags (different git describe output) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* zebra: add module to communicate routes to FPMAvneesh Sachdev2012-11-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhance zebra to send routes to the (optional) Forwarding Path Manager component using the interface defined by fpm/fpm.h. * configure.ac - Add --enable-fpm flag. The FPM-related code in zebra is activated only if the build is configured with '--enable-fpm'. - Add HAVE_NETLINK automake conditional. This allows us to conditionally build netlink-dependent C code. * zebra/{rib.h,zebra_rib.c} - Add the 'fpm_q_entries' field to the rib_dest_t structure. This allows dests to be placed on the fpm queue. - Define a couple new rib_dest_t flags that hold FPM-related state. - Invoke the zfpm_trigger_update() function for a route_node whenever the information to be sent to the FPM changes. - rib_can_delete_dest(): Return FALSE if we have to update the FPM about the given dest. This ensures that the dest is not deleted even if there are no ribs hanging off of it. * zebra/zebra_fpm.c This file holds most of the code for interacting with the FPM. - If quagga was configured with '--enable-fpm', periodically try to connect to the FPM. - When the connection comes up, enqueue all relevent dests to the FPM queue. - When the FPM socket is readable, dequeue the next rib_dest_t from the FPM queue, encode it in to a message and send the message to the FPM. - When the connection to the FPM goes down, remove all dests from the FPM queue, and then start trying to connect to the FPM again. - Expose the following new operational commands: show zebra fpm stats clear zebra fpm stats * zebra/zebra_fpm_netlink.c - zfpm_netlink_encode_route(): Function to encode information about a rib_dest_t in netlink format. * zebra/zebra_fpm_private.h Private header file for the zebra FPM module. * zebra/zebra_fpm.h Header file exported by zebra FPM module to the rest of zebra. * zebra/debug.c Add the 'debug zebra fpm' command. * zebra/main.c Initialize the zebra-FPM code on startup. * zebra/misc_null.c Add stub for zfpm_trigger_update(). * zebra/Makefile.am - Include new file zebra_fpm.c in build. - Include zebra_fpm_netlink.c in build if HAVE_NETLINK is defined. * vtysh/Makefile.am Include zebra_fpm.c in list of files that define cli commands. Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: check actually-used BSD link state fieldsDoug VanLeuven2012-11-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | ifi_link_state missing in OS X. There could be other *BSD's that haven't implemented it and possibly affects older implementations. The existing HAVE_BSD_LINK_DETECT configure.ac check is only confirming the link state detection using ifmediareq.ifm_status found in <net/if_media.h>. This is the link state detection used in zebra/ioctl.c. Later, *BSD redefined struct if_data in <net/if.h> and included link state detection. This is the method used in zebra/kernel_socket.c Additional test defined in config.ac to test for member struct if_data.ifi_link_state defined in <net/if.h> separate from test for <net/if_media.h> ifmediareq.ifm_status Fixed #ifdef's in zebra/kernel_socket.c to use the new #define No impact on older function calls in zebra/ioctl.c Tested on 64bit OS X 10.7, FreeBSD 9.0 amd64 & i386 (32bit) using gcc & clang. Tested on linux 64bit. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: compile tests/ by defaultDavid Lamparter2012-11-031-0/+10
| | | | | | | | | | Broke the tests again... let's just build them by default so it's easier to notice. If anyone doesn't want to build tests, there's --disable-tests. NB: tests will be neither run nor installed. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: fix autoconf multicast check on OpenBSDBrad Smith2012-09-251-1/+1
| | | | | | Fix the "BSD struct ip_mreq hack" autoconf test to work with OpenBSD. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: fix isisd topology out of tree buildDavid Lamparter2012-07-191-1/+1
| | | | | | | | | isisd got the include directory wrong on building with a separate build directory. * configure.ac: adjust ISIS_TOPOLOGY_INCLUDES Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* configure: Add --with-pkg-extra-version=VER for packagers/distributions.Joachim Nilsson2012-07-131-1/+14
| | | | | | | | | | | | | | | | | | | | | This change adds a --with-pkg-extra-version option to ./configure to allow packagers and distributions to fine tune the version displayed to the end user to assist in support. It is also very useful when reporting bugs on the official Quagga mailing lists. There are two ways of utilsing this functionality: a) ./configure --with-pkg-extra-version=-wmo1 b) EXTRAVERSION=-wmo1 ./configure The latter is a common way for many distributions to add extra version strings to signify their own patch level to a given package. Also, minor whitespace fix in configure summary. Signed-off-by: Joachim Nilsson <joachim.nilsson@westermo.se> Signed-off-by: Joachim Nilsson <troglobit@gmail.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* agentx: add AgentX support to Quagga.Vincent Bernat2012-06-251-2/+16
| | | | | | | | | | | | | | | | | | | | --enable-snmp will enable AgentX support in Quagga. SMUX is still here and can be enabled with --enable-snmp=smux. AgentX support can be enabled with "agentx" in configuration file. As for SMUX, this command is not understood by vtysh. It can be disabled with "no agentx", though there is no real use of this since this command cannot be used with vtysh. If "agentx" and "no agentx" command were added to vtysh, it would not be possible to disable agentx support after enabling it because NetSNMP does not expose the appropriate methods for this. The internals of AgentX are hidden by NetSNMP. Therefore, we don't have a file descriptor to add to the threading system. We do not have the timers to set either. Therefore, the event loop is modified to make use of snmp_select_info() from NetSNMP. Traps are not supported yet.
* build: use net-snmp-config to configure NetSNMPVincent Bernat2012-06-251-16/+19
| | | | | | | | The correct method to link to NetSNMP is to use net-snmp-config (which is like pkg-config). Explicit link to libcrypto is also dropped (NetSNMP libs are linked to libcrypto, no need to link Quagga to it). Moreover, @SNMP_INCLUDES@ is dropped because useless. Due to a bug in configure.ac, it was properly populated.
* build: only define HAVE_SNMPVincent Bernat2012-06-251-2/+1
| | | | | NetSNMP is the only SNMP implementation for Quagga. We don't need two different symbols.
* release: 0.99.21quagga_0_99_21_releaseDavid Lamparter2012-05-011-1/+1
|
* doc: only package man pages for daemons that are builtDavid Ward2012-05-011-0/+11
| | | | | Signed-off-by: David Ward <david.ward@ll.mit.edu> Signed-off-by: David Lamparter <equinox@diac24.net>
* babeld: Initial import, for Babel routing protocol.Paul Jakma2012-03-251-2/+14
| | | | | | | | | | | * Initial import of the Babel routing protocol, ported to Quagga. * LICENCE: Update the original LICENCE file to include all known potentially applicable copyright claims. Ask that any future contributors to babeld/ grant MIT/X11 licence to their work. * *.{c,h}: Add GPL headers, in according with the SFLC guidance on dealing with potentially mixed GPL/other licensed work, at: https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
* HACKING.tex: Change to a LaTeX version of HACKINGPaul Jakma2012-03-081-0/+10
| | | | | | | * configure.ac: Check for latexmk and pdflatex * Makefile.am: Add a conditional target to build HACKING.pdf, as a convenience * HACKING.tex: A slightly more structured HACKING, is readable on its own. * HACKING: removed
* build: fixup autoconf for cross-compiling (to OpenWRT)David Lamparter2011-12-131-6/+12
| | | | | | | MALLOC/REALLOC aren't used properly (no rpl_malloc), remove them while at it, infer some sane ipforwarding method from the OS value. (v2 on that, "==" is not a proper operator for standard "test")
* release: 0.99.20quagga_0_99_20_releaseDenis Ovsienko2011-09-291-1/+1
|
* configure: test for glibc backtrace even without glibc.Dmitrij Tejblum2011-09-271-8/+6
| | | | Other platform may have compatible facilities.
* lib: use "protocol-independed API" from RFC3678, if that is availableDmitrij Tejblum2011-09-271-0/+9
| | | | | | | | (This commit is based on the patch from BZ#420, and should fix that bug.) * configure.ac: detect availability of that API * sockopt.c (setsockopt_ipv4_multicast): use it for join/leave IPv4 multicast groups
* delete CVS keywordsDenis Ovsienko2011-09-271-1/+0
|
* configure: fix OpenPAM detectionDenis Ovsienko2011-09-271-1/+8
|
* configure: fix FreeBSD header detection (BZ#408)Denis Ovsienko2011-09-271-9/+30
| | | | | | | | This change is based on Xavier Beaudouin's patch (which fixes detection of 3 config.h macros on FreeBSD without any impact to Linux build of Quagga) and FreeBSD port patch (which fixes 5 config.h macros, but breaks the Linux build), it fixes 5 macros and works for both FreeBSD 8 and Linux.
* configure: dismiss libutil.hStephen Hemminger2011-09-271-1/+1
| | | | | Recent versions of libc on Linux (Debian Testing) create lots of compile warnings about direct usage of libutil.h
* release: 0.99.19quagga_0_99_19_releaseDenis Ovsienko2011-09-261-1/+1
|
* build: treat opaque-lsa default correctly for ospfapiGreg Troxel2011-03-241-1/+1
| | | | | | In deciding whether to default ospfapi to on or off, use the same rule for opaque-lsa as earlier: != no rather than = yes, so that not having set it implies yes.
* build: change sense of opaque-{lsa,te} enable args to enable by defaultPaul Jakma2011-03-221-6/+5
| | | | | | * configure.ac: (AC_ARG_ENABLE({ospf-te,opaque-lsa})) reverse the sense to --disable (enable_{opaque_lsa,ospf_te}) treat as enabled unless explicitly disabled.
* release: 0.99.18quagga_0_99_18_releasePaul Jakma2011-03-211-1/+1
| | | | * configure.ac: Bump to 0.99.18
* release: 0.99.17quagga_0_99_17_releaseDenis Ovsienko2010-08-191-1/+1
| | | | * configure.ac: bump up version number
* isisd: change ISIS_METHOD to use C preprocessorDavid Lamparter2010-04-281-5/+8
| | | | | | this fixes warnings from vtysh extract.pl by making sure the isis method files always 'work'. (previously, extract.pl would grab unselected isis method sources and then complain about missing headers)
* release: 0.99.16quagga_0_99_16_releaseDenis Ovsienko2010-03-091-1/+1
| | | | * configure.ac: bump up version number
* configure: fix spellingDavid Ward2009-12-031-1/+1
|
* configure: fix HAVE_CLOCK_MONOTONIC spellingDmitry Tejblum2009-11-051-1/+1
|
* release: 0.99.15quagga_0_99_15_releasePaul Jakma2009-08-281-1/+1
| | | | * configure.ac: Bump to 0.99.15
* [build] Bump release to 0.99.14quagga_0_99_14_releasePaul Jakma2009-07-211-1/+1
|
* [build] fix default CFLAGS and squish warningPaul Jakma2009-07-191-2/+3
| | | | | | | * configure.ac: Move down the AC_SYS_LARGEFILE test - it was setting CFLAGS and so disabling the default CFLAGS setting section. Squish warning by adding AC_CONFIG_MACRO_DIR on the reccommendation of autoreconf.
* [doc] Add "--disable-doc" to configureJoakim Tjernlund2009-06-251-0/+10
| | | | | | | Configure option "--disable-doc" will prevent building the documents under doc. Saves build time and the need to have document building tools installed. Useful when your build machine is different from your development machine.
* [configure] Allow for large-file support, e.g. for log files >2GBTomasz Pala2009-06-241-0/+2
|
* [doc] remove -dither arg to imagemagick, in building PDFsquagga_0_99_13_releasePaul Jakma2009-06-221-1/+1
| | | | | * doc/Makefile.am: arguments for the 'convert' programme seem to have changed incompatibly at some stage - just remove the problematic -dither.
* [configure] fix check for GNU awk/gawk to abort ./configure if missingJeremy Jackson2009-06-191-3/+5
| | | | | | | | It also prints what were comments explaining why gawk is necessary, and not-in-PATH to help user figure out why it's not found. Build was mysteriously failing with the old version of this check when gawk wasn't installed.
* [configure] remove unused/broken autoconf cache variable ac_statedirJeremy Jackson2009-06-191-6/+5
| | | | | | | It wasn't used, and the code wasn't printing progress or the result in some cases. the test uses minimal resources, so it's probably better to not cache so as to avoid inconsistencies if --with-prefix or directory variables are changed between ./configure runs.
* [configure/cleanup] fix broken autoconf cache variablesJeremy Jackson2009-06-191-29/+22
| | | | | | | | | | | | | | | | | Fix zebra_rtread and zebra_ipforward_path. It looks like someone tried to make this cached, but it was being ignored at least on autoconf 2.6.1. 2.6.2 now gives a warning about the situation, hence this fix. Although they are just warnings, it's dangerous to leave them as-is, because someone not diligent in reading the autoconf manual might just stick _cv_ in the name, with the effect that running a ./configure --config-cache would fail horribly, since variables are being set inside the AC_CACHE_CHECK() block that would not be seen when the variable's value was read from cache. Also added m4 quotes [] to macro arguments as autoconf manual suggests.
* [configure] remote support for AIX, it conflicts on newer autoconfJeremy Jackson2009-06-191-1/+0
| | | | | | | | AC_AIX and AC_GNU_SOURCE conflict > autoconf 2.53 or so, but the replacement AC_USE_SYSTEM_EXTENSIONS isn't available until later versions. So either we narrow the supported autconf version range, or disable AIX (if it has any effect), or determin that AC_AIX doesn't do anything useful anyhow.
* [configure] add configure support for PCRE Posix libraryJeremy Jackson2009-06-191-1/+14
| | | | | | | | | Debian tried unsuccessfully to build with libpcreposix. This adds proper support to autoconf/configure.ac for it. Based on the patch by C.J. Adams-Collier in bug #483. bgpd/bgp_{regex,routemap}.h: Pull in PCRE POSIX header if available.