]> sjero.net Git - wget/blobdiff - src/config-post.h
Add autogen.sh back to EXTRA_DIST.
[wget] / src / config-post.h
index 04de0b7db20a38fca702a6fb068099b4cf841e7f..f3cbec3ca4a44ad362de39f4d2e30a228e366d81 100644 (file)
@@ -6,23 +6,7 @@
 
    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 */
-void *alloca ();
-#   endif
-#  endif
-# endif
-#endif
-
+/* Testing for __sun is not enough because it's also defined on SunOS.  */
 #ifdef __sun
 # ifdef __SVR4
 #  define solaris
@@ -63,4 +47,33 @@ void *alloca ();
 #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
+
 #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