[Python-checkins] bpo-30860: Move windows.h include out of internal/*.h. (#3458)

Eric Snow webhook-mailer at python.org
Mon Sep 11 21:30:46 EDT 2017


https://github.com/python/cpython/commit/fc1bf872e9d31f3e837f686210f94e57ad3d6582
commit: fc1bf872e9d31f3e837f686210f94e57ad3d6582
branch: master
author: Eric Snow <ericsnowcurrently at gmail.com>
committer: GitHub <noreply at github.com>
date: 2017-09-11T18:30:43-07:00
summary:

bpo-30860: Move windows.h include out of internal/*.h. (#3458)

PR #3397 introduced a large number of warnings to the Windows build. This patch fixes them.

files:
M Include/pyport.h
M Modules/_json.c
M Modules/_pickle.c
M PC/pyconfig.h

diff --git a/Include/pyport.h b/Include/pyport.h
index 6c91898b44f..dbf6db68768 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -641,7 +641,7 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *);
 /* only get special linkage if built as shared or platform is Cygwin */
 #if defined(Py_ENABLE_SHARED) || defined(__CYGWIN__)
 #       if defined(HAVE_DECLSPEC_DLL)
-#               ifdef Py_BUILD_CORE
+#               if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN)
 #                       define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE
 #                       define PyAPI_DATA(RTYPE) extern __declspec(dllexport) RTYPE
         /* module init functions inside the core need no external linkage */
@@ -773,7 +773,7 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *);
 #define PY_LITTLE_ENDIAN 1
 #endif
 
-#ifdef Py_BUILD_CORE
+#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN)
 /*
  * Macros to protect CRT calls against instant termination when passed an
  * invalid parameter (issue23524).
diff --git a/Modules/_json.c b/Modules/_json.c
index f1da2302dd3..769696d9d68 100644
--- a/Modules/_json.c
+++ b/Modules/_json.c
@@ -1,7 +1,7 @@
 
 /* Core extension modules are built-in on some platforms (e.g. Windows). */
 #ifdef Py_BUILD_CORE
-#define Py_BUILD_CORE_MODULE
+#define Py_BUILD_CORE_BUILTIN
 #undef Py_BUILD_CORE
 #endif
 
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 5fbf0995f4c..bcbe4ac7945 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -1,7 +1,7 @@
 
 /* Core extension modules are built-in on some platforms (e.g. Windows). */
 #ifdef Py_BUILD_CORE
-#define Py_BUILD_CORE_MODULE
+#define Py_BUILD_CORE_BUILTIN
 #undef Py_BUILD_CORE
 #endif
 
diff --git a/PC/pyconfig.h b/PC/pyconfig.h
index 4e25fbd973d..db745dee761 100644
--- a/PC/pyconfig.h
+++ b/PC/pyconfig.h
@@ -143,7 +143,7 @@ WIN32 is still required for the locale module.
    structures etc so it can optionally use new Windows features if it
    determines at runtime they are available.
 */
-#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_MODULE)
+#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN) || defined(Py_BUILD_CORE_MODULE)
 #ifndef NTDDI_VERSION
 #define NTDDI_VERSION Py_NTDDI
 #endif
@@ -277,21 +277,20 @@ Py_NO_ENABLE_SHARED to find out.  Also support MS_NO_COREDLL for b/w compat */
 
 /* For an MSVC DLL, we can nominate the .lib files used by extensions */
 #ifdef MS_COREDLL
-#       ifndef Py_BUILD_CORE /* not building the core - must be an ext */
-#               ifndef Py_BUILD_CORE_MODULE
-#                       if defined(_MSC_VER)
-                                /* So MSVC users need not specify the .lib
-                                file in their Makefile (other compilers are
-                                generally taken care of by distutils.) */
-#                               if defined(_DEBUG)
-#                                       pragma comment(lib,"python37_d.lib")
-#                               elif defined(Py_LIMITED_API)
-#                                       pragma comment(lib,"python3.lib")
-#                               else
-#                                       pragma comment(lib,"python37.lib")
-#                               endif /* _DEBUG */
-#                       endif /* _MSC_VER */
-#               endif /* Py_BUILD_CORE_MODULE */
+#       if !defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_BUILTIN)
+                /* not building the core - must be an ext */
+#               if defined(_MSC_VER)
+                        /* So MSVC users need not specify the .lib
+                        file in their Makefile (other compilers are
+                        generally taken care of by distutils.) */
+#                       if defined(_DEBUG)
+#                               pragma comment(lib,"python37_d.lib")
+#                       elif defined(Py_LIMITED_API)
+#                               pragma comment(lib,"python3.lib")
+#                       else
+#                               pragma comment(lib,"python37.lib")
+#                       endif /* _DEBUG */
+#               endif /* _MSC_VER */
 #       endif /* Py_BUILD_CORE */
 #endif /* MS_COREDLL */
 



More information about the Python-checkins mailing list