From dffd6c572fb60f955bf3d98a87e5739163ab8f3f Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Thu, 28 May 2020 17:25:21 -0400 Subject: [PATCH 1/2] static library builds the pythoncore as a static library instead of a DLL --- PC/pyconfig.h | 6 ++++++ PCbuild/pythoncore.vcxproj | 16 ++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/PC/pyconfig.h b/PC/pyconfig.h index 02216b5068..d359c884e2 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -252,6 +252,7 @@ typedef int pid_t; /* 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 */ +#define Py_NO_ENABLE_SHARED #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 */ @@ -277,6 +278,11 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ # endif /* _DEBUG */ # endif /* _MSC_VER */ # endif /* Py_BUILD_CORE */ +#else + /* So MSVC users need not specify the .lib file in their own config */ +# pragma comment(lib, "version.lib") +# pragma comment(lib, "shlwapi.lib") +# pragma comment(lib, "ws2_32.lib") #endif /* MS_COREDLL */ #if defined(MS_WIN64) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj index 2625d0293d..dbe236829a 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -73,7 +73,7 @@ - DynamicLibrary + StaticLibrary false @@ -102,12 +102,24 @@ /Zm200 %(AdditionalOptions) $(PySourcePath)Python;%(AdditionalIncludeDirectories) $(zlibDir);%(AdditionalIncludeDirectories) - _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) + _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) _Py_HAVE_ZLIB;%(PreprocessorDefinitions) version.lib;shlwapi.lib;ws2_32.lib;pathcch.lib;%(AdditionalDependencies) + + MachineX86 + + + MachineX86 + + + MachineX86 + + + MachineX86 + -- 2.28.0.windows.1