]> git.saurik.com Git - wxWidgets.git/blame - wxPython/distrib/howto-distrib.txt
A few build tweaks
[wxWidgets.git] / wxPython / distrib / howto-distrib.txt
CommitLineData
15eac935
RD
1How to make a wxPython distribution
2===================================
3
4This file documents all the steps that need to be taken to make a full
5dsitribution of wxPython, building source and binary packages for
6Linux, Windows and OSX. Much of this info is just "notes to self" and
7are specific to my machines and their custom setup, and may not be
8entirly applicable to others. If other folks are able to glean some
9useful information from this then that is wonderful, but is not the
10main intent of this document...
11
12
13
14Preflight Checklist
15-------------------
16
60e424ab 17* Ensure that the version info in wxPython/config.py is correct.
15eac935 18
0f69b6a9 19* Ensure that all build machines are up to date with CVS, they should
15eac935
RD
20 have the same versions of all the wxWidgets files if possible. (Use
21 a CVS tag if this is an official release.)
22
23* Ensure that all SWIG files have been regnerated, by doing a "b 23 t"
24 in wxPython, and then "b 23". Check CVS status again, committing
25 changes and updating on other build machines as neccessary. This
26 includes build scripts too, so as tweaks are made in the various
27 processes below be sure to check in the scripts.
28
29* Make the wxPython metadata XML file and ensure that it is committed
30 to CVS. On Xavier do:
31
32 docs/bin/simplify.py
33
34* Ensure that docs/CHANGES.txt and docs/MigrationGuide.txt are
35 updated, accurate and checked in to CVS.
36
37* Regenerate the html versions of the ReST docs in wxPython/docs, and
38 check in to CVS. On Xavier do:
39
40 cd wxPython/docs
41 docutils-buildhtml
42
43
44
45Windows (build env is on Cyclops)
46----------------------------------
47
15eac935
RD
48* Do a clean build of the ansi and unicode hybrid versions of
49 wxWidgets:
50
51 cd wx/build/msw
52 .make both-hybrid clean
53 .make both-hybrid
54
55* Build the tools. This btm script makes a static release version of
56 wxWidgets, and then builds copies of wxrc.exe and tex2rtf.exe
312cca17
RD
57 linking with that lib, placing them in wx/lib/vc_dll, (which you
58 should have on the PATH.)
15eac935 59
0f69b6a9 60 .make_tools.btm
15eac935 61
3cebfef1
RD
62* Make the .mo files
63
64 cd wx/locale
65 makemo.py
66
15eac935
RD
67* Make the HTMLHelp files. In the wx\wxPython directory run:
68
0f69b6a9 69 distrib\makedocs.bat
15eac935 70
3c8ad70a 71* Clean any old wxPython builds:
15eac935
RD
72
73 del /sx build build.unicode
74
75* Build all four versions of wxPython installers:
76
77 b 23 a
78
79* Build the -devel .zip file:
80
81 dsitrib\makedev.bat $(VERSION)
82
83* Copy the all the files created in wx\wxPython\dist to the file
84 server at s:\Development\wxPython\dist\$(VERSION)
85
86
87
88Linux
89-----
90
91The distribution build for Linux is split across two machines, one to
92create the source archives and another to build the binaries. On the
93primary development box (Xavier) do the following steps from the
94wx/wxPython dir:
95
96* Clean out any former RPM build dirs, and any former dist files:
97
98 rm -r _build_rpm
99 rm dist/*
100
101
102* Make the demo tarball:
103
3cebfef1 104 distrib/makedemo
15eac935
RD
105
106* Make the docs tarball:
107
108 distrib/makedocs
109
110* Make the source tarball:
111
112 distrib/makerpm 2.3 skipclean skiprpm
113
114* Make the four SRPMs:
115
116 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm
117 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm
118 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm gtk2
119 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm gtk2
120
121* Copy all the files created in wx/wxPython/dist to the file server at
122 /stuff/Development/wxPython/dist/$(VERSION)
123
124
125
126* The second half of the build process for Linux (building the binary
127 RPMs) is performed on a fairly raw (uncustomized, only used for
128 these builds, etc.) RedHat 9 machine. This is done to make the RPMs
129 as generic as possible, ensuring that there are no dependencies on
130 non-standard libs and such that may be on my main development
131 machine. There are RH-9 VMware VMs both on Cyclops and on Xavier
132 that are setup to do this, with both Python 2.2 and 2.3 installed,
0c81d1b8 133 gtk+1.2 and gtk+2 devel libs, etc. As the root user, do the
15eac935
RD
134 following:
135
136 mkdir /tmp/build
137 cd /tmp/build
138 SRCDIR=/stuff/Development/wxPython/dist/$(VERSION)
139 for srpm in $SRCDIR/*.src.rpm; do
140 myrpmbuild --rebuild $srpm
141 done
142
143* Copy the resulting RPMs to /stuff/Development/wxPython/dist/$(VERSION)
144
145
146
147
148Mac OSX
0f69b6a9
RD
149-------
150
151The Mac OSX build uses the tarball created on Linux, so it must be
152created first and in place on the file server. There are currently
153two builds made of wxPythonOSX, one for Panther and Apple's version of
154Python, and one for Jaguar and a self-installed MacPythonOSX.
155
8027eb22 156* On BigMac run the following as root:
0f69b6a9
RD
157
158 cd wx/wxPython
159 distrib/mac/wxPythonOSX/build panther
160
8027eb22 161* On Whopper run the following as root:
0f69b6a9
RD
162
163 cd wx/wxPython
164 distrib/mac/wxPythonOSX/build jaguar
165
166* Copy the resulting disk image files in wx/wxPython/dist on each
167 machine to /stuff/Development/wxPython/dist/$(VERSION) on the file
168 server.
169
170