--- /dev/null
+/* Some autoconf-unrelated preprocessor magic that needs to be done
+ before including the system includes and therefore cannot belong in
+ sysdep.h. This file is included at the bottom of config.h. */
+
+/* Alloca-related defines, straight out of the Autoconf manual. */
+
+/* AIX requires this to be the first thing in the file. */
+#ifndef __GNUC__
+# if HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __sun
+# ifdef __SVR4
+# define solaris
+# endif
+#endif
+
+/* The "namespace tweaks" below attempt to set a friendly "compilation
+ environment" under popular operating systems. Default compilation
+ environment often means that some functions that are "extensions"
+ are not declared -- `strptime' is one example.
+
+ But non-default environments can expose bugs in the system header
+ files, crippling compilation in _very_ non-obvious ways. Because
+ of that, we define them only on well-tested architectures where we
+ know they will work. */
+
+#undef NAMESPACE_TWEAKS
+
+#ifdef solaris
+# define NAMESPACE_TWEAKS
+# ifdef __GNUC__
+/* Prevent stdio.h from declaring va_list and thus tripping gcc's
+ stdarg.h. */
+# define _VA_LIST
+# endif
+#endif
+
+#ifdef __linux__
+# define NAMESPACE_TWEAKS
+#endif
+
+#ifdef NAMESPACE_TWEAKS
+
+/* 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__
+
+/* For Linux: request features of 4.3BSD and SVID (System V Interface
+ Definition). */
+#define _SVID_SOURCE
+#define _BSD_SOURCE
+
+#endif /* NAMESPACE_TWEAKS */