blob: 0f1aeb5d2a4021cc8268bb932d29c38f12d5cfa1 [file] [log] [blame]
Thomas Wouters477c8d52006-05-27 19:21:47 +00001Building a MacPython distribution
2=================================
3
4The ``build-install.py`` script creates MacPython distributions, including
5sleepycat db4, sqlite3 and readline support. It builds a complete
6framework-based Python out-of-tree, installs it in a funny place with
7$DESTROOT, massages that installation to remove .pyc files and such, creates
8an Installer package from the installation plus other files in ``resources``
9and ``scripts`` and placed that on a ``.dmg`` disk image.
10
Thomas Wouters0e3f5912006-08-11 14:57:12 +000011Prerequisites
12-------------
Thomas Wouters477c8d52006-05-27 19:21:47 +000013
Thomas Wouters0e3f5912006-08-11 14:57:12 +000014* A MacOS X 10.4 (or later)
15
16* XCode 2.2 (or later), with the universal SDK
17
18* No Fink (in ``/sw``) or DarwinPorts (in ``/opt/local``), those could
19 interfere with the build.
20
21* The documentation for the release must be available on python.org
22 because it is included in the installer.
23
24
25The Recipe
26----------
27
28Here are the steps you need to follow to build a MacPython installer:
29
30* Run ``./build-installer.py``. Optionally you can pass a number of arguments
31 to specify locations of various files. Please see the top of
Thomas Wouters477c8d52006-05-27 19:21:47 +000032 ``build-installer.py`` for its usage.
Thomas Wouters477c8d52006-05-27 19:21:47 +000033
Thomas Wouters0e3f5912006-08-11 14:57:12 +000034 Running this script takes some time, I will not only build Python itself
35 but also some 3th-party libraries that are needed for extensions.
36
37* When done the script will tell you where the DMG image is (by default
38 somewhere in ``/tmp/_py``).
39
Ronald Oussoren1943f862009-03-30 19:39:14 +000040Building a 4-way universal installer
41....................................
42
43It is also possible to build a 4-way universal installer that runs on
44OSX Leopard or later::
45
46 $ ./build-installer.py --dep-target=10.5 --universal-archs=all --sdk=/
47
48This requires that the deployment target is 10.5 (or later), and hence
49also that your building on at least OSX 10.5.
50
Thomas Wouters0e3f5912006-08-11 14:57:12 +000051Testing
52-------
53
54The resulting binaries should work on MacOSX 10.3.9 or later. I usually run
55the installer on a 10.3.9, a 10.4.x PPC and a 10.4.x Intel system and then
56run the testsuite to make sure.
57
58
59Announcements
60-------------
61
62(This is mostly of historic interest)
Thomas Wouters477c8d52006-05-27 19:21:47 +000063
64When all is done, announcements can be posted to at least the following
65places:
66- pythonmac-sig@python.org
67- python-dev@python.org
68- python-announce@python.org
69- archivist@info-mac.org
70- adcnews@apple.com
71- news@macnn.com
72- http://www.macupdate.com
73- http://guide.apple.com/usindex.lasso
74- http://www.apple.com/downloads/macosx/submit
75- http://www.versiontracker.com/ (userid Jack.Jansen@oratrix.com)
76- http://www.macshareware.net (userid jackjansen)
77
78Also, check out Stephan Deibels http://pythonology.org/market contact list