haiku/headers/posix
Adrien Destugues 8d27b645e7 features.h: fix build when BSD headers are not in include path
In our C library we try to provide a "clean" POSIX/ISO-C set of include
files that strictly conforming applications can use. However, we also
want to provide some extensions that are commonly available in BSD or
GNU systems.

These are normally provided in a separate directory
(headers/compatibility/bsd) and additionally guarded by compiler defines
that can either be explicitly set, or enabled by default if the language
standard (selected from the compiler command line) is one with GNU
extensions (this is the default for GCC). This is controlled by a header
file called features.h.

However, for some headers it is not so simple to split the GNU
extensions apart from the other parts of the file, because it's not just
extra functions, but additional flags and defines.

So, we need the "features.h" mechanism to be available even in the base
set of headers, but not enable anything if the BSD headers are not in
the search path. The simplest way to achieve this is to have an empty
features.h in the base set of headers, that can then be overriden by the
one in headers/compatibility/bsd if needed.

Fixes #18732

Change-Id: Ia54d1206c2fba378ae276ed4232aee8443180afb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7287
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-01-03 17:11:56 +00:00
..
arch kernel/arm: implement signals, fork, restart syscall 2023-03-20 17:28:20 +00:00
arpa
compat/sys
net net: Rename IFT_TUN to IFT_TUNNEL as on BSD 2023-12-10 19:50:48 +00:00
netinet
netinet6
sys
alloca.h
assert.h headers: Define static_assert for C11 2023-09-04 05:58:31 +00:00
complex.h
ctype.h libs/posix: Implemented new locale functions 2022-07-11 16:30:16 +00:00
dirent.h
div_t.h
dlfcn.h
endian.h
errno.h
fcntl.h
features.h features.h: fix build when BSD headers are not in include path 2024-01-03 17:11:56 +00:00
fenv.h
fnmatch.h
ftw.h libroot: Replace ftw/nftw implemenations with their musl counterparts. 2022-06-09 16:24:11 -04:00
getopt.h
glob.h
grp.h
inttypes.h
iovec.h
langinfo.h libs/posix: Implemented new locale functions 2022-07-11 16:30:16 +00:00
libgen.h
libio.h
limits.h regex.h: use _DEFAULT_SOURCE 2023-12-30 18:09:57 +00:00
locale_t.h locale_t.h: Add missing newline at end of file. 2023-04-25 12:38:37 -04:00
locale.h libs/posix: Implemented new locale functions 2022-07-11 16:30:16 +00:00
malloc_debug.h
malloc.h
math.h math.h: Change definition of FP_ILOGB0 to match the specification. 2023-04-08 12:30:15 -04:00
memory.h
monetary.h libs/posix: Implemented new locale functions 2022-07-11 16:30:16 +00:00
netdb.h Rewrite <netdb.h> and drop a lot of non-standard stuff. 2023-02-27 22:51:17 -05:00
nl_types.h
null.h
poll.h
pthread.h pthread: Use 1 for PTHREAD_BARRIER_SERIAL_THREAD. 2023-06-07 15:12:11 +00:00
pwd.h
regex.h features.h: fix build when BSD headers are not in include path 2024-01-03 17:11:56 +00:00
resolv.h
sched.h
search.h
semaphore.h POSIX: introduce sem_clockwait 2022-02-18 21:27:06 +00:00
setjmp.h
shadow.h
signal.h signal.h: Look for _DEFAULT_SOURCE not __USE_GNU for sighandler_t. 2023-08-30 17:31:31 -04:00
size_t.h
spawn.h
stdint.h stdint.h: fix definition of UINT8_MAX, UINT16_MAX, UINT8_C and UINT16_C 2022-11-08 16:11:40 +00:00
stdio_ext.h
stdio_post.h
stdio_pre.h
stdio.h
stdlib.h
string.h libroot: Add stpncpy. 2023-11-28 20:37:15 -05:00
strings.h libs/posix: Implemented new locale functions 2022-07-11 16:30:16 +00:00
syslog.h
tar.h
termios.h termios.h: Undefine/remove some unimplemented BeOS extensions. 2023-05-22 18:20:17 -04:00
threads.h threads.h: Fix value of ONCE_FLAG_INIT. 2023-04-10 11:50:33 -04:00
time.h libs/posix: Implemented new locale functions 2022-07-11 16:30:16 +00:00
uchar.h uchar.h: Add missing include of stdint.h. 2023-04-08 12:30:14 -04:00
unistd.h Added missing posixoptions and sysconf constants according POSIX.1-2017 standard 2022-12-23 01:57:05 +00:00
utime.h
utmpx.h
wchar_t.h
wchar.h POSIX: wchar.h and wctype.h don't need the locale.h but locale_t.h 2022-11-02 14:09:08 +00:00
wctype.h POSIX: wchar.h and wctype.h don't need the locale.h but locale_t.h 2022-11-02 14:09:08 +00:00