summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-08-11 21:16:05 +0200
committerAndy Wingo <wingo@pobox.com>2009-08-11 21:16:05 +0200
commit6e5c02b8a3d8783e6093e8147bec169e844c4d99 (patch)
treea43ecd2b65f74bd71cccd9993c611fa8c5736e43
parent86cfb42d56907c77e557b760328bfcee0d3be20c (diff)
downloadguile-6e5c02b8a3d8783e6093e8147bec169e844c4d99.tar.gz
make the fallback path look less like line noise
* libguile/_scm.h: * libguile/load.c: Rework to only include the relevant pieces in the fallback path.
-rw-r--r--libguile/_scm.h16
-rw-r--r--libguile/load.c3
2 files changed, 16 insertions, 3 deletions
diff --git a/libguile/_scm.h b/libguile/_scm.h
index 693ec1d9d..ff16a8587 100644
--- a/libguile/_scm.h
+++ b/libguile/_scm.h
@@ -170,9 +170,21 @@
/* The word size marker in objcode. */
#define SCM_OBJCODE_WORD_SIZE SCM_CPP_STRINGIFY (SIZEOF_VOID_P)
+// major and minor versions must be single characters
+#define SCM_OBJCODE_MAJOR_VERSION 0
+#define SCM_OBJCODE_MINOR_VERSION A
+#define SCM_OBJCODE_MAJOR_VERSION_STRING \
+ SCM_CPP_STRINGIFY(SCM_OBJCODE_MAJOR_VERSION)
+#define SCM_OBJCODE_MINOR_VERSION_STRING \
+ SCM_CPP_STRINGIFY(SCM_OBJCODE_MINOR_VERSION)
+#define SCM_OBJCODE_VERSION_STRING \
+ SCM_OBJCODE_MAJOR_VERSION_STRING "." SCM_OBJCODE_MINOR_VERSION_STRING
+#define SCM_OBJCODE_MACHINE_VERSION_STRING \
+ SCM_OBJCODE_VERSION_STRING "-" SCM_OBJCODE_ENDIANNESS "-" SCM_OBJCODE_WORD_SIZE
+
/* The objcode magic header. */
-#define SCM_OBJCODE_COOKIE \
- "GOOF-0.9-" SCM_OBJCODE_ENDIANNESS "-" SCM_OBJCODE_WORD_SIZE "---"
+#define SCM_OBJCODE_COOKIE \
+ "GOOF-" SCM_OBJCODE_MACHINE_VERSION_STRING "---"
#endif /* SCM__SCM_H */
diff --git a/libguile/load.c b/libguile/load.c
index b27bb8241..08324c587 100644
--- a/libguile/load.c
+++ b/libguile/load.c
@@ -253,7 +253,8 @@ scm_init_load_path ()
struct passwd *pwd;
#endif
-#define FALLBACK_DIR "guile/ccache/"SCM_EFFECTIVE_VERSION"/"SCM_OBJCODE_COOKIE
+#define FALLBACK_DIR \
+ "guile/ccache/" SCM_EFFECTIVE_VERSION "-" SCM_OBJCODE_MACHINE_VERSION_STRING
if ((e = getenv ("XDG_CACHE_HOME")))
snprintf (cachedir, sizeof(cachedir), "%s" FALLBACK_DIR, e);