#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 */
#if HAVE_ALLOCA_H
# include <alloca.h>
-#elif defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__
+#elif defined WINDOWS
# include <malloc.h>
+# ifndef alloca
+# define alloca _alloca
+# endif
#elif defined __GNUC__
# define alloca __builtin_alloca
#elif defined _AIX