1/* 2 * Copyright 2019 Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Adrien Destugues, pulkomandy@pulkomandy.tk 7 */ 8 9/*! 10\page libroot C, POSIX, GNU and BSD functions 11 12Haiku implements a standard library containing the standard functions from C 13(https://www.iso.org/standard/29237.html) and POSIX 14(https://pubs.opengroup.org/onlinepubs/9699919799/). These functions are 15available in libroot, which is linked in by default. 16 17For convenience and POSIX compatibility, empty "m" and "pthread" libraries are 18also provided, but the math and thread functions are also defined in libroot. 19 20The C library also contains a number of GNU and BSD extensions to the C and 21POSIX standards. The BSD extensions are enabled by default unless a specific 22version of the C standard is requested from the compiler command line (for 23example by using the --std=c99 switch). In case you want to set the compiler 24to strict C99 but still use these extensions, you need to define _DEFAULT_SOURCE 25(with a \#define preprocessor directive, or from the command line). 26 27The GNU extensions are not enabled by default, but can be enabled by defining 28_GNU_SOURCE. 29 30The GNU and BSD extensions are in a separate library, so the -lbsd linker flag 31may be needed to use them. 32 33*/ 34