POSIX defines certain system-specific options that not all POSIX systems support. Since these options are provided in the kernel, not in the library, simply using the GNU C library does not guarantee any of these features is supported; it depends on the system you are using.
You can test for the availability of a given option using the macros in this section, together with the function sysconf . The macros are defined only if you include `unistd.h'.
For the following macros, if the macro is defined in `unistd.h', then the option is supported. Otherwise, the option may or may not be supported; use sysconf to find out. See Sysconf.
For the following macros, if the macro is defined in `unistd.h', then its value indicates whether the option is supported. A value of -1 means no, and any other value means yes. If the macro is not defined, then the option may or may not be supported; use sysconf to find out. See Sysconf.
c89 . The GNU C library always defines this as 1 , on the assumption that you would not have installed it if you didn't have a C compiler.
fort77 . The GNU C library never defines this, because we don't know what the system has.
asa command to interpret Fortran carriage control. The GNU C library never defines this, because we don't know what the system has.
localedef command. The GNU C library never defines this, because we don't know what the system has.
ar , make , and strip . The GNU C library always defines this as 1 , on the assumption that you had to have ar and make to install the library, and it's unlikely that strip would be absent when those are present.