]> git.saurik.com Git - wxWidgets.git/blame - wxPython/distrib/howto-distrib.txt
removed dcbuffer.cpp; replaced wave.cpp with sound.cpp
[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
17* Ensure that the version info in wxPython/setup.py is correct.
18
19* Ensure that all build boxes are up to date with CVS, they should
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
48* Clean out unneded files from wx/BIN
49
50 *.pdb # debugger data
51 wx*d_*.dll # debug version of the DLLs
52 # also old versions
53 # etc.
54
55* Clean out the same files in wx/lib/vc_dll. (NOTE to self: There is
56 probably no reason any more to move stuff to the BIN dir. Update
57 the build and packager scripts and the PATHs and then get rid of
58 it.)
59
60* Do a clean build of the ansi and unicode hybrid versions of
61 wxWidgets:
62
63 cd wx/build/msw
64 .make both-hybrid clean
65 .make both-hybrid
66
67* Build the tools. This btm script makes a static release version of
68 wxWidgets, and then builds copies of wxrc.exe and tex2rtf.exe
69 linking with that lib, placing them in wx/BIN.
70
71 .make_tools.btm
72
73* Make the HTMLHelp files. In the wx\wxPython directory run:
74
75 distrib\makedocs.bat
76
77* Clean and old wxPython builds:
78
79 del /sx build build.unicode
80
81* Build all four versions of wxPython installers:
82
83 b 23 a
84
85* Build the -devel .zip file:
86
87 dsitrib\makedev.bat $(VERSION)
88
89* Copy the all the files created in wx\wxPython\dist to the file
90 server at s:\Development\wxPython\dist\$(VERSION)
91
92
93
94Linux
95-----
96
97The distribution build for Linux is split across two machines, one to
98create the source archives and another to build the binaries. On the
99primary development box (Xavier) do the following steps from the
100wx/wxPython dir:
101
102* Clean out any former RPM build dirs, and any former dist files:
103
104 rm -r _build_rpm
105 rm dist/*
106
107
108* Make the demo tarball:
109
110 dsitrib/makedemo
111
112* Make the docs tarball:
113
114 distrib/makedocs
115
116* Make the source tarball:
117
118 distrib/makerpm 2.3 skipclean skiprpm
119
120* Make the four SRPMs:
121
122 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm
123 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm
124 distrib/makerpm 2.2 skipclean skipcopy skiptar srpm gtk2
125 distrib/makerpm 2.3 skipclean skipcopy skiptar srpm gtk2
126
127* Copy all the files created in wx/wxPython/dist to the file server at
128 /stuff/Development/wxPython/dist/$(VERSION)
129
130
131
132* The second half of the build process for Linux (building the binary
133 RPMs) is performed on a fairly raw (uncustomized, only used for
134 these builds, etc.) RedHat 9 machine. This is done to make the RPMs
135 as generic as possible, ensuring that there are no dependencies on
136 non-standard libs and such that may be on my main development
137 machine. There are RH-9 VMware VMs both on Cyclops and on Xavier
138 that are setup to do this, with both Python 2.2 and 2.3 installed,
139 gtk+12 and gtk+2 devel libs, etc. As the root user, do the
140 following:
141
142 mkdir /tmp/build
143 cd /tmp/build
144 SRCDIR=/stuff/Development/wxPython/dist/$(VERSION)
145 for srpm in $SRCDIR/*.src.rpm; do
146 myrpmbuild --rebuild $srpm
147 done
148
149* Copy the resulting RPMs to /stuff/Development/wxPython/dist/$(VERSION)
150
151
152
153
154Mac OSX
155-------