Add a features.h to auto enable _DEFAULT_SOURCE
Unless __STRICT_ANSI__ is defined (as it is when running the compiler in --std=c89 or --std=c99, but not when running it without any specific args), we can enable these by default and behave like most other systems. I don't know why no one has done this yet despite suggesting it multiple times and people prefer to #define _BSD_SOURCE manually everywhere. Remove all places in our Jamfiles and sources where it had been defined. _DEFAULT_SOURCE is now enabled by default for all sources of Haiku, since we let the compiler use GNU extensions (no strict C standard specified on command line) Use _DEFAULT_SOURCE as the define name to match current versions of glibc. Enable it if _BSD_SOURCE is #defined in compiler flags, for backward compatibility. Change-Id: I6db04da5f6db437723cdfba3478f5094a69d7727 Reviewed-on: https://review.haiku-os.org/c/1633 Reviewed-by: Jérôme Duval <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
70e55f0046
commit
4950607607
@@ -37,8 +37,9 @@
|
||||
#ifndef _PATHS_H_
|
||||
#define _PATHS_H_
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
|
||||
#if defined(_DEFAULT_SOURCE) || defined(_GNU_SOURCE)
|
||||
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
@@ -141,7 +142,7 @@ __END_DECLS
|
||||
#endif /* RESCUE */
|
||||
|
||||
|
||||
#endif /* _BSD_SOURCE || _GNU_SOURCE */
|
||||
#endif /* _DEFAULT_SOURCE || _GNU_SOURCE */
|
||||
|
||||
|
||||
#endif /* !_PATHS_H_ */
|
||||
|
||||
Reference in New Issue
Block a user