This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: It should be possible to build successfully without external libraries
Type: behavior Stage: resolved
Components: Build, Windows Versions: Python 3.6, Python 3.5, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: zach.ware Nosy List: paul.moore, python-dev, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2015-09-02 20:30 by zach.ware, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
2.7_external_build_handling.diff zach.ware, 2015-09-02 20:30 review
3.5_external_build_handling.diff zach.ware, 2015-09-02 20:30 review
Messages (5)
msg249567 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2015-09-02 20:30
We do have the option of leaving out all extension modules ("/p:IncludeExtensions=false"), but it would be nice to be able to build everything that doesn't require external libs.

This also be adds an option to skip only Tkinter (analogous to "/p:IncludeSSL=false"), as that's what I actually need at the moment :).  I'm not adding options for every external project individually, as most of them are not a big deal, but OpenSSL, Tcl/Tk/Tix, and (on 2.7) bsddb take a long time to compile and might be nice to leave out when they're not needed (so I also added the ability to leave out bsddb on 2.7).

Leaving out 3.4 as its project files are not amenable to this kind of change, and 3.4's days are numbered anyway.
msg249568 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2015-09-02 20:33
This also changes the behavior of the '-e' flag on build.bat a bit, leaving off '-e' means there will be no attempt to build the modules that require external sources even if the sources are already there.  Adding '-e' means building those modules will be attempted, subject to the '--no-<module>' flags.
msg249712 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015-09-04 04:56
New changeset 2bc91f1f2b34 by Zachary Ware in branch '2.7':
Issue #24986: Allow building Python without external libraries on Windows
https://hg.python.org/cpython/rev/2bc91f1f2b34

New changeset 301c36746e42 by Zachary Ware in branch '3.5':
Issue #24986: Allow building Python without external libraries on Windows
https://hg.python.org/cpython/rev/301c36746e42

New changeset 50d38fa13282 by Zachary Ware in branch 'default':
Closes #24986: Merge with 3.5
https://hg.python.org/cpython/rev/50d38fa13282
msg249713 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2015-09-04 04:59
The committed versions are slightly different, I had bad logic in adding _socket to ExtensionModules (if IncludeExternals was false while IncludeSSL was true, _socket wasn't added).  build.bat also uses the property names instead of its own internal names so as not to stomp on the environment.
msg249719 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015-09-04 06:14
New changeset 252d4760f28b by Zachary Ware in branch '2.7':
Issue #24986: Save some bandwidth from svn.python.org
https://hg.python.org/cpython/rev/252d4760f28b

New changeset 4e7ce0b10eea by Zachary Ware in branch '3.5':
Issue #24986: Save some bandwidth from svn.python.org
https://hg.python.org/cpython/rev/4e7ce0b10eea

New changeset eca6ecc62b95 by Zachary Ware in branch 'default':
Issue #24986: Merge with 3.5
https://hg.python.org/cpython/rev/eca6ecc62b95
History
Date User Action Args
2022-04-11 14:58:20adminsetgithub: 69174
2015-09-04 06:14:48python-devsetmessages: + msg249719
2015-09-04 04:59:57zach.waresetmessages: + msg249713
2015-09-04 04:56:19python-devsetstatus: open -> closed

nosy: + python-dev
messages: + msg249712

resolution: fixed
stage: patch review -> resolved
2015-09-02 20:33:46zach.waresetmessages: + msg249568
2015-09-02 20:30:42zach.waresetfiles: + 3.5_external_build_handling.diff
2015-09-02 20:30:29zach.warecreate