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:
Adrien Destugues
2019-07-29 20:26:46 +00:00
committed by Adrien Destugues
parent 70e55f0046
commit 4950607607
52 changed files with 92 additions and 63 deletions
+1 -1
View File
@@ -276,7 +276,7 @@ function BuildBroadcomFWCutter()
# Build b43-fwcutter.
echo "Compiling b43-fwcutter for installing Broadcom's firmware ..."
make PREFIX=/boot/system CFLAGS="-I. -Wall -D_BSD_SOURCE" >/dev/null 2>&1
make PREFIX=/boot/system CFLAGS="-I. -Wall" >/dev/null 2>&1
result=$?
if [ $result -gt 0 ]; then
echo "... failed to compile b43-fwcutter."