4 # Build wxWidgets 2 for Windows distribution.
5 # This builds all required binaries and documents before calling
6 # zipdist.sh to make the archives.
8 # To use this script, you need:
10 # - CygWin installation, for bash etc.
11 # - VC++ 6 or higher, to compile the binaries
12 # - WinHelp compiler, HTML Help compiler, Tex2RTF on your path
14 # - Word 97 (not tested with higher versions)
15 # - Adobe Acrobat & Distiller
17 # Before running this script, you will need to:
19 # - update the readmes, change log, manual version etc.
21 # - update distrib/msw/wisetop.txt, wisebott.txt with the correct version
22 # number, plus any hard-wired wxWidgets paths
23 # - test on a variety of compilers
27 # - generation of PDF (only PDF RTF generated so far)
28 # - perhaps prompt the user to read the important release docs,
31 # Julian Smart, October 2000
33 SRC
=`cygpath -u $WXWIN`
35 TMPDIR
=`cygpath -u $TEMP`
46 # For some reason, if we pipe output to egrep, we see output, but not otherwise.
47 WARNINGS
=": decorated name|: see reference|: see declaration|C4786|VC98\\\\INCLUDE|template<>"
50 VCPATH
="/c/Program Files/Microsoft Visual Studio/common/msdev98/bin:/c/Program Files/Microsoft Visual Studio/VC98/bin:DevStudio/VC/bin:/c/Program Files/Microsoft Visual Studio/common/tools:/c/Program Files/HTML Help Workshop"
51 INCLUDE
="C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE;C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE;C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE;C:\Program Files\Tcl\include;C:\Program Files\HTML Help Workshop\include"
52 LIB
="C:\Program Files\Microsoft Visual Studio\VC98\lib;C:\Program Files\Microsoft Visual Studio\VC98\MFC\lib;C:\Program Files\Tcl\lib;C:\Program Files\HTML Help Workshop\lib"
53 TCLHOME
=C
:/PROGRA~
1/Tcl
export TCLHOME
54 PATH
="$PATH:$VCPATH" export PATH
57 WORDEXE
="/c/Program Files/Microsoft Office/Office/WINWORD.EXE"
61 egrep ": error C|fatal error" $TMPDIR/buildlog.txt
> $TMPDIR/errorlog.txt
62 if [ -s $TMPDIR/errorlog.txt
]; then
63 echo Did not build
$0 successfully.
69 if [ ! -d "$SRC" ]; then
70 echo "$SRC" does not exist.
74 if [ ! -d "$SRC/deliver" ]; then
78 if [ ! -e $SRC/include
/wx
/msw
/setup.h
]; then
79 cp "$SRC/include/wx/msw/setup0.h" "$SRC/include/wx/msw/setup.h"
80 echo setup0.h has been copied to setup.h.
81 echo You must now edit this
file to restore release settings
,
82 echo then run this
script again.
84 notepad.exe
"$SRC/include/wx/msw/setup.h"
86 if [ ! -d "$SRC/bin" ]; then
89 if [ ! -e "$SRC/bin/DBGVIEW.EXE" ]; then
90 echo Please put DBGVIEW.EXE
, DBGVIEW.CNT
, DBGVIEW.HLP into
$SRC/bin
91 echo and run the
script again.
98 echo "---------------------------------"
99 echo "Building wxWidgets documents"
100 nmake
-f makefile.vc cleandocs docs
102 cd "$SRC/utils/tex2rtf/src"
103 nmake
-f makefile.vc html htmlhelp htb hlp pdfrtf
105 cd "$SRC/contrib/src/ogl"
106 nmake
-f makefile.vc html htmlhelp htb hlp pdfrtf
108 cd "$SRC/contrib/src/mmedia"
109 nmake
-f makefile.vc html htmlhelp htb hlp pdfrtf
112 # TODO: Make PDF via Word, if Word and Adobe Acrobat are present.
113 # This has to be interactive at present.
115 echo "---------------------------------"
116 echo "Building wxWidgets PDF documents"
117 if [ -e "$WORDEXE" ]; then
118 "$WORDEXE" "$WXWIN\\docs\\pdf\\wx.rtf"
119 "$WORDEXE" "$WXWIN\\docs\\pdf\\tex2rtf.rtf"
120 "$WORDEXE" "$WXWIN\\contrib\\docs\\pdf\\ogl.rtf"
121 "$WORDEXE" "$WXWIN\\contrib\\docs\\mmedia\\ogl.rtf"
123 echo MS Word not present. Not doing PDF build.
129 echo "---------------------------------"
130 echo "Building wxWidgets using VC++"
132 echo Building wxWidgets Release library
in `pwd`
133 echo Command
: msdev wxvc.dsw
/useenv
/make "wxvc - Win32 Release" /rebuild
134 msdev wxvc.dsw
/useenv
/make "wxvc - Win32 Release" /rebuild
| egrep -v "$WARNINGS"
138 echo "---------------------------------"
139 echo "Building Tex2RTF using VC++"
140 cd "$SRC/utils/tex2rtf/src"
141 msdev Tex2RTFVC.dsw
/useenv
/make "Tex2RTFVC - Win32 Release" /rebuild
| egrep -v "$WARNINGS" | tee $TMPDIR/buildlog.txt
143 check_compile
"Tex2RTF"
147 echo "---------------------------------"
148 echo "Building Life! using VC++"
150 msdev LifeVC.dsw
/useenv
/make "LifeVC - Win32 Release" /rebuild
| egrep -v "$WARNINGS" | tee $TMPDIR/buildlog.txt
152 check_compile
"Life! Demo"
155 build_executables
() {
161 cp "$SRC/utils/tex2rtf/src/Release/tex2rtf.exe" "$SRC/bin"
162 cp "$SRC/docs/winhelp/tex2rtf.hlp" "$SRC/docs/winhelp/tex2rtf.cnt" "$SRC/bin"
164 cp "$SRC/demos/life/Release/life.exe" "$SRC/demos/life/breeder.lif" "$SRC/bin"
167 # Process command line options.
195 echo Usage
: $0 "[ options ]"
196 echo Generates documentation and binaries
for creating a distribution
,
197 echo and optionally generates the zip
/setup.exe distribution by
198 echo calling zipdist.sh.
201 echo " --help Display this help message"
202 echo " --wise Additonally, build zips and setup.exe"
203 echo " --pdf Additionally, try to generate PDF"
204 echo " --wise-only Only do zip/setup phase"
205 echo " --wxwin-only Only do wxWin lib building phase"
206 echo " --docs-only Only do docs building phase"
207 echo " --pdf-only Only do PDF building phase"
208 echo " --bin-only Only do .exe building phase"
214 mkdir -p $SRC/docs
/pdf
215 mkdir -p $SRC/docs
/html
216 mkdir -p $SRC/docs
/htmlhelp
217 mkdir -p $SRC/docs
/htb
218 mkdir -p $SRC/docs
/winhelp
219 mkdir -p $SRC/contrib
/docs
/pdf
220 mkdir -p $SRC/contrib
/docs
/html
221 mkdir -p $SRC/contrib
/docs
/htmlhelp
222 mkdir -p $SRC/contrib
/docs
/htb
223 mkdir -p $SRC/contrib
/docs
/winhelp
228 if [ "$OK" = "1" ]; then
229 if [ "$DOCSONLY" = "1" ] || [ "$DOALL" = "1" ]; then
234 if [ "$OK" = "1" ] && [ "$DOPDF" = "1" ]; then
235 if [ "$PDFONLY" = "1" ] || [ "$DOALL" = "1" ]; then
240 if [ "$OK" = "1" ]; then
241 if [ "$WXWINONLY" = "1" ] || [ "$DOALL" = "1" ]; then
246 if [ "$OK" = "1" ]; then
247 if [ "$BINONLY" = "1" ] || [ "$DOALL" = "1" ]; then
252 if [ "$OK" = "1" ]; then
256 if [ "$OK" = "1" ] && [ "$DOWISE" = "1" ]; then
257 if [ "$WISEONLY" = "1" ] || [ "$DOALL" = "1" ]; then
258 $SRC/distrib
/msw
/zipdist.sh
--wise
262 if [ "$OK" = "1" ]; then
263 echo Finished successfully.
265 echo Finished unsuccessfully. There were errors.
268 echo Press
return to
continue.