summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNed Deily <nad@acm.org>2014-04-09 23:15:20 (GMT)
committerNed Deily <nad@acm.org>2014-04-09 23:15:20 (GMT)
commit9978a9357afa972a81cf3c32f3e67f618ccf0fd0 (patch)
tree6fe19edab38c7ffa183b7103a48a35f086bd0286
parentf3ddcc9ba75032ad08554daebdbd343d9bce1c6d (diff)
downloadcpython-9978a9357afa972a81cf3c32f3e67f618ccf0fd0.zip
cpython-9978a9357afa972a81cf3c32f3e67f618ccf0fd0.tar.gz
cpython-9978a9357afa972a81cf3c32f3e67f618ccf0fd0.tar.bz2
Issue #20644: Keep build-installer.py in sync across active versions.
-rwxr-xr-xMac/BuildScript/build-installer.py27
1 files changed, 18 insertions, 9 deletions
diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index ad67299..d4962ff 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -8,7 +8,9 @@ OS X 10.5 and the 10.5 SDK.
Please ensure that this script keeps working with Python 2.5, to avoid
bootstrap issues (/usr/bin/python is Python 2.5 on OSX 10.5). Sphinx,
which is used to build the documentation, currently requires at least
-Python 2.4.
+Python 2.4. However, as of Python 3.4.1, Doc builds require an external
+sphinx-build and the current versions of Sphinx now require at least
+Python 2.6.
In addition to what is supplied with OS X 10.5+ and Xcode 3+, the script
requires an installed version of hg and a third-party version of
@@ -21,8 +23,8 @@ installing the most recent ActiveTcl 8.4 or 8.5 version.
32-bit-only installer builds are still possible on OS X 10.4 with Xcode 2.5
and the installation of additional components, such as a newer Python
-(2.5 is needed for Python parser updates), hg, and svn (for the documentation
-build).
+(2.5 is needed for Python parser updates), hg, and for the documentation
+build either svn (pre-3.4.1) or sphinx-build (3.4.1 and later).
Usage: see USAGE variable in the script.
"""
@@ -365,7 +367,8 @@ def library_recipes():
# Instructions for building packages inside the .mpkg.
def pkg_recipes():
unselected_for_python3 = ('selected', 'unselected')[PYTHON_3]
- unselected_for_lt_python34 = ('selected', 'unselected')[getVersionTuple() < (3, 4)]
+ # unselected if 3.0 through 3.3, selected otherwise (2.x or >= 3.4)
+ unselected_for_lt_python34 = ('selected', 'unselected')[(3, 0) <= getVersionTuple() < (3, 4)]
result = [
dict(
name="PythonFramework",
@@ -610,8 +613,8 @@ def checkEnvironment():
# Ensure ws have access to hg and to sphinx-build.
# You may have to create links in /usr/bin for them.
runCommand('hg --version')
- runCommand('sphinx-build --version')
-
+ if getVersionTuple() >= (3, 4):
+ runCommand('sphinx-build --version')
def parseOptions(args=None):
"""
@@ -924,9 +927,15 @@ def buildPythonDocs():
docdir = os.path.join(rootDir, 'pydocs')
curDir = os.getcwd()
os.chdir(buildDir)
- runCommand('make clean')
- # Assume sphinx-build is on our PATH, checked in checkEnvironment
- runCommand('make html')
+ # The Doc build changed for 3.4 (technically, for 3.4.1)
+ if getVersionTuple() < (3, 4):
+ # This step does an svn checkout of sphinx and its dependencies
+ runCommand('make update')
+ runCommand("make html PYTHON='%s'" % os.path.abspath(sys.executable))
+ else:
+ runCommand('make clean')
+ # Assume sphinx-build is on our PATH, checked in checkEnvironment
+ runCommand('make html')
os.chdir(curDir)
if not os.path.exists(docdir):
os.mkdir(docdir)