* Makefile.am (schemelibdir): VERSION -> GUILE_EFFECTIVE_VERSION.
authorRob Browning <rlb@defaultvalue.org>
Mon, 9 Dec 2002 00:46:31 +0000 (00:46 +0000)
committerRob Browning <rlb@defaultvalue.org>
Mon, 9 Dec 2002 00:46:31 +0000 (00:46 +0000)
(libpath.h): use GUILE_EFFECTIVE_VERSION to compute
SCM_LIBRARY_DIR.
(version.h): generate this here rather than configure.in.  This
approach tracks source edits better (i.e. more immediately).
Might be worth considering for other .in files too.

libguile/Makefile.am

index 1520c99..78121c7 100644 (file)
@@ -110,6 +110,7 @@ DOT_DOC_FILES = alist.doc arbiters.doc async.doc backtrace.doc                  \
 EXTRA_DOT_DOC_FILES = @EXTRA_DOT_DOC_FILES@
 
 BUILT_SOURCES = cpp_err_symbols.c cpp_sig_symbols.c libpath.h scmconfig.h \
+    version.h \
     $(DOT_X_FILES) $(EXTRA_DOT_X_FILES) guile.texi
 
 EXTRA_libguile_la_SOURCES = _scm.h                     \
@@ -176,13 +177,23 @@ EXTRA_DIST = ChangeLog-gh ChangeLog-scm ChangeLog-threads         \
 #    $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) \
 #    guile-procedures.txt guile.texi
 
+## We use @-...-@ as the substitution brackets here, instead of the
+## usual @...@, so autoconf doesn't go and substitute the values
+## directly into the left-hand sides of the sed substitutions.  *sigh*
+version.h: version.h.in
+       sed < $^ > $@.tmp \
+         -e s:@-GUILE_MAJOR_VERSION-@:${GUILE_MAJOR_VERSION}: \
+         -e s:@-GUILE_MINOR_VERSION-@:${GUILE_MINOR_VERSION}: \
+         -e s:@-GUILE_MICRO_VERSION-@:${GUILE_MICRO_VERSION}:
+       mv $@.tmp $@
+
 ## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds.
 libpath.h: $(srcdir)/Makefile.in  $(top_builddir)/config.status
        @echo "Generating libpath.h..."
        @rm -f libpath.tmp
        @echo '/* generated by Makefile */' > libpath.tmp
        @echo '#define SCM_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp
-       @echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(VERSION)"'>>libpath.tmp
+       @echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>libpath.tmp
        @echo '#define SCM_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp
        @echo '#define SCM_BUILD_INFO { \' >> libpath.tmp
        @echo ' { "srcdir", "'"`cd @srcdir@; pwd`"'" }, \' >> libpath.tmp
@@ -259,7 +270,7 @@ endif
 c-tokenize.c: c-tokenize.lex
        flex -t $(srcdir)/c-tokenize.lex > $@ || { rm $@; false; }
 
-schemelibdir = $(pkgdatadir)/$(VERSION)
+schemelibdir = $(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)
 schemelib_DATA = guile-procedures.txt
 
 ## Add -MG to make the .x magic work with auto-dep code.
@@ -308,7 +319,9 @@ check_errnos:
 
 MOSTLYCLEANFILES = \
        cpp_err_symbols_here cpp_err_symbols_diff cpp_err_symbols_new \
-       cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new
+       cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new \
+       version.h version.h.tmp \
+       scmconfig.h scmconfig.h.tmp
 
 CLEANFILES = libpath.h *.x *.doc guile-procedures.txt guile-procedures.texi guile.texi