diff options
-rw-r--r-- | libguile/Makefile.am | 20 | ||||
-rw-r--r-- | libguile/Makefile.in | 20 | ||||
-rw-r--r-- | libguile/scmconfig.h.in | 6 | ||||
-rw-r--r-- | libguile/script.c | 3 | ||||
-rw-r--r-- | libguile/version.c | 11 |
5 files changed, 48 insertions, 12 deletions
diff --git a/libguile/Makefile.am b/libguile/Makefile.am index c428d527c..f4b3c655a 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -7,6 +7,8 @@ AUTOMAKE_OPTIONS = foreign ## building. INCLUDES = -I.. -I$(srcdir)/.. +ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(PROC\|PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' + lib_LTLIBRARIES = libguile.la bin_PROGRAMS = guile @@ -39,7 +41,7 @@ noinst_HEADERS = coop-threads.c coop-threads.h coop.c libguile_la_DEPENDENCIES = @LIBLOBJS@ libguile_la_LIBADD = @LIBLOBJS@ -libguile_la_LDFLAGS = -version-info 1:1 -rpath $(libdir) +libguile_la_LDFLAGS = -version-info 1:2 -rpath $(libdir) include_HEADERS = libguile.h @@ -83,9 +85,7 @@ EXTRA_DIST = ChangeLog-gh ChangeLog-scm ChangeLog-threads dynl-dl.c \ cpp_err_symbols.in cpp_sig_symbols.in cpp_cnvt.awk coop-threads.h.cygnus \ coop-threads.c.cygnus mit-pthreads.h mit-pthreads.c fsu-pthreads.h -## FIXME: shouldn't directly generate file; instead generate temp file -## and "mv". Consider using timestamp file as well, to avoid -## unnecessary rebuilds. +## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds. libpath.h: Makefile rm -f libpath.tmp echo '/* generated by Makefile */' > libpath.tmp @@ -94,6 +94,18 @@ libpath.h: Makefile echo '#define SCM_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp mv libpath.tmp libpath.h +## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds. +versiondat.h: Makefile + rm -f versiondat.tmp + echo '/* generated by Makefile */' > versiondat.tmp + echo '#define GUILE_VERSION "$(GUILE_VERSION)"' >> versiondat.tmp + echo '#define GUILE_MAJOR_VERSION "$(GUILE_MAJOR_VERSION)"' \ + >> versiondat.tmp + echo '#define GUILE_MINOR_VERSION "$(GUILE_MINOR_VERSION)"' \ + >> versiondat.tmp + echo '#define GUILE_STAMP "$(GUILE_STAMP)"' >> versiondat.tmp + mv versiondat.tmp versiondat.h + SUFFIXES = .x .c.x: ./guile-snarf $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $< > $@ diff --git a/libguile/Makefile.in b/libguile/Makefile.in index 0d3953535..3261e3f57 100644 --- a/libguile/Makefile.in +++ b/libguile/Makefile.in @@ -58,6 +58,11 @@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CPP = @CPP@ +GUILE_MAJOR_VERSION = @GUILE_MAJOR_VERSION@ +GUILE_MINOR_VERSION = @GUILE_MINOR_VERSION@ +GUILE_STAMP = @GUILE_STAMP@ +GUILE_VERSION = @GUILE_VERSION@ +LD = @LD@ LIBLOBJS = @LIBLOBJS@ LIBTOOL = @LIBTOOL@ MAINT = @MAINT@ @@ -77,6 +82,8 @@ AUTOMAKE_OPTIONS = foreign INCLUDES = -I.. -I$(srcdir)/.. +ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(PROC\|PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' + lib_LTLIBRARIES = libguile.la bin_PROGRAMS = guile @@ -105,7 +112,7 @@ noinst_HEADERS = coop-threads.c coop-threads.h coop.c libguile_la_DEPENDENCIES = @LIBLOBJS@ libguile_la_LIBADD = @LIBLOBJS@ -libguile_la_LDFLAGS = -version-info 1:1 -rpath $(libdir) +libguile_la_LDFLAGS = -version-info 1:2 -rpath $(libdir) include_HEADERS = libguile.h @@ -593,6 +600,17 @@ libpath.h: Makefile echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(VERSION)"' >>libpath.tmp echo '#define SCM_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp mv libpath.tmp libpath.h + +versiondat.h: Makefile + rm -f versiondat.tmp + echo '/* generated by Makefile */' > versiondat.tmp + echo '#define GUILE_VERSION "$(GUILE_VERSION)"' >> versiondat.tmp + echo '#define GUILE_MAJOR_VERSION "$(GUILE_MAJOR_VERSION)"' \ + >> versiondat.tmp + echo '#define GUILE_MINOR_VERSION "$(GUILE_MINOR_VERSION)"' \ + >> versiondat.tmp + echo '#define GUILE_STAMP "$(GUILE_STAMP)"' >> versiondat.tmp + mv versiondat.tmp versiondat.h .c.x: ./guile-snarf $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $< > $@ diff --git a/libguile/scmconfig.h.in b/libguile/scmconfig.h.in index 6a8f96c83..38e1080f6 100644 --- a/libguile/scmconfig.h.in +++ b/libguile/scmconfig.h.in @@ -130,12 +130,6 @@ aclocal.m4. */ #undef LIBC_H_WITH_UNISTD_H -/* Define these to indicate the current version of Guile. These - values are supposed to be supplied by the configuration system. */ -#undef GUILE_MAJOR_VERSION -#undef GUILE_MINOR_VERSION -#undef GUILE_VERSION - /* Define this to include various undocumented functions used to debug the Guile library itself. */ #undef GUILE_DEBUG diff --git a/libguile/script.c b/libguile/script.c index 36f3c1e19..128cb82a0 100644 --- a/libguile/script.c +++ b/libguile/script.c @@ -46,6 +46,7 @@ #include "_scm.h" #include "gh.h" #include "load.h" +#include "version.h" #include "script.h" @@ -570,7 +571,7 @@ scm_compile_shell_switches (int argc, char **argv) "certain other uses are permitted as well. For details, see the file\n" "`COPYING', which is included in the Guile distribution.\n" "There is no warranty, to the extent permitted by law.\n", - GUILE_VERSION); + SCM_CHARS (scm_version ())); exit (0); } diff --git a/libguile/version.c b/libguile/version.c index 25e3d0d39..e70382010 100644 --- a/libguile/version.c +++ b/libguile/version.c @@ -41,6 +41,7 @@ #include "_scm.h" +#include "versiondat.h" #include "version.h" @@ -75,6 +76,16 @@ scm_version () return scm_makfrom0str (GUILE_VERSION); } +/* Return a Scheme string containing Guile's configuration stamp. */ + +SCM_PROC(s_libguile_config_stamp, "libguile-config-stamp", 0, 0, 0, scm_libguile_config_stamp); + +SCM +scm_libguile_config_stamp () +{ + return scm_makfrom0str (GUILE_STAMP); +} + |