for each release.
1. 32-bit-only, i386 and PPC universal, capable on running on all machines
- supported by Mac OS X 10.5 through (at least) 10.8::
+ supported by Mac OS X 10.5 through (at least) 10.9::
- /usr/bin/python build-installer.py \
+ /path/to/bootstrap/python2.7 build-installer.py \
--sdk-path=/Developer/SDKs/MacOSX10.5.sdk \
--universal-archs=32-bit \
--dep-target=10.5
- builds the following third-party libraries
* NCurses 5.9 (http://bugs.python.org/issue15037)
- * SQLite 3.8.1
+ * SQLite 3.8.3.1
* XZ 5.0.5
- uses system-supplied versions of third-party libraries
* readline module links with Apple BSD editline (libedit)
- - requires ActiveState ``Tcl/Tk 8.4`` (currently 8.4.19) to be installed for building
+ - requires ActiveState ``Tcl/Tk 8.4`` (currently 8.4.20) to be installed for building
- recommended build environment:
* ``MacOSX10.5`` SDK
* ``MACOSX_DEPLOYMENT_TARGET=10.5``
* Apple ``gcc-4.2``
- * system Python 2.5 for documentation build with Sphinx
+ * bootstrap non-framework Python 2.7 for documentation build with
+ Sphinx (as of 3.4.1)
- alternate build environments:
2. 64-bit / 32-bit, x86_64 and i386 universal, for OS X 10.6 (and later)::
- /usr/bin/python build-installer.py \
+ /path/to/bootstrap/python2.7 build-installer.py \
--sdk-path=/Developer/SDKs/MacOSX10.6.sdk \
--universal-archs=intel \
--dep-target=10.6
- builds the following third-party libraries
* NCurses 5.9 (http://bugs.python.org/issue15037)
- * SQLite 3.8.1
+ * SQLite 3.8.3.1
* XZ 5.0.5
- uses system-supplied versions of third-party libraries
* readline module links with Apple BSD editline (libedit)
- - requires ActiveState Tcl/Tk 8.5.15 (or later) to be installed for building
+ - requires ActiveState Tcl/Tk 8.5.15.1 (or later) to be installed for building
- recommended build environment:
* ``MacOSX10.6`` SDK
* ``MACOSX_DEPLOYMENT_TARGET=10.6``
* Apple ``gcc-4.2``
- * system Python 2.6 for documentation build with Sphinx
+ * bootstrap non-framework Python 2.7 for documentation build with
+ Sphinx (as of 3.4.1)
- alternate build environments:
considered a migration aid by Apple and is not likely to be fixed,
its use should be avoided. The other compiler, ``clang``, has been
undergoing rapid development. While it appears to have become
- production-ready in the most recent Xcode 4 releases (Xcode 4.6.3
- as of this writing), there are still some open issues when
- building Python and there has not yet been the level of exposure in
- production environments that the Xcode 3 gcc-4.2 compiler has had.
+ production-ready in the most recent Xcode 5 releases, the versions
+ available on the deprecated Xcode 4.x for 10.6 were early releases
+ and did not receive the level of exposure in production environments
+ that the Xcode 3 gcc-4.2 compiler has had.
* For Python 2.7.x and 3.2.x, the 32-bit-only installer was configured to
* Zlib 1.2.3
* Oracle Sleepycat DB 4.8 (Python 2.x only)
- - requires ActiveState ``Tcl/Tk 8.4`` (currently 8.4.19) to be installed for building
+ - requires ActiveState ``Tcl/Tk 8.4`` (currently 8.4.20) to be installed for building
- recommended build environment:
interfere with the build.
* The documentation for the release is built using Sphinx
- because it is included in the installer.
+ because it is included in the installer. For 2.7.x and 3.x.x up to and
+ including 3.4.0, the ``Doc/Makefile`` uses ``svn`` to download repos of
+ ``Sphinx`` and its dependencies. Beginning with 3.4.1, the ``Doc/Makefile``
+ assumes there is an externally-provided ``sphinx-build`` and requires at
+ least Python 2.6 to run. Because of this, it is no longer possible to
+ build a 3.4.1 or later installer on OS X 10.5 using the Apple-supplied
+ Python 2.5.
* It is safest to start each variant build with an empty source directory
populated with a fresh copy of the untarred source.
on all supported OS X releases and architectures. As a practical matter,
that is generally not possible. At a minimum, variant 1 should be run on
a PPC G4 system with OS X 10.5 and at least one Intel system running OS X
-10.8, 10.7, 10.6, or 10.5. Variant 2 should be run on 10.8, 10.7, and 10.6
-systems in both 32-bit and 64-bit modes.::
+10.9, 10.8, 10.7, 10.6, or 10.5. Variant 2 should be run on 10.9, 10.8,
+10.7, and 10.6 systems in both 32-bit and 64-bit modes.::
/usr/local/bin/pythonn.n -m test -w -u all,-largefile
/usr/local/bin/pythonn.n-32 -m test -w -u all
during testing and can be ignored.
It is also recommend to launch IDLE and verify that it is at least
-functional. Double-click on the IDLE app icon in ``/Applications/Pythonn.n``.
+functional. Double-click on the IDLE app icon in ``/Applications/Python n.n``.
It should also be tested from the command line::
/usr/local/bin/idlen.n
LT_10_5 = bool(DEPTARGET < '10.5')
# Disable for now
- if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 5)):
+ if False: # if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 5)):
result.extend([
dict(
name="Tcl 8.5.15",
base_path = base_path + ':' + OLD_DEVELOPER_TOOLS
os.environ['PATH'] = base_path
print("Setting default PATH: %s"%(os.environ['PATH']))
+ # 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')
def parseOptions(args=None):
docdir = os.path.join(rootDir, 'pydocs')
curDir = os.getcwd()
os.chdir(buildDir)
- runCommand('make update')
- runCommand("make html PYTHON='%s'" % os.path.abspath(sys.executable))
+ 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)