git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@8142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
130 lines
7.3 KiB
HTML
130 lines
7.3 KiB
HTML
<HTML>
|
|
|
|
<HEAD>
|
|
<TITLE>Making a wxMSW distribution</TITLE>
|
|
|
|
</HEAD>
|
|
|
|
<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
|
|
|
<font face="Arial, Lucida Sans, Helvetica">
|
|
|
|
<a name="top"></a>
|
|
|
|
<table width=100% border=0 cellpadding=5 cellspacing=0>
|
|
<tr>
|
|
<td bgcolor="#C4ECF9">
|
|
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000">
|
|
Making a wxMSW distribution
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<P>
|
|
|
|
These are some notes on the steps involved in making up a wxMSW distribution from
|
|
a CVS hierarchy.
|
|
Currently only Julian Smart does this, but in the event of the duty being
|
|
transferred, or to allow people to produce custom distributions, the following may be helpful.<P>
|
|
|
|
The distribution scripts are in the distrib/msw directory.<P>
|
|
|
|
<H3>Requirements</H3>
|
|
|
|
<ol>
|
|
<li>A wxWindows hierarchy from CVS.
|
|
<li>A copy of Tex2RTF in your path.
|
|
<li>32-bit zip and unzip utilities. I use zip 2.0.1 by Mark Adler and others, and unzip 5.12
|
|
by Info-ZIP. I call them zip32 and unzip32 in the scripts.
|
|
<li>Adobe Acrobat to generate the PDF documentation.
|
|
<li>The scripts use 4DOS, so you will need a copy (the evaluation copy should do).
|
|
<li>Several Windows compilers to test out the distribution (see below). VC++ is assumed, for
|
|
running some of the scripts, e.g. the makefile for running Tex2RTF.
|
|
<li>To make the setup.exe version of the distribution, a copy of WISE Installer
|
|
(I use version 5.0: I don't know if the scripts are compatible with
|
|
other versions).
|
|
<li>If you need to extract the top and bottom from the wxWindows WISE script after editing it with WISE (so that
|
|
the distribution script can automatically rebuild the .wse script from the distribution files + .wse script top and bottom),
|
|
you will need to compile distrib/msw/splitwise.cpp into distrib/msw/splitwise.exe, a DOS command line program.
|
|
<li><a href="http://wildsau.idv.uni-linz.ac.at/mfx/upx.html" target=_top>UPX</a>, for compressing executables.
|
|
<li>A <i>lot</i> of disk space.
|
|
</ol>
|
|
|
|
<H3>Steps</H3>
|
|
|
|
<ol>
|
|
<li>Compile utils/projgen if necessary and run, to generate the .dsp/.dsw files for the samples, demos and utils
|
|
using VC++ 5/6. In fact when wxWindows is fairly stable and new samples haven't been added and settings
|
|
changed, this step isn't necessary.<P>
|
|
<li>Update version numbers:
|
|
<ul>
|
|
<li>Ensure include/wx/version.h specifies the correct wxWindows version.
|
|
<li>Alter WXVERSION or other version-related variables in src/makevc.env, src/makeg95.env, src/makeb32.env.
|
|
<li>Alter the DLL version in the VC++ project files using distrib/msw/vcupdate.bat (no arguments).
|
|
<li>Edit distrib/msw/zipdist.bat and change the <b>version</b> variable to the appropriate version.
|
|
<li>Edit the WISE script (normally distrib/msw/wisetop.txt) to change the version number. See also below for other WISE script changes.
|
|
<li>Update the date and version number in docs/latex/wx/manual.tex.
|
|
</ul>
|
|
<P>
|
|
<li>Check setup.h is correct for the distribution (e.g. wxUSE_ODBC = 1, wxUSE_UNICODE = 0, etc.).<P>
|
|
<li>Regenerate makefiles from the tmake templates, if necessary. Most makefiles have a target to do this using the makefile name,
|
|
or else 'self'. Or you can use the 'makeall.bat' script in distrib\msw\tmake.<P>
|
|
<li>Using VC++ 6, make a WIN32 release executable of Dialog Editor and place it in the top-level <b>bin</b> directory
|
|
in your CVS hierarchy. Similarly for Tex2RTF and Life!. Compress them with UPX to save space.<P>
|
|
<li>Ensure that the library and most of the samples/demos compile for the popular compilers. Currently I check
|
|
with the following compilers:<P>
|
|
VC++ 1.5, VC++ 4.0, VC++ 5.0, VC++ 6.0 (static and DLL), BC++ 4.5 (WIN16/WIN32), BC++ 5.0 (WIN16/WIN32), C++Builder 3,
|
|
Watcom C++ 10.6, Cygwin b20, Mingw32 2.95. For VC++ 6 and BC++ 5.0, check compilation using both the
|
|
makefiles and the project files (wxvc.dsp, wxvc_dll.dsp, bc32.ide). See distrib/msw/makeall.bat for a script
|
|
to build wxWindows and samples for a variety of compilers.<P>
|
|
<li>Ensure that all .rsp files, that list the files to go in the distribution, are up-to-date.
|
|
For example, samples or demos may have been added to the hierarchy. The same applies to projgen (see above).<P>
|
|
<li>Likewise, ensure that vc.rsp contains references to all the sample project files (that have been generated
|
|
by projgen).<P>
|
|
<li>Ensure docs/msw/install.txt is up-to-date (detail any gotchas for particular compiler versions, etc.).<P>
|
|
<li>Update docs/readme.txt, docs/changes.txt (summarize from CVS change notifications).<P>
|
|
<li>Build the WinHelp, HTML, and PDF documentation
|
|
via the VC++ makefile, src/msw/makefile.vc. You can use e.g. the targets <b>cleandocs alldocs</b>. Check the
|
|
output of the Windows Help Compiler for missing links, and edit/recompile the docs if necessary. The PDF documentation is produced from the Word RTF
|
|
document, and read into Word. Apply the wxManual Style Template to improve presentation (Format|Style Gallery...). Select all, press F9 to reformat the fields. Check the table of contents for
|
|
overspill from the body of a section into the TOC. If there's a problem, it's due to the lack of a
|
|
blank line at the end of the relevant .tex file. Insert the blank line, regenerate the RTF, and reload into Word.
|
|
Then use Adobe Distiller to generate the PDF.<P>
|
|
<li>You need to edit the WISE script to change the version number, and any other changes you wish to make.
|
|
For simple changes, you can edit distrib/msw/wisetop.txt directly with a text editor. If you
|
|
wish to use WISE Installer directly, you will need to make a full wxwin2.wse file first,
|
|
by: (a) making up the distribution (next step), (b) editing wxwin2.wse with WISE Installer, (c)
|
|
running the distrib/msw/splitwise program to produce wisetop.txt, wisebott.txt, (d) executing the
|
|
next step again to remake the distribution programatically (or just run WISE directly: but remember
|
|
to run splitwise to be in sync for future reference). For more details, please see distrib/msw/readme.txt.<P>
|
|
<li>Make a <b>deliver</b> directory in the top-level wxWin hierarchy, change directory to distrib\msw,
|
|
and run <b>zipdist wise</b> (omit 'wise' if you don't want to build the setup.exe files).<P>
|
|
<li>You should now have lots of .zip files in your <b>deliver</b> folder, some setup.* files,
|
|
plus a <b>wx</b> hierarchy (extracted
|
|
from the zips) that you can now delete.<P>
|
|
<li>Test the setup.exe distribution by installing it, preferably compiling using several compilers
|
|
e.g. using distrib\msw\makeall.bat.<P>
|
|
<li>Go into Linux, unpack the distribution zip files, then call the Linux distribution script
|
|
to create .tgz files for wxMotif.<P>
|
|
<li>Upload the appropriate files to the SourceGear ftp site.<P>
|
|
<li>Download Robert's wxGTK files and upload to the SourceGear ftp site.<P>
|
|
<li>Update the web site front page, news, download and CD-ROM pages to reflect the new version.<P>
|
|
<li>If updating the CD-ROM hierarchy as well, follow these steps using the CD-ROM makefile:
|
|
<ol>
|
|
<li>Edit WXDISTDIR in the makefile and change to the correct distribution directory for this version.
|
|
<li>Run the makefile with <b>copydist</b>. This copies the distribution to the correct place
|
|
on the CD-ROM.
|
|
<li>Run the makefile with <b>copydocs</b>. This copies the wxWindows 2 manuals to the correct
|
|
place on the CD-ROM.
|
|
<li>Copy any project file zips that didn't need updating from an old distribution, e.g. wxWindows-x.y.z-wat.zip.
|
|
<li>Copy Robert's wxGTK files to the directory by hand.
|
|
</ol><P>
|
|
</ol>
|
|
|
|
</font>
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|