summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2014-11-02 03:39:21 (GMT)
committerZachary Ware <zachary.ware@gmail.com>2014-11-02 03:39:21 (GMT)
commit4b2b1de0bdca9020a015473c5348e1a1d4bb53f9 (patch)
tree973bb0c572ba91436bf387b71f9f025d01284bf4
parent91f01e175a4f8f21893401573bdc36c5004388dd (diff)
downloadcpython-4b2b1de0bdca9020a015473c5348e1a1d4bb53f9.zip
cpython-4b2b1de0bdca9020a015473c5348e1a1d4bb53f9.tar.gz
cpython-4b2b1de0bdca9020a015473c5348e1a1d4bb53f9.tar.bz2
Issue #17896: Move Windows external lib sources from .. to externals.
-rw-r--r--.gitignore1
-rw-r--r--.hgignore1
-rw-r--r--Lib/tkinter/_fix.py4
-rw-r--r--Misc/NEWS3
-rw-r--r--PCbuild/build_ssl.py2
-rw-r--r--PCbuild/pyproject.props2
-rw-r--r--PCbuild/readme.txt13
-rw-r--r--PCbuild/rt.bat2
-rw-r--r--Tools/buildbot/external-common.bat3
9 files changed, 19 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index 59d3832..ba9ee85 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,4 +70,5 @@ tags
TAGS
.coverage
coverage/
+externals/
htmlcov/
diff --git a/.hgignore b/.hgignore
index c67ffb8..9e5a583 100644
--- a/.hgignore
+++ b/.hgignore
@@ -92,6 +92,7 @@ Modules/_freeze_importlib
Modules/_testembed
.coverage
coverage/
+externals/
htmlcov/
*.gcda
*.gcno
diff --git a/Lib/tkinter/_fix.py b/Lib/tkinter/_fix.py
index 5f32d25..fa88734 100644
--- a/Lib/tkinter/_fix.py
+++ b/Lib/tkinter/_fix.py
@@ -48,8 +48,8 @@ else:
prefix = os.path.join(sys.base_prefix,"tcl")
if not os.path.exists(prefix):
- # devdir/../tcltk/lib
- prefix = os.path.join(sys.base_prefix, os.path.pardir, "tcltk", "lib")
+ # devdir/externals/tcltk/lib
+ prefix = os.path.join(sys.base_prefix, "externals", "tcltk", "lib")
prefix = os.path.abspath(prefix)
# if this does not exist, no further search is needed
if os.path.exists(prefix):
diff --git a/Misc/NEWS b/Misc/NEWS
index c52aa62..8a5ca30 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -128,6 +128,9 @@ Build
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
svn.python.org to build OpenSSL.
diff --git a/PCbuild/build_ssl.py b/PCbuild/build_ssl.py
index f3c65fc..3cb4f62 100644
--- a/PCbuild/build_ssl.py
+++ b/PCbuild/build_ssl.py
@@ -68,7 +68,7 @@ def get_ssl_dir():
propfile = (os.path.join(os.path.dirname(__file__), 'pyproject.props'))
with open(propfile, encoding='utf-8-sig') as f:
m = re.search('openssl-([^<]+)<', f.read())
- return "..\..\openssl-"+m.group(1)
+ return "..\externals\openssl-"+m.group(1)
def create_makefile64(makefile, m32):
diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props
index d1e9dc0..52ff2c5 100644
--- a/PCbuild/pyproject.props
+++ b/PCbuild/pyproject.props
@@ -16,7 +16,7 @@
<PyDllName>python34$(PyDebugExt)</PyDllName>
<PythonExe>$(OutDir)python$(PyDebugExt).exe</PythonExe>
<KillPythonExe>$(OutDir)kill_python$(PyDebugExt).exe</KillPythonExe>
- <externalsDir>..\..</externalsDir>
+ <externalsDir>..\externals</externalsDir>
<sqlite3Dir>$(externalsDir)\sqlite-3.8.3.1</sqlite3Dir>
<bz2Dir>$(externalsDir)\bzip2-1.0.6</bz2Dir>
<lzmaDir>$(externalsDir)\xz-5.0.5</lzmaDir>
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 2193c84..018bdf0 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -224,9 +224,10 @@ _tkinter
Unlike the other external libraries listed above, Tk must be built
separately before the _tkinter module can be built. This means that
- a pre-built Tcl/Tk installation is expected in ..\..\tcltk (tcltk64
- for 64-bit) relative to this directory. See "Getting External
- Sources" below for the easiest method to ensure Tcl/Tk is built.
+ a pre-built Tcl/Tk installation is expected in ..\externals\tcltk
+ (tcltk64 for 64-bit) relative to this directory. See "Getting
+ External Sources" below for the easiest method to ensure Tcl/Tk is
+ built.
Getting External Sources
@@ -246,12 +247,12 @@ directory from ..\, i.e.:
This extracts all the external sub-projects from
http://svn.python.org/projects/external
via Subversion (so you'll need an svn.exe on your PATH) and places them
-in ..\.. (relative to this directory).
+in ..\externals (relative to this directory).
It is also possible to download sources from each project's homepage,
though you may have to change the names of some folders in order to make
things work. For instance, if you were to download a version 5.0.7 of
-XZ Utils, you would need to extract the archive into ..\..\xz-5.0.5
+XZ Utils, you would need to extract the archive into ..\externals\xz-5.0.5
anyway, since that is where the solution is set to look for xz. The
same is true for all other external projects.
@@ -268,7 +269,7 @@ The external-amd64.bat file contains this for tcl:
So for a release build, you'd call it as:
nmake -f makefile.vc MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
-Note that the above command is called from within ..\..\tcl-8.6.1.0\win
+Note that the above command is called from within ..\externals\tcl-8.6.1.0\win
(relative to this directory); don't forget to build Tk as well as Tcl!
This will be cleaned up in the future; http://bugs.python.org/issue15968
diff --git a/PCbuild/rt.bat b/PCbuild/rt.bat
index 7129e20..e569238 100644
--- a/PCbuild/rt.bat
+++ b/PCbuild/rt.bat
@@ -38,7 +38,7 @@ if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts
if "%1"=="-d" (set suffix=_d) & 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 cmd=%exe% %dashO% -Wd -E -bb ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
if defined qmode goto Qmode
diff --git a/Tools/buildbot/external-common.bat b/Tools/buildbot/external-common.bat
index 5e4002b..215a4b9 100644
--- a/Tools/buildbot/external-common.bat
+++ b/Tools/buildbot/external-common.bat
@@ -1,7 +1,8 @@
@rem Common file shared between external.bat and external-amd64.bat. Responsible for
@rem fetching external components into the root\.. buildbot directories.
-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 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