bpo-32726: macOS 10.6+ installer now builds Tcl/TK 8.6 (GH-6307)

Build and link with private copy of Tcl/Tk 8.6 for the macOS 10.6+
installer. The 10.9+ installer variant already does this.  This means that
the Python 3.7 provided by the python.org macOS installers no longer need or
use any external versions of Tcl/Tk, either system-provided or user-
installed, such as ActiveTcl.
This commit is contained in:
Ned Deily 2018-03-29 08:47:27 -04:00 committed by GitHub
parent 79c3bab35c
commit b9e7fe38a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 13 deletions

View file

@ -4,7 +4,7 @@ This script is used to build "official" universal installers on macOS.
NEW for 3.7.0:
- support Intel 64-bit-only () and 32-bit-only installer builds
- use external Tcl/Tk 8.6 for 10.9+ builds
- build and use internal Tcl/Tk 8.6 for 10.6+ builds
- deprecate use of explicit SDK (--sdk-path=) since all but the oldest
versions of Xcode support implicit setting of an SDK via environment
variables (SDKROOT and friends, see the xcrun man page for more info).
@ -24,7 +24,9 @@ Sphinx and dependencies are installed into a venv using the python3's pip
so will fetch them from PyPI if necessary. Since python3 is now used for
Sphinx, build-installer.py should also be converted to use python3!
build-installer currently requires an installed third-party version of
For 3.7.0, when building for a 10.6 or higher deployment target,
build-installer builds and links with its own copy of Tcl/Tk 8.6.
Otherwise, it requires an installed third-party version of
Tcl/Tk 8.4 (for OS X 10.4 and 10.5 deployment targets), Tcl/TK 8.5
(for 10.6 or later), or Tcl/TK 8.6 (for 10.9 or later)
installed in /Library/Frameworks. When installed,
@ -190,9 +192,9 @@ USAGE = textwrap.dedent("""\
EXPECTED_SHARED_LIBS = {}
# Are we building and linking with our own copy of Tcl/TK?
# For now, do so if deployment target is 10.9+.
# For now, do so if deployment target is 10.6+.
def internalTk():
return getDeptargetTuple() >= (10, 9)
return getDeptargetTuple() >= (10, 6)
# List of names of third party software built with this installer.
# The names will be inserted into the rtf version of the License.