From b01c574ad6d796025152b5d605eceb7816e6f7a7 Mon Sep 17 00:00:00 2001
From: Victor Stinner <victor.stinner@gmail.com>
Date: Wed, 28 Jun 2017 18:34:42 +0200
Subject: [PATCH] bpo-29585: Define PYTHONFRAMEWORK in PC/pyconfig.h (#2477)

* bpo-29585: Fix PC/pyconfig.h whitespaces

Run "make patchcheck".

* bpo-29585: Define PYTHONFRAMEWORK in PC/pyconfig.h

* site: Fix path separator in _get_path() on Windows
---
 Lib/site.py   |   2 +-
 PC/pyconfig.h | 101 ++++++++++++++++++++++++++------------------------
 2 files changed, 53 insertions(+), 50 deletions(-)

diff --git a/Lib/site.py b/Lib/site.py
index fcf7dde411..d693bc8eb1 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -266,7 +266,7 @@ def _get_path(userbase):
     version = sys.version_info
 
     if os.name == 'nt':
-        return f'{userbase}/Python{version[0]}{version[1]}/site-packages'
+        return f'{userbase}\\Python{version[0]}{version[1]}\\site-packages'
 
     if sys.platform == 'darwin' and sys._framework:
         return f'{userbase}/lib/python/site-packages'
diff --git a/PC/pyconfig.h b/PC/pyconfig.h
index c96c231a05..38b7e3e39e 100644
--- a/PC/pyconfig.h
+++ b/PC/pyconfig.h
@@ -31,7 +31,7 @@ WIN32 is still required for the locale module.
 
 /* Deprecated USE_DL_EXPORT macro - please use Py_BUILD_CORE */
 #ifdef USE_DL_EXPORT
-#	define Py_BUILD_CORE
+#       define Py_BUILD_CORE
 #endif /* USE_DL_EXPORT */
 
 /* Visual Studio 2005 introduces deprecation warnings for
@@ -62,13 +62,13 @@ WIN32 is still required for the locale module.
 #define HAVE_STRFTIME
 #define DONT_HAVE_SIG_ALARM
 #define DONT_HAVE_SIG_PAUSE
-#define LONG_BIT	32
+#define LONG_BIT        32
 #define WORD_BIT 32
 
 #define MS_WIN32 /* only support win32 and greater. */
 #define MS_WINDOWS
 #ifndef PYTHONPATH
-#	define PYTHONPATH L".\\DLLs;.\\lib"
+#       define PYTHONPATH L".\\DLLs;.\\lib"
 #endif
 #define NT_THREADS
 #define WITH_THREAD
@@ -90,9 +90,9 @@ WIN32 is still required for the locale module.
  * literally in the string.
  */
 #define _Py_PASTE_VERSION(SUFFIX) \
-	("[MSC v." _Py_STRINGIZE(_MSC_VER) " " SUFFIX "]")
+        ("[MSC v." _Py_STRINGIZE(_MSC_VER) " " SUFFIX "]")
 /* e.g., this produces, after compile-time string catenation,
- * 	("[MSC v.1200 32 bit (Intel)]")
+ *      ("[MSC v.1200 32 bit (Intel)]")
  *
  * _Py_STRINGIZE(_MSC_VER) expands to
  * _Py_STRINGIZE1((_MSC_VER)) expands to
@@ -111,7 +111,7 @@ WIN32 is still required for the locale module.
    *and* on Win64. For the same reasons, in Python, MS_WIN32 is
    defined on Win32 *and* Win64. Win32 only code must therefore be
    guarded as follows:
-   	#if defined(MS_WIN32) && !defined(MS_WIN64)
+        #if defined(MS_WIN32) && !defined(MS_WIN64)
    Some modules are disabled on Itanium processors, therefore we
    have MS_WINI64 set for those targets, otherwise MS_WINX64
 */
@@ -261,22 +261,22 @@ typedef int pid_t;
 /* End of compilers - finish up */
 
 #ifndef NO_STDIO_H
-#	include <stdio.h>
+#       include <stdio.h>
 #endif
 
 /* 64 bit ints are usually spelt __int64 unless compiler has overridden */
 #ifndef PY_LONG_LONG
-#	define PY_LONG_LONG __int64
-#	define PY_LLONG_MAX _I64_MAX
-#	define PY_LLONG_MIN _I64_MIN
-#	define PY_ULLONG_MAX _UI64_MAX
+#       define PY_LONG_LONG __int64
+#       define PY_LLONG_MAX _I64_MAX
+#       define PY_LLONG_MIN _I64_MIN
+#       define PY_ULLONG_MAX _UI64_MAX
 #endif
 
 /* For Windows the Python core is in a DLL by default.  Test
 Py_NO_ENABLE_SHARED to find out.  Also support MS_NO_COREDLL for b/w compat */
 #if !defined(MS_NO_COREDLL) && !defined(Py_NO_ENABLE_SHARED)
-#	define Py_ENABLE_SHARED 1 /* standard symbol for shared library */
-#	define MS_COREDLL	/* deprecated old symbol */
+#       define Py_ENABLE_SHARED 1 /* standard symbol for shared library */
+#       define MS_COREDLL       /* deprecated old symbol */
 #endif /* !MS_NO_COREDLL && ... */
 
 /*  All windows compilers that use this header support __declspec */
@@ -284,57 +284,57 @@ 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 */
-#		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 */
+#       ifndef Py_BUILD_CORE /* 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 */
 
 #if defined(MS_WIN64)
 /* maintain "win32" sys.platform for backward compatibility of Python code,
    the Win64 API should be close enough to the Win32 API to make this
    preferable */
-#	define PLATFORM "win32"
-#	define SIZEOF_VOID_P 8
-#	define SIZEOF_TIME_T 8
-#	define SIZEOF_OFF_T 4
-#	define SIZEOF_FPOS_T 8
-#	define SIZEOF_HKEY 8
-#	define SIZEOF_SIZE_T 8
+#       define PLATFORM "win32"
+#       define SIZEOF_VOID_P 8
+#       define SIZEOF_TIME_T 8
+#       define SIZEOF_OFF_T 4
+#       define SIZEOF_FPOS_T 8
+#       define SIZEOF_HKEY 8
+#       define SIZEOF_SIZE_T 8
 /* configure.ac defines HAVE_LARGEFILE_SUPPORT iff HAVE_LONG_LONG,
    sizeof(off_t) > sizeof(long), and sizeof(PY_LONG_LONG) >= sizeof(off_t).
    On Win64 the second condition is not true, but if fpos_t replaces off_t
    then this is true. The uses of HAVE_LARGEFILE_SUPPORT imply that Win64
    should define this. */
-#	define HAVE_LARGEFILE_SUPPORT
+#       define HAVE_LARGEFILE_SUPPORT
 #elif defined(MS_WIN32)
-#	define PLATFORM "win32"
-#	define HAVE_LARGEFILE_SUPPORT
-#	define SIZEOF_VOID_P 4
-#	define SIZEOF_OFF_T 4
-#	define SIZEOF_FPOS_T 8
-#	define SIZEOF_HKEY 4
-#	define SIZEOF_SIZE_T 4
-	/* MS VS2005 changes time_t to a 64-bit type on all platforms */
-#	if defined(_MSC_VER) && _MSC_VER >= 1400
-#	define SIZEOF_TIME_T 8
-#	else
-#	define SIZEOF_TIME_T 4
-#	endif
+#       define PLATFORM "win32"
+#       define HAVE_LARGEFILE_SUPPORT
+#       define SIZEOF_VOID_P 4
+#       define SIZEOF_OFF_T 4
+#       define SIZEOF_FPOS_T 8
+#       define SIZEOF_HKEY 4
+#       define SIZEOF_SIZE_T 4
+        /* MS VS2005 changes time_t to a 64-bit type on all platforms */
+#       if defined(_MSC_VER) && _MSC_VER >= 1400
+#       define SIZEOF_TIME_T 8
+#       else
+#       define SIZEOF_TIME_T 4
+#       endif
 #endif
 
 #ifdef _DEBUG
-#	define Py_DEBUG
+#       define Py_DEBUG
 #endif
 
 
@@ -690,4 +690,7 @@ Py_NO_ENABLE_SHARED to find out.  Also support MS_NO_COREDLL for b/w compat */
 /* Define to 1 if you have the `erfc' function. */
 #define HAVE_ERFC 1
 
+/* framework name */
+#define PYTHONFRAMEWORK ""
+
 #endif /* !Py_CONFIG_H */
-- 
2.40.0