57 lines
1.9 KiB
Diff
57 lines
1.9 KiB
Diff
|
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
|
||
|
|