summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.h-vms.template17
-rw-r--r--readme.vms15
-rw-r--r--vmsfunctions.c2
3 files changed, 29 insertions, 5 deletions
diff --git a/config.h-vms.template b/config.h-vms.template
index e2dd026..67b9447 100644
--- a/config.h-vms.template
+++ b/config.h-vms.template
@@ -330,14 +330,23 @@
/* #undef WANT_CASE_SENSITIVE_TARGETS */
/* VMS specific, V7.0 has opendir() and friends, so it's undefined */
-/* Define first or both if you want to use non-VMS code for opendir() etc. */
+/* If you want to use non-VMS code for opendir() etc. on V7.0 and greater
+ define the first or both macros AND change the compile command to get the
+ non-VMS versions linked: (prefix=(all,except=(opendir,... */
/* #undef HAVE_VMSDIR_H */
/* #undef _DIRENT_HAVE_D_NAMLEN */
-/* On older systems with older CRTLs force non-VMS-code */
-#if __CRTL_VER < 70000000 && !defined(HAVE_VMSDIR_H)
-#define HAVE_VMSDIR_H 1
+/* On older systems without 7.0 backport of CRTL the first one is defined */
+#ifdef __CRTL_VER
+# if __CRTL_VER < 70000000
+# define HAVE_VMSDIR_H 1
+# endif
+#else
+# if __VMS_VER < 70000000
+# define HAVE_VMSDIR_H 1
+# endif
#endif
+
#if defined(HAVE_VMSDIR_H) && defined(HAVE_DIRENT_H)
#undef HAVE_DIRENT_H
#endif
diff --git a/readme.vms b/readme.vms
index dacc394..d4a9667 100644
--- a/readme.vms
+++ b/readme.vms
@@ -11,6 +11,21 @@ seem worth to get it working. There are still some PTRMISMATCH warnings
during the compile. Although perl is working on VMS the test scripts
don't work. The function $shell is still missing.
+There is a known bug in some of the VMS CRTLs. It is in the shipped
+versions of VMS V7.2 and V7.2-1 and in the currently (October 1999)
+available ECOs for VMS V7.1 and newer versions. It is fixed in versions
+shipped with newer VMS versions and all ECO kits after October 1999. It
+only shows up during the daylight saving time period (DST): stat()
+returns a modification time 1 hour ahead. This results in GNU make
+warning messages. For a just created source you will see:
+
+ $ gmake x.exe
+ gmake.exe;1: *** Warning: File `x.c' has modification time in the future (940582863 > 940579269)
+ cc /obj=x.obj x.c
+ link x.obj /exe=x.exe
+ gmake.exe;1: *** Warning: Clock skew detected. Your build may be incomplete.
+
+
New in 3.78.1:
Fix a problem with automatically remaking makefiles. GNU make uses an
diff --git a/vmsfunctions.c b/vmsfunctions.c
index a36630e..69ba28c 100644
--- a/vmsfunctions.c
+++ b/vmsfunctions.c
@@ -13,7 +13,7 @@
#include <fibdef.h>
#include "vmsdir.h"
-#if __VMS_VER < 70000000
+#ifdef HAVE_VMSDIR_H
DIR *
opendir (dspec)