Get Linux version from <linux/version.h>, not `uname -r`.
Added `--disable-memcheck' switch which avoids linking of efence/dmalloc,so that we can run in debugging mode with large routing tables.
Autoconf is evil. The sysconfdir and similar variables are unusable inC includes as they contain substitutions specific to make.
Worked around by creating sysconf/paths.h which is created fromthe Makefile instead of by the configure script.
Debugging compilation is no longer default. This means that the configurationfile is expected in $prefix/etc etc.
Use --enable-debug to request debugging.
Added --enable-ipv6 which tells configure to select the right configurationfor IPv6 automatically.
Added --enable-warnings which turns off some more warnings.
Default protocol list now depends on --enable-ipv6.
OSPF added to default protocols.
Added BGP to the default list of protocols we build.
Hmmm, libreadline 2.1 seems to be the oldest version we work with.
Moan loudly if libreadline is an old version which doesn't supportcallbacks.
Configure, link and use the readline library.
Put client on a stony ground. The whole client is going to be system-specific(the current version UNIX-specific) anyway, so it's useless to try splitting itto sysdep and generic part. Instead of this, configure script decides (based onsystem type and user's wish) what (if any) client should be built and what...
Use linux-22 configuration with all 2.2.x and 2.3.x kernels. This meansyou need to have your kernel compiled with netlink routing messages enabled.If it doesn't work for you, use --with-sysconfig=linux-21 and let me knowwhat's going wrong.
Configure PATH_CONTROL_SOCKET.autoconf.h is now written to obj/sysdep, the source tree is hopefullycompletely read-only now.
Implemented a Table-to-Table protocol a.k.a The Pipe.
Added --with-sysinclude to allow explicitly setting where kernel includesreside, so that you can easily switch between 2.0 and 2.2 ones.
Check existence of <linux/rtnetlink.h> for linux-22 configs to make surewe're using the correct set of includes.
Oops, a typo in previous struct ip_mreqn changes...
Use `struct ip_mreqn' instead of `struct ip_mreq' for multicastoperations on 2.1/2.2 kernels. This allows passing of real interfaceindexes instead of referencing interfaces by their IP addresses whichfails badly in presence of unnumbered interfaces.
Unfortunately, this structure is not visible with glibc 2.0 as it provides...
Prefer `gm4' over `m4' (due to BSD et al.).
Cleaned up system configuration files -- removed few obsolete parameters,documented the remaining ones (sysdep/cf/README).
o linux-20: Old Linux interface via /proc/net/route (selected by default on pre-2.1 kernels). o linux-21: Old Linux interface, but device routes handled by the...
Don't compile OSPF by default.
Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF.
Use dmalloc instead of EFence when available (dmalloc has lot of improvementsover EFence and also hopefully smaller memory overhead, but sadly it's non-freefor commercial use).
If the DMALLOC_OPTIONS environment variable is not set, switch on `reasonable'...
If we are compiling with debugging enabled and libefence is available,link it to get debugging malloc.
Filter all `Modules' files through C preprocessor, so that they canreference BIRD configuration.
By the way: Do you know GCC by default does `#define unix 1'?
Few last-minute bug fixes.
New makefiles. Includes support for out-of-source-tree builds.
First step of "autoconfization". Created a configure script whichguesses most system-dependent parameters and determines name of systemconfiguration file (sysdep/cf/...) with the remaining ones.
To compile BIRD, you now need to do:
autoconf # Create configure from configure.in...