Load expat_config.h and therefore pyconfig.h before C stdlib headers are loaded.
This silences the pre-processor warning '_POSIX_C_SOURCE redefined'.
diff --git a/Modules/expat/xmlparse.c b/Modules/expat/xmlparse.c
index f35aa36..0ac0317 100644
--- a/Modules/expat/xmlparse.c
+++ b/Modules/expat/xmlparse.c
@@ -2,12 +2,6 @@
    See the file COPYING for copying permission.
 */
 
-#include <stddef.h>
-#include <string.h>                     /* memset(), memcpy() */
-#include <assert.h>
-#include <limits.h>                     /* UINT_MAX */
-#include <time.h>                       /* time() */
-
 #define XML_BUILDING_EXPAT 1
 
 #ifdef COMPILED_FROM_DSP
@@ -22,6 +16,12 @@
 #include <expat_config.h>
 #endif /* ndef COMPILED_FROM_DSP */
 
+#include <stddef.h>
+#include <string.h>                     /* memset(), memcpy() */
+#include <assert.h>
+#include <limits.h>                     /* UINT_MAX */
+#include <time.h>                       /* time() */
+
 #include "ascii.h"
 #include "expat.h"
 
diff --git a/Modules/expat/xmlrole.c b/Modules/expat/xmlrole.c
index 44772e2..9a8f85d 100644
--- a/Modules/expat/xmlrole.c
+++ b/Modules/expat/xmlrole.c
@@ -2,8 +2,6 @@
    See the file COPYING for copying permission.
 */
 
-#include <stddef.h>
-
 #ifdef COMPILED_FROM_DSP
 #include "winconfig.h"
 #elif defined(MACOS_CLASSIC)
@@ -18,6 +16,8 @@
 #endif
 #endif /* ndef COMPILED_FROM_DSP */
 
+#include <stddef.h>
+
 #include "expat_external.h"
 #include "internal.h"
 #include "xmlrole.h"
diff --git a/Modules/expat/xmltok.c b/Modules/expat/xmltok.c
index b9cd7a4..fd6bf7a 100644
--- a/Modules/expat/xmltok.c
+++ b/Modules/expat/xmltok.c
@@ -2,8 +2,6 @@
    See the file COPYING for copying permission.
 */
 
-#include <stddef.h>
-
 #ifdef COMPILED_FROM_DSP
 #include "winconfig.h"
 #elif defined(MACOS_CLASSIC)
@@ -18,6 +16,8 @@
 #endif
 #endif /* ndef COMPILED_FROM_DSP */
 
+#include <stddef.h>
+
 #include "expat_external.h"
 #include "internal.h"
 #include "xmltok.h"