summaryrefslogtreecommitdiff
path: root/PCbuild/pcbuild.proj
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2015-09-03 23:43:54 -0500
committerZachary Ware <zachary.ware@gmail.com>2015-09-03 23:43:54 -0500
commit2f7939f05262efbe16757085d6b93e6f838d2fe2 (patch)
tree2434ec18536deec98ee691b327b79989ffae3c23 /PCbuild/pcbuild.proj
parent33394604ffdd8f3de18267531aa6764c778ee508 (diff)
downloadcpython-2f7939f05262efbe16757085d6b93e6f838d2fe2.tar.gz
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 813831e3a4..36621c910c 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" />