Define _ISOC99_SOURCE in exim.h
authorPhil Pennock <pdp@exim.org>
Thu, 24 May 2012 03:27:44 +0000 (23:27 -0400)
committerPhil Pennock <pdp@exim.org>
Thu, 24 May 2012 03:27:44 +0000 (23:27 -0400)
Done before os.h is pulled in so an OS can override it.

doc/doc-txt/ChangeLog
src/OS/os.h-Linux
src/src/exim.h

index 8c7dc7230d9d8a4974581341f2d6d6d6c32bcf73..ef3236a6213960d9b9a492684e36bf9865a0dd29 100644 (file)
@@ -149,6 +149,11 @@ PP/34 Validate tls_require_ciphers on startup, since debugging an invalid
 PP/35 Pull in <features.h> on Linux, for some portability edge-cases of
       64-bit ${eval} (JH/03).
 
 PP/35 Pull in <features.h> on Linux, for some portability edge-cases of
       64-bit ${eval} (JH/03).
 
+PP/36 Define _ISOC99_SOURCE in exim.h; it's needed for some releases of
+      GNU libc to support some of the 64-bit stuff, should not lead to
+      conflicts.  Defined before os.h is pulled in, so if a given platform
+      needs to override this, it can.
+
 
 Exim version 4.77
 -----------------
 
 Exim version 4.77
 -----------------
index 5186ec89dde44f645efa85bf55ae03954ed24b8a..fe4eaa6c76f8c9bed210f1bdaee8b3e38795992a 100644 (file)
@@ -1,8 +1,8 @@
 /* Exim: OS-specific C header file for Linux */
 
 /* Exim: OS-specific C header file for Linux */
 
-/* Some weird variants may require invocation with C99 and features.h
-inclusion to build, with the 64-bit arithmetic. Make compiler selection
-their problem, but build anyway. */
+/* Some old systems we've received bug-reports for have a <limits.h> which
+does not pull in <features.h>.  Best to just pull it in now and have done
+with the issue. */
 
 #include <features.h>
 
 
 #include <features.h>
 
index 601dfed7485d220c57028ee8b046827c8ecc21e7..987aebf838d354da59a6753468f13dbea9361e80 100644 (file)
@@ -20,6 +20,11 @@ This call dates back at least as far as SUSv2. */
 
 #define HAVE_SRANDOM
 
 
 #define HAVE_SRANDOM
 
+/* This is primarily for the Gnu C library; we define it before os.h so that
+os.h has a chance to hurriedly undef it, Just In Case. */
+
+#define _ISOC99_SOURCE 1
+
 /* First of all include the os-specific header, which might set things that
 are needed by any of the other headers, including system headers. */
 
 /* First of all include the os-specific header, which might set things that
 are needed by any of the other headers, including system headers. */