annotate Mac/BuildScript/README.txt @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents d666e8ee687d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
1 Building a Python Mac OS X distribution
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
2 =======================================
38673
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
3
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
4 The ``build-install.py`` script creates Python distributions, including
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
5 certain third-party libraries as necessary. It builds a complete
38673
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
6 framework-based Python out-of-tree, installs it in a funny place with
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
7 $DESTROOT, massages that installation to remove .pyc files and such, creates
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
8 an Installer package from the installation plus other files in ``resources``
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
9 and ``scripts`` and placed that on a ``.dmg`` disk image.
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
10
87395
d60dfbef7bce Update third-party libraries for OS X installers:
Ned Deily <nad@acm.org>
parents: 86940
diff changeset
11 For Python 3.4.0, PSF practice is to build two installer variants
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
12 for each release.
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
13
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
14 1. 32-bit-only, i386 and PPC universal, capable on running on all machines
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
15 supported by Mac OS X 10.5 through (at least) 10.8::
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
16
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
17 /usr/bin/python build-installer.py \
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
18 --sdk-path=/Developer/SDKs/MacOSX10.5.sdk \
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
19 --universal-archs=32-bit \
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
20 --dep-target=10.5
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
21
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
22 - builds the following third-party libraries
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
23
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
24 * NCurses 5.9 (http://bugs.python.org/issue15037)
87395
d60dfbef7bce Update third-party libraries for OS X installers:
Ned Deily <nad@acm.org>
parents: 86940
diff changeset
25 * SQLite 3.8.1
d60dfbef7bce Update third-party libraries for OS X installers:
Ned Deily <nad@acm.org>
parents: 86940
diff changeset
26 * XZ 5.0.5
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
27
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
28 - uses system-supplied versions of third-party libraries
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
29
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
30 * readline module links with Apple BSD editline (libedit)
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
31
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
32 - requires ActiveState ``Tcl/Tk 8.4`` (currently 8.4.19) to be installed for building
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
33
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
34 - recommended build environment:
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
35
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
36 * Mac OS X 10.5.8 Intel or PPC
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
37 * Xcode 3.1.4
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
38 * ``MacOSX10.5`` SDK
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
39 * ``MACOSX_DEPLOYMENT_TARGET=10.5``
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
40 * Apple ``gcc-4.2``
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
41 * system Python 2.5 for documentation build with Sphinx
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
42
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
43 - alternate build environments:
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
44
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
45 * Mac OS X 10.6.8 with Xcode 3.2.6
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
46 - need to change ``/System/Library/Frameworks/{Tcl,Tk}.framework/Version/Current`` to ``8.4``
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
47 * Note Xcode 4.* does not support building for PPC so cannot be used for this build
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
48
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
49 2. 64-bit / 32-bit, x86_64 and i386 universal, for OS X 10.6 (and later)::
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
50
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
51 /usr/bin/python build-installer.py \
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
52 --sdk-path=/Developer/SDKs/MacOSX10.6.sdk \
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
53 --universal-archs=intel \
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
54 --dep-target=10.6
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
55
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
56 - builds the following third-party libraries
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
57
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
58 * NCurses 5.9 (http://bugs.python.org/issue15037)
87395
d60dfbef7bce Update third-party libraries for OS X installers:
Ned Deily <nad@acm.org>
parents: 86940
diff changeset
59 * SQLite 3.8.1
d60dfbef7bce Update third-party libraries for OS X installers:
Ned Deily <nad@acm.org>
parents: 86940
diff changeset
60 * XZ 5.0.5
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
61
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
62 - uses system-supplied versions of third-party libraries
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
63
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
64 * readline module links with Apple BSD editline (libedit)
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
65
86459
7f69f4fadfd8 Issue #15663: Update OS X installer to use Tcl/Tk 8.5.15.
Ned Deily <nad@acm.org>
parents: 85560
diff changeset
66 - requires ActiveState Tcl/Tk 8.5.15 (or later) to be installed for building
86616
5ff4f0100a40 Issue #15663: Tcl/Tk 8.5.15 is now included with the OS X 10.6+
Ned Deily <nad@acm.org>
parents: 81801
diff changeset
67
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
68 - recommended build environment:
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
69
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
70 * Mac OS X 10.6.8 (or later)
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
71 * Xcode 3.2.6
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
72 * ``MacOSX10.6`` SDK
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
73 * ``MACOSX_DEPLOYMENT_TARGET=10.6``
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
74 * Apple ``gcc-4.2``
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
75 * system Python 2.6 for documentation build with Sphinx
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
76
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
77 - alternate build environments:
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
78
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
79 * none. Xcode 4.x currently supplies two C compilers.
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
80 ``llvm-gcc-4.2.1`` has been found to miscompile Python 3.3.x and
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
81 produce a non-functional Python executable. As it appears to be
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
82 considered a migration aid by Apple and is not likely to be fixed,
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
83 its use should be avoided. The other compiler, ``clang``, has been
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
84 undergoing rapid development. While it appears to have become
86616
5ff4f0100a40 Issue #15663: Tcl/Tk 8.5.15 is now included with the OS X 10.6+
Ned Deily <nad@acm.org>
parents: 81801
diff changeset
85 production-ready in the most recent Xcode 4 releases (Xcode 4.6.3
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
86 as of this writing), there are still some open issues when
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
87 building Python and there has not yet been the level of exposure in
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
88 production environments that the Xcode 3 gcc-4.2 compiler has had.
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
89
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
90
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
91 * For Python 2.7.x and 3.2.x, the 32-bit-only installer was configured to
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
92 support Mac OS X 10.3.9 through (at least) 10.6. Because it is
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
93 believed that there are few systems still running OS X 10.3 or 10.4
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
94 and because it has become increasingly difficult to test and
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
95 support the differences in these earlier systems, as of Python 3.3.0 the PSF
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
96 32-bit installer no longer supports them. For reference in building such
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
97 an installer yourself, the details are::
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
98
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
99 /usr/bin/python build-installer.py \
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
100 --sdk-path=/Developer/SDKs/MacOSX10.4u.sdk \
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
101 --universal-archs=32-bit \
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
102 --dep-target=10.3
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
103
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
104 - builds the following third-party libraries
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
105
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
106 * Bzip2
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
107 * NCurses
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
108 * GNU Readline (GPL)
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
109 * SQLite 3
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
110 * XZ
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
111 * Zlib 1.2.3
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
112 * Oracle Sleepycat DB 4.8 (Python 2.x only)
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
113
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
114 - requires ActiveState ``Tcl/Tk 8.4`` (currently 8.4.19) to be installed for building
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
115
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
116 - recommended build environment:
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
117
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
118 * Mac OS X 10.5.8 PPC or Intel
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
119 * Xcode 3.1.4 (or later)
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
120 * ``MacOSX10.4u`` SDK (later SDKs do not support PPC G3 processors)
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
121 * ``MACOSX_DEPLOYMENT_TARGET=10.3``
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
122 * Apple ``gcc-4.0``
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
123 * system Python 2.5 for documentation build with Sphinx
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
124
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
125 - alternate build environments:
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
126
78759
6c898f297925 Update various OS X README files for 3.3.0.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
127 * Mac OS X 10.6.8 with Xcode 3.2.6
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
128 - need to change ``/System/Library/Frameworks/{Tcl,Tk}.framework/Version/Current`` to ``8.4``
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
129
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
130
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
131
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
132 General Prerequisites
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
133 ---------------------
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
134
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
135 * No Fink (in ``/sw``) or MacPorts (in ``/opt/local``) or other local
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
136 libraries or utilities (in ``/usr/local``) as they could
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
137 interfere with the build.
38673
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
138
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
139 * The documentation for the release is built using Sphinx
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
140 because it is included in the installer.
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
141
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
142 * It is safest to start each variant build with an empty source directory
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
143 populated with a fresh copy of the untarred source.
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
144
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
145 * It is recommended that you remove any existing installed version of the
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
146 Python being built::
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
147
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
148 sudo rm -rf /Library/Frameworks/Python.framework/Versions/n.n
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
149
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
150
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
151 The Recipe
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
152 ----------
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
153
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
154 Here are the steps you need to follow to build a Python installer:
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
155
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
156 * Run ``build-installer.py``. Optionally you can pass a number of arguments
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
157 to specify locations of various files. Please see the top of
38673
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
158 ``build-installer.py`` for its usage.
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
159
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
160 Running this script takes some time, it will not only build Python itself
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
161 but also some 3th-party libraries that are needed for extensions.
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
162
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
163 * When done the script will tell you where the DMG image is (by default
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
164 somewhere in ``/tmp/_py``).
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
165
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
166 Building other universal installers
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
167 ...................................
52461
857be5d95120 Merged revisions 70737 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 39442
diff changeset
168
857be5d95120 Merged revisions 70737 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 39442
diff changeset
169 It is also possible to build a 4-way universal installer that runs on
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
170 OS X 10.5 Leopard or later::
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
171
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
172 /usr/bin/python /build-installer.py \
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
173 --dep-target=10.5
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
174 --universal-archs=all
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
175 --sdk-path=/Developer/SDKs/MacOSX10.5.sdk
52461
857be5d95120 Merged revisions 70737 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 39442
diff changeset
176
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
177 This requires that the deployment target is 10.5, and hence
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
178 also that you are building on at least OS X 10.5. 4-way includes
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
179 ``i386``, ``x86_64``, ``ppc``, and ``ppc64`` (G5). ``ppc64`` executable
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
180 variants can only be run on G5 machines running 10.5. Note that,
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
181 while OS X 10.6 is only supported on Intel-based machines, it is possible
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
182 to run ``ppc`` (32-bit) executables unmodified thanks to the Rosetta ppc
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
183 emulation in OS X 10.5 and 10.6. The 4-way installer variant must be
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
184 built with Xcode 3. It is not regularly built or tested.
52461
857be5d95120 Merged revisions 70737 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 39442
diff changeset
185
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
186 Other ``--universal-archs`` options are ``64-bit`` (``x86_64``, ``ppc64``),
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
187 and ``3-way`` (``ppc``, ``i386``, ``x86_64``). None of these options
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
188 are regularly exercised; use at your own risk.
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
189
52461
857be5d95120 Merged revisions 70737 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 39442
diff changeset
190
39442
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
191 Testing
654c380cf8b9 Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents: 38673
diff changeset
192 -------
38673
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
193
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
194 Ideally, the resulting binaries should be installed and the test suite run
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
195 on all supported OS X releases and architectures. As a practical matter,
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
196 that is generally not possible. At a minimum, variant 1 should be run on
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
197 a PPC G4 system with OS X 10.5 and at least one Intel system running OS X
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
198 10.8, 10.7, 10.6, or 10.5. Variant 2 should be run on 10.8, 10.7, and 10.6
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
199 systems in both 32-bit and 64-bit modes.::
38673
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
200
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
201 /usr/local/bin/pythonn.n -m test -w -u all,-largefile
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
202 /usr/local/bin/pythonn.n-32 -m test -w -u all
67596
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
203
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
204 Certain tests will be skipped and some cause the interpreter to fail
2afcdf68a389 #10907: Update OS X installer build README to better reflect
Ned Deily <nad@acm.org>
parents: 52461
diff changeset
205 which will likely generate ``Python quit unexpectedly`` alert messages
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
206 to be generated at several points during a test run. These are normal
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
207 during testing and can be ignored.
38673
a19c20c5e5c7 Merge the rest of the trunk.
Thomas Wouters <thomas@python.org>
parents:
diff changeset
208
81800
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
209 It is also recommend to launch IDLE and verify that it is at least
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
210 functional. Double-click on the IDLE app icon in ``/Applications/Pythonn.n``.
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
211 It should also be tested from the command line::
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
212
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
213 /usr/local/bin/idlen.n
d54330c8daaa Issue #14018: Backport OS X installer updates from 3.3.
Ned Deily <nad@acm.org>
parents: 67799
diff changeset
214