summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-01-09 16:02:11 +0100
committerMartin Mares <mj@ucw.cz>1999-01-09 16:02:11 +0100
commit2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f (patch)
tree3580ae083792f0e84fae328028cb59d2144769e6 /configure.in
parent6996f459c6d8e6205bbacd83e3656b47635f7d6d (diff)
downloadbird-2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f.tar
bird-2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f.zip
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.in93
1 files changed, 93 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..014c83d
--- /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