From 2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sat, 9 Jan 1999 15:02:11 +0000 Subject: First step of "autoconfization". Created a configure script which guesses most system-dependent parameters and determines name of system configuration file (sysdep/cf/...) with the remaining ones. To compile BIRD, you now need to do: autoconf # Create configure from configure.in ./configure # Run configure script make # Compile everything Configuration files: sysdep/config.h Master config file sysdep/autoconf.h Parameters determined by configure script sysdep/cf/*.h Fixed system configuration we're unable to guess. Makefiles are still the original ones, but this will change soon. --- sysdep/config.h | 70 +++++++++++++++++++-------------------------------------- 1 file changed, 23 insertions(+), 47 deletions(-) (limited to 'sysdep/config.h') diff --git a/sysdep/config.h b/sysdep/config.h index 90ab8bb..6d8d172 100644 --- a/sysdep/config.h +++ b/sysdep/config.h @@ -1,63 +1,39 @@ /* - * This is a manually generated BIRD configuration file. - * It will be replaced by something better when we come - * with an automated configuration mechanism. [mj] + * This file contains all parameters dependent on the + * operating system and build-time configuration. */ #ifndef _BIRD_CONFIG_H_ #define _BIRD_CONFIG_H_ -/* System-dependent configuration */ +/* Include parameters determined by configure script */ +#include "sysdep/autoconf.h" -#include "sysdep/cf/linux-20.h" - -/* Include debugging code */ - -#define DEBUGGING +/* Include OS configuration file as chosen in autoconf.h */ +#include SYSCONF_INCLUDE /* Types */ - -typedef signed char s8; -typedef unsigned char u8; -typedef short int s16; -typedef unsigned short int u16; -typedef int s32; -typedef unsigned int u32; - +typedef signed INTEGER_8 s8; +typedef unsigned INTEGER_8 u8; +typedef INTEGER_16 s16; +typedef unsigned INTEGER_16 u16; +typedef INTEGER_32 s32; +typedef unsigned INTEGER_32 u32; typedef u8 byte; typedef u16 word; -/* Endianity */ - -#define CPU_LITTLE_ENDIAN - -/* Required alignment for multi-byte accesses */ - -#define CPU_NEEDS_ALIGN_WORD 1 -#define CPU_NEEDS_ALIGN_LONG 1 - -/* Usual alignment for structures */ - -#define CPU_STRUCT_ALIGN 4 - -/* Timers */ - -#undef TIME_T_IS_64BIT -#define TIME_T_IS_SIGNED - -/* Protocol options */ - -#define CONFIG_STATIC -#define CONFIG_RIP -#define CONFIG_BGP -#define CONFIG_OSPF - -/* Autodetected system features */ - -#define HAVE_SYSLOG +/* + * Required alignment for multi-byte accesses. We currently don't + * test these values in configure script, because several CPU's + * have unaligned accesses emulated by OS and they are slower + * than a call to memcpy() which is, in fact, often compiled + * as load/store by GCC on machines which don't require alignment. + */ -/* Paths */ +#define CPU_NEEDS_ALIGN_WORD 2 +#define CPU_NEEDS_ALIGN_LONG 4 -#define PATH_CONFIG "bird.conf" +/* Path to configuration file */ +#define PATH_CONFIG PATH_CONFIG_DIR "/bird.conf" #endif -- cgit v1.2.3