|
@@ -0,0 +1,56 @@
|
|
|
|
+From b5db1ebf06d2904522ebf246f9c6a8bbf8fca398 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: Gary Johnson <garyjohn@spocom.com>
|
|
|
|
+Date: Tue, 26 Oct 2021 13:50:19 -0700
|
|
|
|
+Subject: [PATCH] Fix config of old systems for nanosecond-resolution
|
|
|
|
+ timestamps
|
|
|
|
+
|
|
|
|
+On old systems (e.g. 32-bit systems running Ubuntu 10.4), defining
|
|
|
|
+_XOPEN_SOURCE causes _BSD_SOURCE and _SVID_SOURCE not to be defined,
|
|
|
|
+which causes nanosecond-resolution timestamps not to be included in
|
|
|
|
+struct stat, which causes the build of fileio.c to fail.
|
|
|
|
+
|
|
|
|
+_XOPEN_SOURCE is defined for some systems in vim.h.
|
|
|
|
+
|
|
|
|
+A solution is to define _BSD_SOURCE and _SVID_SOURCE whenever
|
|
|
|
+_XOPEN_SOURCE is defined.
|
|
|
|
+
|
|
|
|
+On new systems, defining either _BSD_SOURCE or _SVID_SOURCE causes
|
|
|
|
+/usr/include/features.h to issue a warning message about _BSD_SOURCE and
|
|
|
|
+_SVID_SOURCE being deprecated and to use _DEFAULT_SOURCE instead.
|
|
|
|
+
|
|
|
|
+A solution for that is to also define _DEFAULT_SOURCE when _BSD_SOURCE
|
|
|
|
+and _SVID_SOURCE are defined.
|
|
|
|
+
|
|
|
|
+[Retrieved from:
|
|
|
|
+https://github.com/vim/vim/pull/9054/commits/b5db1ebf06d2904522ebf246f9c6a8bbf8fca398]
|
|
|
|
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
|
|
+---
|
|
|
|
+ src/vim.h | 15 +++++++++++++++
|
|
|
|
+ 1 file changed, 15 insertions(+)
|
|
|
|
+
|
|
|
|
+diff --git a/src/vim.h b/src/vim.h
|
|
|
|
+index 31d4bdefe87..f62ad88c7a1 100644
|
|
|
|
+--- a/src/vim.h
|
|
|
|
++++ b/src/vim.h
|
|
|
|
+@@ -43,6 +43,21 @@
|
|
|
|
+ // 700 is needed for mkdtemp().
|
|
|
|
+ # ifndef _XOPEN_SOURCE
|
|
|
|
+ # define _XOPEN_SOURCE 700
|
|
|
|
++
|
|
|
|
++// On old systems, defining _XOPEN_SOURCE causes _BSD_SOURCE and/or
|
|
|
|
++// _SVID_SOURCE not to be defined, so do that here. Those are needed to
|
|
|
|
++// include nanosecond-resolution timestamps in struct stat. On new systems,
|
|
|
|
++// _DEFAULT_SOURCE is needed to avoid warning messages about using deprecated
|
|
|
|
++// _BSD_SOURCE or _SVID_SOURCE.
|
|
|
|
++# ifndef _BSD_SOURCE
|
|
|
|
++# define _BSD_SOURCE 1
|
|
|
|
++# endif
|
|
|
|
++# ifndef _SVID_SOURCE
|
|
|
|
++# define _SVID_SOURCE 1
|
|
|
|
++# endif
|
|
|
|
++# ifndef _DEFAULT_SOURCE
|
|
|
|
++# define _DEFAULT_SOURCE 1
|
|
|
|
++# endif
|
|
|
|
+ # endif
|
|
|
|
+ # endif
|
|
|
|
+
|