mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-08 12:18:42 +00:00
2f9bcf9713
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.
94 lines
2.6 KiB
Plaintext
94 lines
2.6 KiB
Plaintext
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
|