From 44db603f691b58a8531e8ff528e0a7ce644257b2 Mon Sep 17 00:00:00 2001 From: Gary Johnson Date: Thu, 28 Oct 2021 20:49:06 +0100 Subject: patch 8.2.3566: build failure on old systems when using nano timestamp Problem: Build failure on old systems when using nano timestamp. Solution: Define _BSD_SOURCE, _SVID_SOURCE and _DEFAULT_SOURCE. (Gary Johnson, closes #9054) --- src/version.c | 2 ++ src/vim.h | 15 +++++++++++++++ 2 files changed, 17 insertions(+) (limited to 'src') diff --git a/src/version.c b/src/version.c index 857d72ef6..570b7d067 100644 --- a/src/version.c +++ b/src/version.c @@ -757,6 +757,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3566, /**/ 3565, /**/ diff --git a/src/vim.h b/src/vim.h index 31d4bdefe..43fb8e052 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, _SVID_SOURCE +// and/or // _DEFAULT_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 -- cgit v1.2.1