]> granicus.if.org Git - python/commitdiff
Issue #17896: Move Windows external lib sources from .. to externals.
authorZachary Ware <zachary.ware@gmail.com>
Sun, 2 Nov 2014 03:39:21 +0000 (22:39 -0500)
committerZachary Ware <zachary.ware@gmail.com>
Sun, 2 Nov 2014 03:39:21 +0000 (22:39 -0500)
.gitignore
.hgignore
Lib/tkinter/_fix.py
Misc/NEWS
PCbuild/build_ssl.py
PCbuild/pyproject.props
PCbuild/readme.txt
PCbuild/rt.bat
Tools/buildbot/external-common.bat

index 59d383265d43c74372b086970a32f8c09ff187ba..ba9ee85428f6492c703f579432f698e43688010f 100644 (file)
@@ -70,4 +70,5 @@ tags
 TAGS
 .coverage
 coverage/
+externals/
 htmlcov/
index c67ffb8cbc6d9a190db8b98d3fda2d9274dc4da9..9e5a583361a1766ee892720abc3b38d3117bd484 100644 (file)
--- a/.hgignore
+++ b/.hgignore
@@ -92,6 +92,7 @@ Modules/_freeze_importlib
 Modules/_testembed
 .coverage
 coverage/
+externals/
 htmlcov/
 *.gcda
 *.gcno
index 5f32d25abc8bf5668b791443493751c7e17af3e6..fa88734c0527590cbefba44585488053272c7d0b 100644 (file)
@@ -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):
index c52aa62efddb888dd1f15a7dc4b6fba209fb5411..8a5ca30861225c301c720220de4bc7df8fba6c9e 100644 (file)
--- 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.
 
index f3c65fcb884d7be15a295c89186d62bc07f19e69..3cb4f620fdc19107db1dd770b2d1843976bc3e58 100644 (file)
@@ -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):
index d1e9dc02a0af908b9a02d48cdc0a8c7a9eed2ed4..52ff2c518d1b8ce44595c437a9596c0ab00afb01 100644 (file)
@@ -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>
index 2193c84e52748ac6963fb05821017debd262a8dc..018bdf0e50c034d30c2052fd3fd2621b12165399 100644 (file)
@@ -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
index 7129e203491fbf8f92d875463b7b40730f83b7da..e569238423ae3772104f3ddc2db6889022471a2c 100644 (file)
@@ -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
index 5e4002b95a44d6f78b19c6adfb4a2377b13028f4..215a4b9a7f0e93b3d0551ed98685e3f281b09e7c 100644 (file)
@@ -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