[Python-checkins] cpython (3.4): Issue #17896: Move Windows external lib sources from .. to externals.

zach.ware python-checkins at python.org
Sun Nov 2 04:50:08 CET 2014


https://hg.python.org/cpython/rev/b5e9bc4352e1
changeset:   93346:b5e9bc4352e1
branch:      3.4
parent:      93343:121517deb318
user:        Zachary Ware <zachary.ware at gmail.com>
date:        Sat Nov 01 22:39:21 2014 -0500
summary:
  Issue #17896: Move Windows external lib sources from .. to externals.

files:
  .gitignore                         |   1 +
  .hgignore                          |   1 +
  Lib/tkinter/_fix.py                |   4 ++--
  Misc/NEWS                          |   3 +++
  PCbuild/build_ssl.py               |   2 +-
  PCbuild/pyproject.props            |   2 +-
  PCbuild/readme.txt                 |  13 +++++++------
  PCbuild/rt.bat                     |   2 +-
  Tools/buildbot/external-common.bat |   3 ++-
  9 files changed, 19 insertions(+), 12 deletions(-)


diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
@@ -70,4 +70,5 @@
 TAGS
 .coverage
 coverage/
+externals/
 htmlcov/
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -92,6 +92,7 @@
 Modules/_testembed
 .coverage
 coverage/
+externals/
 htmlcov/
 *.gcda
 *.gcno
diff --git a/Lib/tkinter/_fix.py b/Lib/tkinter/_fix.py
--- a/Lib/tkinter/_fix.py
+++ b/Lib/tkinter/_fix.py
@@ -48,8 +48,8 @@
 
 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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -128,6 +128,9 @@
 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
--- a/PCbuild/build_ssl.py
+++ b/PCbuild/build_ssl.py
@@ -68,7 +68,7 @@
     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
--- 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
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -224,9 +224,10 @@
 
     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 @@
 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 @@
 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
--- a/PCbuild/rt.bat
+++ b/PCbuild/rt.bat
@@ -38,7 +38,7 @@
 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
--- 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

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list