]> 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:34:09 +0000 (22:34 -0500)
committerZachary Ware <zachary.ware@gmail.com>
Sun, 2 Nov 2014 03:34:09 +0000 (22:34 -0500)
.gitignore
.hgignore
Lib/lib-tk/FixTk.py
Misc/NEWS
PCbuild/build_ssl.py
PCbuild/pyproject.vsprops
PCbuild/readme.txt
PCbuild/rt.bat
Tools/buildbot/external-common.bat

index 1ff7d5e11b0ee5163ef86b12dd39be143fe3d241..7e06d3afac5f2309abe7173c4e848b2367aa6d02 100644 (file)
@@ -43,4 +43,5 @@ python-gdb.py
 tags
 .coverage
 coverage/
+externals/
 htmlcov/
index d6c6c7342565dab83dcd0c229f69b8d20f09f820..ed5be73cfea126f033876fc5dd4bc1ac00441c78 100644 (file)
--- a/.hgignore
+++ b/.hgignore
@@ -61,4 +61,5 @@ PCbuild/*.bsc
 PCbuild/Win32-temp-*
 .coverage
 coverage/
+externals/
 htmlcov/
index 49960c74ca80282f1ec9337c3d64b5db89776ed4..953dcd55583165d4845609821c47b237e6dd73eb 100644 (file)
@@ -48,8 +48,8 @@ else:
 
 prefix = os.path.join(sys.prefix,"tcl")
 if not os.path.exists(prefix):
-    # devdir/../tcltk/lib
-    prefix = os.path.join(sys.prefix, os.path.pardir, "tcltk", "lib")
+    # devdir/externals/tcltk/lib
+    prefix = os.path.join(sys.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 c60917fcd091ff992856cc84ced251df71cba4df..1da89701308ca507a82d3d03cd8f5031622fb341 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -307,6 +307,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 53c7e35590c51e72f56a8098161773fb99be581d..3ba2483a755aef7791667c684707c80b473d7ea2 100644 (file)
@@ -69,7 +69,7 @@ def get_ssl_dir():
     propfile = (os.path.join(os.path.dirname(__file__), 'pyproject.vsprops'))
     with open(propfile) 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 1c7cee7bff23965d80f5df8abac21abb51d4e2e1..aed230081a656a335e555f488ea4e5031cf0e7c7 100644 (file)
@@ -46,7 +46,7 @@
        />\r
        <UserMacro\r
                Name="externalsDir"\r
-               Value="..\.."\r
+               Value="..\externals"\r
        />\r
        <UserMacro\r
                Name="bsddb47Dir"\r
index a65926d35e2dd7c2bfacb774a3474fbbdc2b791a..4d4c7da05e358b8caed448831c20d237176bcdc6 100644 (file)
@@ -112,9 +112,9 @@ _tkinter
     Wraps the Tk windowing system.  Unlike _bsddb and _sqlite3, there's no
     corresponding tcltk.vcproj-type project that builds Tcl/Tk from vcproj's
     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
-    64-bit (relative to this directory).  See below for instructions to build
-    Tcl/Tk.
+    pre-built Tcl/Tk in either ..\externals\tcltk for 32-bit or
+    ..\externals\tcltk64 for 64-bit (relative to this directory).  See below
+    for instructions to build Tcl/Tk.
 bz2
     Python wrapper for the libbz2 compression library.  Homepage
         http://sources.redhat.com/bzip2/
@@ -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
 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
-also build a debug build of Tcl/Tk; there aren't any equivalent batch files
+..\externals (relative to this directory).  The external(-amd64).bat scripts
+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
 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
@@ -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
 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
 --------------------
 
index 9da1ed1b397079e74b993faf166d8d528170c389..12ea6eb68789241278a906bb6ac9740740529b03 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 -3 -E -tt ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
 if defined qmode goto Qmode
index 7ca41a625b6bd795a5c7901e88082cac05c4aafa..fb36c170e0551ffd65f126ba4f148cfc50bf1f5d 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.
+@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 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