features.h: Rework _DEFAULT_SOURCE
commit750a3fc91dec0e522b5fac57a75a9fe0047648bf
authorPaul Cercueil <paul@crapouillou.net>
Sat, 10 Feb 2024 19:29:30 +0000 (10 20:29 +0100)
committerWaldemar Brodkorb <wbx@openadk.org>
Sun, 18 Feb 2024 04:56:22 +0000 (18 05:56 +0100)
treeb797e847e6b99234c6a09a4e2c28696315372a0b
parent5649ddd9a44e176d5b8cccb2db3c4d3da2b6288f
features.h: Rework _DEFAULT_SOURCE

The (glibc) documentation for _DEFAULT_SOURCE states:

    The "default" definitions comprise those required by
    POSIX.1-2008 and ISO C99, as well as various definitions
    originally derived from BSD and System V.  On glibc 2.19
    and earlier, these defaults were approximately equivalent
    to explicitly defining the following:

      cc -D_BSD_SOURCE -D_SVID_SOURCE -D_POSIX_C_SOURCE=200809

It also states that _BSD_SOURCE and _SVID_SOURCE are deprecated, and
have the same effect as setting _DEFAULT_SOURCE.

Therefore, when any of _BSD_SOURCE, _SVID_SOURCE or _DEFAULT_SOURCE is
set, the three macros should be set, and POSIX 2008.09 compatibility
should be enabled.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
include/features.h