summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/Makefile.am20
-rw-r--r--libguile/Makefile.in20
-rw-r--r--libguile/scmconfig.h.in6
-rw-r--r--libguile/script.c3
-rw-r--r--libguile/version.c11
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);
+}
+