]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Autoconf is *evil*. The sysconfdir and similar variables are unusable in
authorMartin Mares <mj@ucw.cz>
Mon, 8 May 2000 14:19:47 +0000 (14:19 +0000)
committerMartin Mares <mj@ucw.cz>
Mon, 8 May 2000 14:19:47 +0000 (14:19 +0000)
C includes as they contain substitutions specific to make.

Worked around by creating sysconf/paths.h which is created from
the Makefile instead of by the configure script.

configure.in
sysdep/autoconf.h.in
sysdep/config.h
tools/Makefile-top.in
tools/Makefile.in
tools/Rules.in

index b197c3d4cdaf7403ca518a16fd01029afe86e8fb..cd7fa1848832d2106e785b5107e6880397a8f033 100644 (file)
@@ -144,16 +144,11 @@ BIRD_CHECK_TIME_T
 BIRD_CHECK_STRUCT_IP_MREQN
 
 if test "$enable_debug" = yes ; then
-       AC_DEFINE(PATH_CONFIG_DIR, ".")
-       AC_DEFINE(PATH_CONTROL_SOCKET_DIR, ".")
        AC_DEFINE(DEBUGGING)
        AC_CHECK_LIB(dmalloc, dmalloc_debug)
        if test $ac_cv_lib_dmalloc_dmalloc_debug != yes ; then
                AC_CHECK_LIB(efence, malloc)
        fi
-else
-       AC_DEFINE_UNQUOTED(PATH_CONFIG_DIR, "$sysconfdir")
-       AC_DEFINE_UNQUOTED(PATH_CONTROL_SOCKET_DIR, "$localstatedir")
 fi
 
 CLIENT=
index 8d2ebf381f22ffbfb7358bca119a89675bdb66fd..ca86ff43d169683b20a5fcea210aec52531b5973 100644 (file)
 /* We have <syslog.h> and syslog() */
 #undef HAVE_SYSLOG
 
-/* Path to configuration files */
-#define PATH_CONFIG_DIR ?
-
-/* Path to control socket */
-#define PATH_CONTROL_SOCKET_DIR ?
-
 /* Are we using dmalloc? */
 #undef HAVE_LIBDMALLOC
index 2b4a49d79b3c48720ac88d2530e2f44bc9411f1f..276929e250814fc63c11c1f81d2542f6d9c5701f 100644 (file)
@@ -17,6 +17,8 @@
 
 #ifndef MACROS_ONLY
 
+#include "sysdep/paths.h"
+
 /* Types */
 typedef signed INTEGER_8 s8;
 typedef unsigned INTEGER_8 u8;
@@ -30,7 +32,12 @@ typedef u16 word;
 #endif
 
 /* Path to configuration file */
+#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
index 9e5049efb9ae8cd835fed3dab8c8951daef308f7..855c2749c1a7fae99b8ca7cb8ca9a8390669b8d7 100644 (file)
@@ -12,4 +12,4 @@ clean:
 
 distclean: clean
        rm -rf $(objdir)
-       rm -f config.* configure sysdep/autoconf.h Makefile
+       rm -f config.* configure sysdep/autoconf.h sysdep/paths.h Makefile
index a740b9bf20cd87d4b21b22b2e372a1012f5a0d5d..fb078d7d1275aedbfc3d18145072f7825d48c665 100644 (file)
@@ -5,7 +5,7 @@ include Rules
 
 .PHONY: all daemon client subdir depend clean distclean tags docs userdocs progdocs
 
-all: .dep-stamp subdir daemon @CLIENT@
+all: sysdep/paths.h .dep-stamp subdir daemon @CLIENT@
 
 daemon: $(exedir)/bird
 
@@ -34,11 +34,16 @@ docs: userdocs progdocs
 userdocs progdocs: .dir-stamp
        $(MAKE) -C doc -f $(srcdir_abs)/doc/Makefile $@
 
+sysdep/paths.h:
+       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_CONTROL_SOCKET_DIR \"$(localstatedir)\""
+
 tags:
        cd $(srcdir) ; etags -lc `find $(static-dirs) $(addprefix $(objdir)/,$(dynamic-dirs)) $(client-dirs) -name *.[chY]`
 
 install: all
-       $(INSTALL) -d $(sbindir) $(sysconfdir)
+       $(INSTALL) -d $(sbindir) $(sysconfdir) $(localstatedir)
        $(INSTALL_PROGRAM) -s $(exedir)/bird $(sbindir)/
        if test -n "@CLIENT@" ; then                                                            \
                $(INSTALL_PROGRAM) -s $(exedir)/birdc $(sbindir)/ ;                             \
@@ -54,5 +59,5 @@ clean:
        rm -f $(exedir)/bird $(exedir)/birdc $(exedir)/bird.ctl .dep-stamp
 
 distclean: clean
-       rm -f config.* configure sysdep/autoconf.h Makefile Rules
+       rm -f config.* configure sysdep/autoconf.h sysdep/paths.h Makefile Rules
        rm -rf .dir-stamp $(clean-dirs)
index 92dadcf73c71702a317141ff6ef497ee34cd9b68..2d2a8275d94ef37c65ec2775c7d83c4ccca968c4 100644 (file)
@@ -38,6 +38,7 @@ exec_prefix=@exec_prefix@
 bindir=@bindir@
 sbindir=@sbindir@
 sysconfdir=@sysconfdir@
+localstatedir=@localstatedir@
 
 ifdef source