0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-08 12:18:42 +00:00
bird/configure.in
Martin Mares 2f9bcf9713 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.
1999-01-09 15:02:11 +00:00

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