Commit f9fd2b00 authored by Zachary Ware's avatar Zachary Ware

Issue #17896: Move Windows external lib sources from .. to externals.

parent b7358b66
...@@ -43,4 +43,5 @@ python-gdb.py ...@@ -43,4 +43,5 @@ python-gdb.py
tags tags
.coverage .coverage
coverage/ coverage/
externals/
htmlcov/ htmlcov/
...@@ -61,4 +61,5 @@ PCbuild/*.bsc ...@@ -61,4 +61,5 @@ PCbuild/*.bsc
PCbuild/Win32-temp-* PCbuild/Win32-temp-*
.coverage .coverage
coverage/ coverage/
externals/
htmlcov/ htmlcov/
...@@ -48,8 +48,8 @@ else: ...@@ -48,8 +48,8 @@ else:
prefix = os.path.join(sys.prefix,"tcl") prefix = os.path.join(sys.prefix,"tcl")
if not os.path.exists(prefix): if not os.path.exists(prefix):
# devdir/../tcltk/lib # devdir/externals/tcltk/lib
prefix = os.path.join(sys.prefix, os.path.pardir, "tcltk", "lib") prefix = os.path.join(sys.prefix, "externals", "tcltk", "lib")
prefix = os.path.abspath(prefix) prefix = os.path.abspath(prefix)
# if this does not exist, no further search is needed # if this does not exist, no further search is needed
if os.path.exists(prefix): if os.path.exists(prefix):
......
...@@ -307,6 +307,9 @@ Build ...@@ -307,6 +307,9 @@ Build
Windows Windows
------- -------
- Issue #17896: The Windows build scripts now expect external library sources
to be in ``PCbuild\..\externals`` rather than ``PCbuild\..\..``.
- Issue #17717: The Windows build scripts now use a copy of NASM pulled from - Issue #17717: The Windows build scripts now use a copy of NASM pulled from
svn.python.org to build OpenSSL. svn.python.org to build OpenSSL.
......
...@@ -69,7 +69,7 @@ def get_ssl_dir(): ...@@ -69,7 +69,7 @@ def get_ssl_dir():
propfile = (os.path.join(os.path.dirname(__file__), 'pyproject.vsprops')) propfile = (os.path.join(os.path.dirname(__file__), 'pyproject.vsprops'))
with open(propfile) as f: with open(propfile) as f:
m = re.search('openssl-([^"]+)"', f.read()) m = re.search('openssl-([^"]+)"', f.read())
return "..\..\openssl-"+m.group(1) return "..\externals\openssl-"+m.group(1)
def create_makefile64(makefile, m32): def create_makefile64(makefile, m32):
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
/> />
<UserMacro <UserMacro
Name="externalsDir" Name="externalsDir"
Value="..\.." Value="..\externals"
/> />
<UserMacro <UserMacro
Name="bsddb47Dir" Name="bsddb47Dir"
......
...@@ -112,9 +112,9 @@ _tkinter ...@@ -112,9 +112,9 @@ _tkinter
Wraps the Tk windowing system. Unlike _bsddb and _sqlite3, there's no Wraps the Tk windowing system. Unlike _bsddb and _sqlite3, there's no
corresponding tcltk.vcproj-type project that builds Tcl/Tk from vcproj's corresponding tcltk.vcproj-type project that builds Tcl/Tk from vcproj's
within our pcbuild.sln, which means this module expects to find a within our pcbuild.sln, which means this module expects to find a
pre-built Tcl/Tk in either ..\..\tcltk for 32-bit or ..\..\tcltk64 for pre-built Tcl/Tk in either ..\externals\tcltk for 32-bit or
64-bit (relative to this directory). See below for instructions to build ..\externals\tcltk64 for 64-bit (relative to this directory). See below
Tcl/Tk. for instructions to build Tcl/Tk.
bz2 bz2
Python wrapper for the libbz2 compression library. Homepage Python wrapper for the libbz2 compression library. Homepage
http://sources.redhat.com/bzip2/ http://sources.redhat.com/bzip2/
...@@ -186,8 +186,8 @@ external-amd64.bat in the ..\Tools\buildbot directory from ..\, i.e.: ...@@ -186,8 +186,8 @@ external-amd64.bat in the ..\Tools\buildbot directory from ..\, i.e.:
This extracts all the external subprojects from http://svn.python.org/external This extracts all the external subprojects from http://svn.python.org/external
via Subversion (so you'll need an svn.exe on your PATH) and places them in via Subversion (so you'll need an svn.exe on your PATH) and places them in
..\.. (relative to this directory). The external(-amd64).bat scripts will ..\externals (relative to this directory). The external(-amd64).bat scripts
also build a debug build of Tcl/Tk; there aren't any equivalent batch files will also build a debug build of Tcl/Tk; there aren't any equivalent batch files
for building release versions of Tcl/Tk lying around in the Tools\buildbot for building release versions of Tcl/Tk lying around in the Tools\buildbot
directory. If you need to build a release version of Tcl/Tk it isn't hard directory. If you need to build a release version of Tcl/Tk it isn't hard
though, take a look at the relevant external(-amd64).bat file and find the though, take a look at the relevant external(-amd64).bat file and find the
...@@ -208,36 +208,6 @@ pcbuild.sln as custom .vcproj files, just as we've recently done with the ...@@ -208,36 +208,6 @@ pcbuild.sln as custom .vcproj files, just as we've recently done with the
_bsddb.vcproj and sqlite3.vcproj files, which will remove the need for _bsddb.vcproj and sqlite3.vcproj files, which will remove the need for
Tcl/Tk to be built separately via a batch file. Tcl/Tk to be built separately via a batch file.
XXX trent.nelson 02-Apr-08:
Having the external subprojects in ..\.. relative to this directory is a
bit of a nuisance when you're working on py3k and trunk in parallel and
your directory layout mimics that of Python's subversion layout, e.g.:
C:\..\svn.python.org\projects\python\trunk
C:\..\svn.python.org\projects\python\branches\py3k
C:\..\svn.python.org\projects\python\branches\release25-maint
I'd like to change things so that external subprojects are fetched from
..\external instead of ..\.., then provide some helper scripts or batch
files that would set up a new ..\external directory with svn checkouts of
the relevant branches in http://svn.python.org/projects/external/, or
alternatively, use junctions to link ..\external with a pre-existing
externals directory being used by another branch. i.e. if I'm usually
working on trunk (and have previously created trunk\external via the
provided batch file), and want to do some work on py3k, I'd set up a
junction as follows (using the directory structure above as an example):
C:\..\python\trunk\external <- already exists and has built versions
of the external subprojects
C:\..\python\branches\py3k>linkd.exe external ..\..\trunk\external
Link created at: external
Only a slight tweak would be needed to the buildbots such that bots
building trunk and py3k could make use of the same facility. (2.5.x
builds need to be kept separate as they're using Visual Studio 7.1.)
/XXX trent.nelson 02-Apr-08
Building for Itanium Building for Itanium
-------------------- --------------------
......
...@@ -38,7 +38,7 @@ if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts ...@@ -38,7 +38,7 @@ if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts
if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts
if "%1"=="-x64" (set prefix=amd64) & (set tcltk=tcltk64) & shift & goto CheckOpts if "%1"=="-x64" (set prefix=amd64) & (set tcltk=tcltk64) & shift & goto CheckOpts
PATH %PATH%;%~dp0..\..\%tcltk%\bin PATH %PATH%;%~dp0..\externals\%tcltk%\bin
set exe=%prefix%\python%suffix% set exe=%prefix%\python%suffix%
set cmd=%exe% %dashO% -Wd -3 -E -tt ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9 set cmd=%exe% %dashO% -Wd -3 -E -tt ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
if defined qmode goto Qmode if defined qmode goto Qmode
......
@rem Common file shared between external.bat and external-amd64.bat. Responsible for @rem Common file shared between external.bat and external-amd64.bat. Responsible for
@rem fetching external components into the root\.. buildbot directories. @rem fetching external components into the root\externals directory.
cd .. if not exist externals mkdir externals
cd externals
@rem XXX: If you need to force the buildbots to start from a fresh environment, uncomment @rem XXX: If you need to force the buildbots to start from a fresh environment, uncomment
@rem the following, check it in, then check it out, comment it out, then check it back in. @rem the following, check it in, then check it out, comment it out, then check it back in.
@rem if exist bzip2-1.0.6 rd /s/q bzip2-1.0.6 @rem if exist bzip2-1.0.6 rd /s/q bzip2-1.0.6
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment