summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dosish.h7
-rw-r--r--perl.c12
-rw-r--r--perl.h12
-rw-r--r--vms/vmsish.h7
4 files changed, 26 insertions, 12 deletions
diff --git a/dosish.h b/dosish.h
index 0981137811..59bf122859 100644
--- a/dosish.h
+++ b/dosish.h
@@ -26,7 +26,12 @@
# if (DJGPP==2 && DJGPP_MINOR < 2)
# define NO_LOCALECONV_MON_THOUSANDS_SEP
# endif
-# define PERL_FS_VER_FMT "%d_%d_%d"
+# ifndef PERL_CORE
+# define PERL_FS_VER_FMT "%d_%d_%d"
+# endif
+# define PERL_FS_VERSION STRINGIFY(PERL_REVISION) "_" \
+ STRINGIFY(PERL_VERSION) "_" \
+ STRINGIFY(PERL_SUBVERSION)
#else /* DJGPP */
# ifdef WIN32
# define PERL_SYS_INIT_BODY(c,v) \
diff --git a/perl.c b/perl.c
index e9a40187fb..6a16d78abe 100644
--- a/perl.c
+++ b/perl.c
@@ -4463,23 +4463,19 @@ S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags)
if (addsubdirs) {
#ifdef MACOS_TRADITIONAL
#define PERL_ARCH_FMT "%s:"
-#define PERL_ARCH_FMT_PATH PERL_FS_VER_FMT ""
+#define PERL_ARCH_FMT_PATH PERL_FS_VERSION ""
#else
#define PERL_ARCH_FMT "/%s"
-#define PERL_ARCH_FMT_PATH "/" PERL_FS_VER_FMT
+#define PERL_ARCH_FMT_PATH "/" PERL_FS_VERSION
#endif
/* .../version/archname if -d .../version/archname */
Perl_sv_setpvf(aTHX_ subdir, "%"SVf PERL_ARCH_FMT_PATH PERL_ARCH_FMT,
- SVfARG(libdir),
- (int)PERL_REVISION, (int)PERL_VERSION,
- (int)PERL_SUBVERSION, ARCHNAME);
+ SVfARG(libdir), ARCHNAME);
subdir = S_incpush_if_exists(aTHX_ av, subdir);
/* .../version if -d .../version */
Perl_sv_setpvf(aTHX_ subdir, "%"SVf PERL_ARCH_FMT_PATH,
- SVfARG(libdir),
- (int)PERL_REVISION, (int)PERL_VERSION,
- (int)PERL_SUBVERSION);
+ SVfARG(libdir));
subdir = S_incpush_if_exists(aTHX_ av, subdir);
/* .../archname if -d .../archname */
diff --git a/perl.h b/perl.h
index 982db702cf..d556b49219 100644
--- a/perl.h
+++ b/perl.h
@@ -3060,10 +3060,18 @@ typedef pthread_key_t perl_key;
# define MEMBER_TO_FPTR(name) name
#endif
+#ifndef PERL_CORE
/* format to use for version numbers in file/directory names */
/* XXX move to Configure? */
-#ifndef PERL_FS_VER_FMT
-# define PERL_FS_VER_FMT "%d.%d.%d"
+/* This was only ever used for the current version, and that can be done at
+ compile time, as PERL_FS_VERSION, so should we just delete it? */
+# ifndef PERL_FS_VER_FMT
+# define PERL_FS_VER_FMT "%d.%d.%d"
+# endif
+#endif
+
+#ifndef PERL_FS_VERSION
+# define PERL_FS_VERSION PERL_VERSION_STRING
#endif
/* This defines a way to flush all output buffers. This may be a
diff --git a/vms/vmsish.h b/vms/vmsish.h
index b70d42fce7..95ac23b403 100644
--- a/vms/vmsish.h
+++ b/vms/vmsish.h
@@ -418,7 +418,12 @@ struct interp_intern {
#define HAS_KILL
#define HAS_WAIT
-#define PERL_FS_VER_FMT "%d_%d_%d"
+#ifndef PERL_CORE
+# define PERL_FS_VER_FMT "%d_%d_%d"
+#endif
+#define PERL_FS_VERSION STRINGIFY(PERL_REVISION) "_" \
+ STRINGIFY(PERL_VERSION) "_" \
+ STRINGIFY(PERL_SUBVERSION)
/* Temporary; we need to add support for this to Configure.Com */
#ifdef PERL_INC_VERSION_LIST
# undef PERL_INC_VERSION_LIST