diff options
author | Martin Mares <mj@ucw.cz> | 1999-01-09 15:02:11 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-01-09 15:02:11 +0000 |
commit | 2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f (patch) | |
tree | 3580ae083792f0e84fae328028cb59d2144769e6 /configure.in | |
parent | 6996f459c6d8e6205bbacd83e3656b47635f7d6d (diff) |
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.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/configure.in b/configure.in new file mode 100644 index 00000000..014c83df --- /dev/null +++ b/configure.in @@ -0,0 +1,93 @@ +dnl ** This is a configure script template for BIRD +dnl ** Process it with autoconf to get ./configure +dnl ** (c) 1999 Martin Mares <mj@ucw.cz> + +AC_REVISION($Id$) +AC_INIT(conf/confbase.Y) +AC_CONFIG_AUX_DIR(tools) + +AC_ARG_ENABLE(debug,[ --enable-debug enable internal debugging routines (default: enabled)],,enable_debug=yes) +AC_ARG_WITH(sysconfig,[ --with-sysconfig=FILE use specified BIRD system configuration file]) +AC_ARG_WITH(protocols,[ --with-protocols=LIST include specified routing protocols (default: rip,static)],,[with_protocols="rip,static"]) + +AC_CANONICAL_HOST +AC_MSG_CHECKING([which OS configuration should we use]) +if test -n "$with_sysconfig" -a "$with_sysconfig" != no ; then + case "$with_sysconfig" in *.h) ;; *) with_sysconfig="$with_sysconfig.h" ;; esac + if test -f $with_sysconfig ; then + SYSDESC=$with_sysconfig + else + SYSDESC=sysdep/cf/$with_sysconfig + fi +elif test -f sysconfig.h ; then + SYSDESC=sysconfig +else + case "$host_os" in + linux*) SYSDESC=linux-20 ;; + *) AC_MSG_RESULT(unknown) + AC_MSG_ERROR([Cannot determine correct system configuration.]) + ;; + esac + SYSDESC=sysdep/cf/$SYSDESC.h +fi +AC_MSG_RESULT($SYSDESC) +if ! test -f $SYSDESC ; then + AC_MSG_ERROR([The system configuration file is missing.]) +fi +AC_DEFINE_UNQUOTED(SYSCONF_INCLUDE, "$SYSDESC") + +AC_MSG_CHECKING([protocols]) +protocols=`echo "$with_protocols" | sed 's/,/ /g'` +for a in $protocols ; do + if ! test -f $srcdir/proto/$a/Makefile ; then + AC_MSG_RESULT(failed) + AC_MSG_ERROR([Requested protocol $a not found.]) + fi + AC_DEFINE_UNQUOTED(CONFIG_`echo $a | tr 'a-z' 'A-Z'`) + done +AC_MSG_RESULT(ok) + +AC_PROG_CC +if test -z "$GCC" ; then + AC_MSG_ERROR([This program requires the GNU C Compiler.]) + fi +AC_MSG_CHECKING([what CFLAGS should we use]) +if test "$ac_test_CFLAGS" != set ; then + CFLAGS="$CFLAGS -Wall -W -Wstrict-prototypes -Wno-unused -Wno-parentheses" +fi +AC_MSG_RESULT($CFLAGS) + +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_RANLIB +AC_CHECK_PROG(FLEX, flex, flex) +AC_CHECK_PROG(BISON, bison, bison) +AC_CHECK_PROG(M4, m4, m4) +if test -z "$FLEX" -o -z "$BISON" -o -z "$M4" ; then + AC_MSG_ERROR([Some tools required for building BIRD are missing.]) + fi + +AC_CHECK_HEADER(syslog.h, [AC_DEFINE(HAVE_SYSLOG)]) + +BIRD_CHECK_INTEGERS +BIRD_CHECK_ENDIAN +BIRD_CHECK_STRUCT_ALIGN +BIRD_CHECK_TIME_T + +if test "$enable_debug" = yes ; then + AC_DEFINE(PATH_CONFIG_DIR, ".") + AC_DEFINE(DEBUGGING) +else + AC_DEFINE_UNQUOTED(PATH_CONFIG_DIR, "$sysconfdir") +fi + +AC_CONFIG_HEADER(sysdep/autoconf.h) +AC_OUTPUT + +cat >&AC_FD_MSG <<EOF + +BIRD was configured with the following options: + System configuration: $SYSDESC + Debugging: $enable_debug + Routing protocols: $protocols +EOF |