summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2017-05-31 23:41:26 +0000
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2017-06-01 13:19:52 +0200
commit526747a2bf6193f784a578b0b97cffaccb44e3df (patch)
treee4bed4cd35872550e94a3d8d4e3dd7f633919997 /include
parent228f76d4dfe9a8a9b50e4c5ac8161a991fc8107c (diff)
include/features.h: add _DEFAULT_SOURCE macro
man feature_test_macros(7) specifies that _BSD_SOURCE and _SVID_SOURCE have been deprecated in favor of _DEFAULT_SOURCE since libc 2.20. Specifying either of the former is now equivalent to specifying just the latter. We add this macro to conform to this standard, but do not add the compiler warning to maintain full backwards compatibility with earlier version of glibc and uclibc. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'include')
-rw-r--r--include/features.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/features.h b/include/features.h
index f9820791b..3a9959360 100644
--- a/include/features.h
+++ b/include/features.h
@@ -40,6 +40,7 @@
_SVID_SOURCE ISO C, POSIX, and SVID things.
_ATFILE_SOURCE Additional *at interfaces.
_GNU_SOURCE All of the above, plus GNU extensions.
+ _DEFAULT_SOURCE Equivalent to defining _BSD_SOURCE and _SVID_SOURCE.
_REENTRANT Select additionally reentrant object.
_THREAD_SAFE Same as _REENTRANT, often used by other systems.
_FORTIFY_SOURCE If set to numeric value > 0 additional security
@@ -140,6 +141,19 @@
# define __GNUC_PREREQ(maj, min) 0
#endif
+/* _DEFAULT_SOURCE is equivalent to defining _BSD_SOURCE and _SVID_SOURCE
+ * and vice versa. */
+#ifdef _DEFAULT_SOURCE
+# undef _BSD_SOURCE
+# define _BSD_SOURCE 1
+# undef _SVID_SOURCE
+# define _SVID_SOURCE 1
+#endif
+
+#if defined _BSD_SOURCE || defined _SVID_SOURCE
+# undef _DEFAULT_SOURCE
+# define _DEFAULT_SOURCE 1
+#endif
/* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */
#if defined _BSD_SOURCE && \