New submission from Zachary Ware:

PCbuild\readme.txt has a comment from Trent Nelson dated 2-April-2008 
suggesting moving the external library location for Windows from "<cpython 
checkout>\..\" to "<cpython checkout>\external\" to make switching between 
versions easier.  I've gotten rather annoyed with having all of the external 
libs cluttering the folder holding my cpython checkout, so I've written a patch 
that moves them :).

The patch actually moves the external libs into "<checkout>\external-34", 
because in most cases it's best to have separately built externals for each 
Python version.  The idea is to then have an "external-35" after 3.4 is 
released, and possibly "external-27" and "external-33" if it is permissible to 
backport this kind of change.  There are only four places that would need to be 
changed in other versions; PCbuild/pyproject.props:19, PCbuild/rt.bat:41, 
Tools/buildbot/external-common.bat:4 and 5, and Lib/tkinter/_fix.py:52.  All 
four are simple replacements which I believe could be automated by the release 
script.  PCbuild/build_ssl.py is patched to find the externals dir in 
PCbuild/pyproject.props while finding the OpenSSL version there.

A few of the benefits to this that have occurred to me are:
- the fact that the dir holding your cpython checkout doesn't get cluttered up 
with external libs
- it becomes very easy to rebuild all of the externals (just `rmdir /s /q 
external-34` and run external(-amd64).bat again)
- no possibility of problems arising from one version trying to use an external 
lib built by/for another version

The only real downsides I'm aware of are that it is a change from what everyone 
is accustomed to, and that it will use up a bit more disk space (which could be 
mitigated by using junctions, as Trent suggested in the comment in readme.txt). 
 Also, committing this would cause an extra long build time on the buildbots 
due to having to recompile Tcl/Tk and OpenSSL.

Everything builds and works for me using the buildbot scripts after the patch.  
All comments welcome :)

Thanks,

Zach

----------
components: Build, Extension Modules, Windows
files: move_externals.diff
keywords: patch
messages: 188309
nosy: brian.curtin, tim.golden, trent, zach.ware
priority: normal
severity: normal
status: open
title: Move Windows external libs from <src>\..\ to <src>\externals
type: enhancement
versions: Python 3.4
Added file: http://bugs.python.org/file30113/move_externals.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue17896>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to