Implements build options to specify socket dir and suffix.

This commit is contained in:
Ondrej Zajicek 2012-05-03 12:25:15 +02:00
parent 7a2c48dafc
commit ab188fb76d
5 changed files with 42 additions and 42 deletions

View file

@ -6,18 +6,21 @@ AC_REVISION($Id$)
AC_INIT(conf/confbase.Y) AC_INIT(conf/confbase.Y)
AC_CONFIG_AUX_DIR(tools) AC_CONFIG_AUX_DIR(tools)
AC_ARG_ENABLE(debug,[ --enable-debug enable internal debugging routines (default: disabled)],,enable_debug=no) AC_ARG_ENABLE(debug, [ --enable-debug enable internal debugging routines (default: disabled)],,enable_debug=no)
AC_ARG_ENABLE(memcheck,[ --enable-memcheck check memory allocations when debugging (default: enabled)],,enable_memcheck=yes) AC_ARG_ENABLE(memcheck, [ --enable-memcheck check memory allocations when debugging (default: enabled)],,enable_memcheck=yes)
AC_ARG_ENABLE(client,[ --enable-client enable building of BIRD client (default: enabled)],,enable_client=yes) AC_ARG_ENABLE(client, [ --enable-client enable building of BIRD client (default: enabled)],,enable_client=yes)
AC_ARG_ENABLE(ipv6,[ --enable-ipv6 enable building of IPv6 version (default: disabled)],,enable_ipv6=no) AC_ARG_ENABLE(ipv6, [ --enable-ipv6 enable building of IPv6 version (default: disabled)],,enable_ipv6=no)
AC_ARG_WITH(sysconfig,[ --with-sysconfig=FILE use specified BIRD system configuration file]) AC_ARG_WITH(suffix, [ --with-suffix=STRING use specified suffix for BIRD files (default: 6 for IPv6 version)],[given_suffix="yes"])
AC_ARG_WITH(protocols,[ --with-protocols=LIST include specified routing protocols (default: all)],,[with_protocols="all"]) AC_ARG_WITH(sysconfig, [ --with-sysconfig=FILE use specified BIRD system configuration file])
AC_ARG_WITH(sysinclude,[ --with-sysinclude=PATH search for system includes on specified place]) AC_ARG_WITH(protocols, [ --with-protocols=LIST include specified routing protocols (default: all)],,[with_protocols="all"])
AC_ARG_WITH(iproutedir,[ --with-iproutedir=PATH path to iproute2 config files (default: /etc/iproute2)],[given_iproutedir="yes"]) AC_ARG_WITH(sysinclude, [ --with-sysinclude=PATH search for system includes on specified place])
AC_ARG_WITH(runtimedir, [ --with-runtimedir=PATH path for runtime files (default: $(localstatedir)/run)],[runtimedir="$with_runtimedir"],[runtimedir="\$(localstatedir)/run"])
AC_ARG_WITH(iproutedir, [ --with-iproutedir=PATH path to iproute2 config files (default: /etc/iproute2)],[given_iproutedir="yes"])
AC_ARG_VAR([FLEX], [location of the Flex program]) AC_ARG_VAR([FLEX], [location of the Flex program])
AC_ARG_VAR([BISON], [location of the Bison program]) AC_ARG_VAR([BISON], [location of the Bison program])
AC_ARG_VAR([M4], [location of the M4 program]) AC_ARG_VAR([M4], [location of the M4 program])
if test "$srcdir" = . ; then if test "$srcdir" = . ; then
# Building in current directory => create obj directory holding all objects # Building in current directory => create obj directory holding all objects
objdir=obj objdir=obj
@ -39,21 +42,37 @@ esac
AC_SUBST(objdir) AC_SUBST(objdir)
AC_SUBST(exedir) AC_SUBST(exedir)
AC_SUBST(srcdir_rel_mf) AC_SUBST(srcdir_rel_mf)
AC_SUBST(runtimedir)
if test "$enable_ipv6" = yes ; then if test "$enable_ipv6" = yes ; then
ip=ipv6 ip=ipv6
SUFFIX6=6 SUFFIX=6
all_protocols=bgp,ospf,pipe,radv,rip,static all_protocols=bgp,ospf,pipe,radv,rip,static
else else
ip=ipv4 ip=ipv4
SUFFIX6="" SUFFIX=""
all_protocols=bgp,ospf,pipe,rip,static all_protocols=bgp,ospf,pipe,rip,static
fi fi
if test "$given_suffix" = yes ; then
SUFFIX="$with_suffix"
fi
AC_SUBST(SUFFIX)
if test "$with_protocols" = all ; then if test "$with_protocols" = all ; then
with_protocols="$all_protocols" with_protocols="$all_protocols"
fi fi
if test "$enable_debug" = yes ; then
CONFIG_FILE="bird$SUFFIX.conf"
CONTROL_SOCKET="bird$SUFFIX.ctl"
else
CONFIG_FILE="\$(sysconfdir)/bird$SUFFIX.conf"
CONTROL_SOCKET="$runtimedir/bird$SUFFIX.ctl"
fi
AC_SUBST(CONFIG_FILE)
AC_SUBST(CONTROL_SOCKET)
AC_SEARCH_LIBS(clock_gettime,[c rt posix4]) AC_SEARCH_LIBS(clock_gettime,[c rt posix4])
AC_CANONICAL_HOST AC_CANONICAL_HOST
@ -225,7 +244,6 @@ if test "$enable_client" = yes ; then
fi fi
AC_SUBST(CLIENT) AC_SUBST(CLIENT)
AC_SUBST(CLIENT_LIBS) AC_SUBST(CLIENT_LIBS)
AC_SUBST(SUFFIX6)
mkdir -p $objdir/sysdep mkdir -p $objdir/sysdep
AC_CONFIG_HEADERS([$objdir/sysdep/autoconf.h:sysdep/autoconf.h.in]) AC_CONFIG_HEADERS([$objdir/sysdep/autoconf.h:sysdep/autoconf.h.in])

View file

@ -62,3 +62,4 @@
/* We have stdint.h */ /* We have stdint.h */
#undef HAVE_STDINT_H #undef HAVE_STDINT_H
#define CONFIG_PATH ?

View file

@ -37,23 +37,4 @@ typedef u16 word;
#endif #endif
/* Path to configuration file */
#ifdef IPV6
# ifdef DEBUGGING
# define PATH_CONFIG "bird6.conf"
# define PATH_CONTROL_SOCKET "bird6.ctl"
# else
# define PATH_CONFIG PATH_CONFIG_DIR "/bird6.conf"
# define PATH_CONTROL_SOCKET PATH_CONTROL_SOCKET_DIR "/bird6.ctl"
# endif
#else
# ifdef DEBUGGING
# define PATH_CONFIG "bird.conf"
# define PATH_CONTROL_SOCKET "bird.ctl"
# else
# define PATH_CONFIG PATH_CONFIG_DIR "/bird.conf"
# define PATH_CONTROL_SOCKET PATH_CONTROL_SOCKET_DIR "/bird.ctl"
# endif
#endif
#endif #endif

View file

@ -151,7 +151,7 @@ read_iproute_table(char *file, char *prefix, int max)
#endif // PATH_IPROUTE_DIR #endif // PATH_IPROUTE_DIR
static char *config_name = PATH_CONFIG; static char *config_name = PATH_CONFIG_FILE;
static int static int
cf_read(byte *dest, unsigned int len, int fd) cf_read(byte *dest, unsigned int len, int fd)

View file

@ -48,23 +48,23 @@ userdocs progdocs: .dir-stamp
sysdep/paths.h: sysdep/paths.h:
echo >sysdep/paths.h "/* Generated by Makefile, don't edit manually! */" echo >sysdep/paths.h "/* Generated by Makefile, don't edit manually! */"
echo >>sysdep/paths.h "#define PATH_CONFIG_DIR \"$(sysconfdir)\"" echo >>sysdep/paths.h "#define PATH_CONFIG_FILE \"@CONFIG_FILE@\""
echo >>sysdep/paths.h "#define PATH_CONTROL_SOCKET_DIR \"$(localstatedir)/run\"" echo >>sysdep/paths.h "#define PATH_CONTROL_SOCKET \"@CONTROL_SOCKET@\""
if test -n "@iproutedir@" ; then echo >>sysdep/paths.h "#define PATH_IPROUTE_DIR \"@iproutedir@\"" ; fi if test -n "@iproutedir@" ; then echo >>sysdep/paths.h "#define PATH_IPROUTE_DIR \"@iproutedir@\"" ; fi
tags: tags:
cd $(srcdir) ; etags -lc `find $(static-dirs) $(addprefix $(objdir)/,$(dynamic-dirs)) $(client-dirs) -name *.[chY]` cd $(srcdir) ; etags -lc `find $(static-dirs) $(addprefix $(objdir)/,$(dynamic-dirs)) $(client-dirs) -name *.[chY]`
install: all install: all
$(INSTALL) -d $(DESTDIR)/$(sbindir) $(DESTDIR)/$(sysconfdir) $(DESTDIR)/$(localstatedir)/run $(INSTALL) -d $(DESTDIR)/$(sbindir) $(DESTDIR)/$(sysconfdir) $(DESTDIR)/@runtimedir@
$(INSTALL_PROGRAM) -s $(exedir)/bird $(DESTDIR)/$(sbindir)/bird@SUFFIX6@ $(INSTALL_PROGRAM) -s $(exedir)/bird $(DESTDIR)/$(sbindir)/bird@SUFFIX@
if test -n "@CLIENT@" ; then \ if test -n "@CLIENT@" ; then \
$(INSTALL_PROGRAM) -s $(exedir)/birdc $(DESTDIR)/$(sbindir)/birdc@SUFFIX6@ ; \ $(INSTALL_PROGRAM) -s $(exedir)/birdc $(DESTDIR)/$(sbindir)/birdc@SUFFIX@ ; \
fi fi
if ! test -f $(DESTDIR)/$(sysconfdir)/bird@SUFFIX6@.conf ; then \ if ! test -f $(DESTDIR)/@CONFIG_FILE@ ; then \
$(INSTALL_DATA) $(srcdir)/doc/bird.conf.example $(DESTDIR)/$(sysconfdir)/bird@SUFFIX6@.conf ; \ $(INSTALL_DATA) $(srcdir)/doc/bird.conf.example $(DESTDIR)/@CONFIG_FILE@ ; \
else \ else \
echo "Not overwriting old bird@SUFFIX@.conf" ; \ echo "Not overwriting old bird@SUFFIX@.conf" ; \
fi fi
install-docs: install-docs: