+/* Request the "Unix 98 compilation environment". */
+#define _XOPEN_SOURCE 500
+
+/* For Solaris: request everything else that is available and doesn't
+ conflict with the above. */
+/* #define __EXTENSIONS__ */ /* XXX clashes with config.h */
+
+/* For Linux: request features of 4.3BSD and SVID (System V Interface
+ Definition). */
+#define _SVID_SOURCE
+#define _BSD_SOURCE
+
+/* Under glibc-based systems we want all GNU extensions as well. This
+ declares some unnecessary cruft, but also useful functions such as
+ timegm, FNM_CASEFOLD extension to fnmatch, memrchr, etc. */
+/* #define _GNU_SOURCE */ /* XXX clashes with config.h */
+
+#endif /* NAMESPACE_TWEAKS */
+
+
+/* Alloca declaration, based on recommendation in the Autoconf manual.
+ These have to be after the above namespace tweaks, but before any
+ non-preprocessor code. */
+
+#if HAVE_ALLOCA_H
+# include <alloca.h>
+#elif defined WINDOWS
+# include <malloc.h>
+# ifndef alloca
+# define alloca _alloca
+# endif
+#elif defined __GNUC__
+# define alloca __builtin_alloca
+#elif defined _AIX
+# define alloca __alloca
+#else
+# include <stddef.h>
+# ifdef __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+#endif
+
+/* Must include these, so we can test for the missing stat macros and
+ define them as necessary. */