1 /* Some autoconf-unrelated preprocessor magic that needs to be done
2 *before* including the system includes and therefore cannot belong
5 Everything else related to system tweaking belongs to sysdep.h.
7 This file is included at the bottom of config.h. */
9 /* Testing for __sun is not enough because it's also defined on SunOS. */
16 /* The "namespace tweaks" below attempt to set a friendly "compilation
17 environment" under popular operating systems. Default compilation
18 environment often means that some functions that are "extensions"
19 are not declared -- `strptime' is one example.
21 But non-default environments can expose bugs in the system header
22 files, crippling compilation in _very_ non-obvious ways. Because
23 of that, we define them only on well-tested architectures where we
24 know they will work. */
26 #undef NAMESPACE_TWEAKS
29 # define NAMESPACE_TWEAKS
33 # define NAMESPACE_TWEAKS
36 #ifdef NAMESPACE_TWEAKS
38 /* Request the "Unix 98 compilation environment". */
39 #define _XOPEN_SOURCE 500
41 /* For Solaris: request everything else that is available and doesn't
42 conflict with the above. */
43 #define __EXTENSIONS__
45 /* For Linux: request features of 4.3BSD and SVID (System V Interface
50 #endif /* NAMESPACE_TWEAKS */
53 /* Alloca-related defines, straight out of the Autoconf manual. These
54 have to be after the above namespace tweaks, but before actual
55 declarations and system includes. */
59 #elif defined __GNUC__
61 # define alloca __builtin_alloca
64 # define alloca __alloca
65 #elif defined _MSC_VER
67 # define alloca _alloca
73 void *alloca (size_t);