Next: Erlang Libraries, Previous: System Services, Up: Existing Tests [Contents][Index]
The following macro makes it possible to use C language and library extensions defined by the C standards committee, features of Posix that are extensions to C, and platform extensions not defined by Posix.
If possible, enable extensions to C or Posix on hosts that normally
disable the extensions, typically due to standards-conformance namespace
issues. This should be called before any macros that run the C
compiler. Also, when using this macro in concert with
AC_CONFIG_HEADERS
, be sure that config.h is included
before any system header.
The following preprocessor macros are defined unconditionally:
_ALL_SOURCE
Enable extensions on AIX 3 and Interix.
_DARWIN_C_SOURCE
Enable extensions on macOS.
_GNU_SOURCE
Enable extensions on GNU systems.
_NETBSD_SOURCE
Enable general extensions on NetBSD. Enable NetBSD compatibility extensions on Minix.
_OPENBSD_SOURCE
Enable OpenBSD compatibility extensions on NetBSD. Oddly enough, this does nothing on OpenBSD.
_POSIX_PTHREAD_SEMANTICS
Enable Posix-compatible threading on Solaris.
__STDC_WANT_IEC_60559_ATTRIBS_EXT__
Enable extensions specified by ISO/IEC TS 18661-5:2014.
__STDC_WANT_IEC_60559_BFP_EXT__
Enable extensions specified by ISO/IEC TS 18661-1:2014.
__STDC_WANT_IEC_60559_DFP_EXT__
Enable extensions specified by ISO/IEC TS 18661-2:2015.
__STDC_WANT_IEC_60559_FUNCS_EXT__
Enable extensions specified by ISO/IEC TS 18661-4:2015.
__STDC_WANT_IEC_60559_TYPES_EXT__
Enable extensions specified by ISO/IEC TS 18661-3:2015.
__STDC_WANT_LIB_EXT2__
Enable extensions specified by ISO/IEC TR 24731-2:2010.
__STDC_WANT_MATH_SPEC_FUNCS__
Enable extensions specified by ISO/IEC 24747:2009.
_TANDEM_SOURCE
Enable extensions on HP NonStop systems.
The following preprocessor macros are defined only when necessary; they enable access to extensions on some operating systems but disable extensions on other operating systems.
__EXTENSIONS__
Enable general extensions on Solaris. This macro is defined only if
the headers included by AC_INCLUDES_DEFAULT
(see Default Includes) work correctly with it defined.
_MINIX
_POSIX_SOURCE
_POSIX_1_SOURCE
Defined only on MINIX. _POSIX_SOURCE
and _POSIX_1_SOURCE
are needed to enable a number of POSIX features on this OS.
_MINIX
does not affect the system headers’ behavior;
future versions of Autoconf may stop defining it.
Programs that need to recognize Minix should use AC_CANONICAL_HOST
.
_XOPEN_SOURCE
Defined (with value 500) only if needed to make wchar.h declare
mbstate_t
. This is known to be necessary on some versions of HP/UX.
The C preprocessor macro __STDC_WANT_DEC_FP__
is not defined.
ISO/IEC TR 24732:2009 was superseded by ISO/IEC TS 18661-2:2015.
The C preprocessor macro __STDC_WANT_LIB_EXT1__
is not defined,
as C11 Annex K is problematic. See: O’Donell C, Sebor M.
Field
Experience With Annex K—Bounds Checking Interfaces.
The Autoconf macro AC_USE_SYSTEM_EXTENSIONS
was introduced in
Autoconf 2.60.
Next: Erlang Libraries, Previous: System Services, Up: Existing Tests [Contents][Index]