summaryrefslogtreecommitdiffstats
path: root/PCbuild/pcbuild.proj
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2015-09-04 04:43:54 (GMT)
committerZachary Ware <zachary.ware@gmail.com>2015-09-04 04:43:54 (GMT)
commitb27f3c3e20991c7a97826e886bb43439e9276c34 (patch)
tree25f8f65840422c222dc4dc6bbbb54f6479f3bba2 /PCbuild/pcbuild.proj
parente74fe18ebb625224e0bd8f6885c3e65ac3bb29fa (diff)
downloadcpython-b27f3c3e20991c7a97826e886bb43439e9276c34.zip
cpython-b27f3c3e20991c7a97826e886bb43439e9276c34.tar.gz
cpython-b27f3c3e20991c7a97826e886bb43439e9276c34.tar.bz2
Issue #24986: Allow building Python without external libraries on Windows
This modifies the behavior of the '-e' flag to PCbuild\build.bat: when '-e' is not supplied, no attempt will be made to build extension modules that require external libraries, even if the external libraries are present. Also adds '--no-<module>' flags to PCbuild\build.bat, where '<module>' is one of 'ssl', 'tkinter', or 'bsddb', to allow skipping just those modules (if '-e' is given).
Diffstat (limited to 'PCbuild/pcbuild.proj')
-rw-r--r--PCbuild/pcbuild.proj14
1 files changed, 10 insertions, 4 deletions
diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj
index 813831e..36621c9 100644
--- a/PCbuild/pcbuild.proj
+++ b/PCbuild/pcbuild.proj
@@ -5,8 +5,10 @@
<Platform Condition="'$(Platform)' == ''">Win32</Platform>
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
<IncludeExtensions Condition="'$(IncludeExtensions)' == ''">true</IncludeExtensions>
+ <IncludeExternals Condition="'$(IncludeExternals)' == ''">true</IncludeExternals>
<IncludeTests Condition="'$(IncludeTest)' == ''">true</IncludeTests>
<IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL>
+ <IncludeTkinter Condition="'$(IncludeTkinter)' == ''">true</IncludeTkinter>
</PropertyGroup>
<ItemDefinitionGroup>
@@ -25,7 +27,7 @@
<!--
Parallel build is explicitly disabled for this project because it
causes many conflicts between pythoncore and projects that depend
- in pythoncore. Once the core DLL has been built, subsequent
+ on pythoncore. Once the core DLL has been built, subsequent
projects will be built in parallel.
-->
<Projects Include="pythoncore.vcxproj">
@@ -40,10 +42,14 @@
<!-- _freeze_importlib -->
<Projects Include="_freeze_importlib.vcxproj" />
<!-- Extension modules -->
- <ExtensionModules Include="_bz2;_ctypes;_decimal;_elementtree;_lzma;_msi;_multiprocessing;_overlapped;_sqlite3;_tkinter;tix;pyexpat;select;unicodedata;winsound" />
+ <ExtensionModules Include="_ctypes;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;select;unicodedata;winsound" />
+ <!-- Extension modules that require external sources -->
+ <ExternalModules Include="_bz2;_lzma;_sqlite3" />
<!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
- <ExtensionModules Include="_socket" Condition="!$(IncludeSSL)" />
- <ExtensionModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
+ <ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" />
+ <ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
+ <ExternalModules Include="_tkinter;tix" Condition="$(IncludeTkinter)" />
+ <ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
<Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
<!-- Test modules -->
<TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testembed;_testimportmultiple;_testmultiphase" />