]> git.saurik.com Git - wxWidgets.git/blame - distrib/msw/makesetup.sh
added tech note about writing unit tests
[wxWidgets.git] / distrib / msw / makesetup.sh
CommitLineData
2ce79e48
JS
1#!/bin/sh
2
3# Make a distribution of an application on MSW.
4# Example:
5# ../distrib/msw/makesetup.sh --wxmsw --verbose 2>&1 | cat > log
6
7# If your zip accepts Cygwin-style paths, then
8# use cygpath, else substitute echo
9CYGPATHPROG=cygpath
10#CYGPATHPROG=echo
11
12INNO=1
13SPINMSW=0
14SPINMAC=0
15SPINOS2=0
16SPINDOCS=1
17SPINALL=1
18VERBOSE=0
19ZIPFLAGS=
20
21PROGNAME=$0
22SCRIPTDIR=$WXWIN/distrib/msw
23WEBFILES=c:/wx2dev/wxWebSite
24# Set this to the required version
93f467a3 25VERSION=2.5.1
2ce79e48
JS
26
27. $SCRIPTDIR/setup.var
28
29doreplace()
30{
31 thefile=$1
32 theexpr=$2
33
34 if [ -f $thefile ]; then
35 sed -e "$theexpr" < $thefile > $thefile.tmp
36 mv $thefile.tmp $thefile
37 else
38 echo "*** $thefile not found."
39 fi
40}
41
42unix2dosname()
43{
44 echo $1 | sed -e "s/\//\\\\\\\/g" > /tmp/filename.tmp
45 RETVALUE=`cat /tmp/filename.tmp`
46 rm -f /tmp/filename.tmp
47}
48
49unix2dosname2()
50{
51 echo $1 | sed -e "s/\//\\\\/g" > /tmp/filename.tmp
52 RETVALUE=`cat /tmp/filename.tmp`
53 rm -f /tmp/filename.tmp
54}
55
56doinit()
57{
58 if [ "$VERBOSE" != "1" ]; then
59 ZIPFLAGS=-q
60 fi
61}
62
63rearchive()
64{
65 archive=$1
66 dirname=$2
67 changeto=$3
68
69 echo Re-archiving $archive as $dirname
70
71 pushd $changeto
72
73 if [ -d $dirname ]; then
74 rm -f -r $dirname
75 fi
76 mkdir $dirname
77 cd $dirname
78 unzip $ZIPFLAGS ../$archive
79 cd ..
80 rm -f $archive
81 zip $ZIPFLAGS -r $archive $dirname/*
82
83 popd
84}
85
86# Find the version from wx/version.h
87# Not yet used
88findversion()
89{
90 echo "#include <stdio.h>" > /tmp/appver.c
91 echo "#include \"$VERSIONSYMBOLFILE\"" >> /tmp/appver.c
92 echo "int main() { printf(\"%.2f\", $VERSIONSYMBOL); }" >> /tmp/appver.c
93 gcc /tmp/appver.c -I$APPDIR -o /tmp/appver
94 VERSION=`/tmp/appver`
95 rm -f /tmp/appver /tmp/appver.c
96}
97
98dospinos2()
99{
100 cd $APPDIR
101 echo Zipping OS/2
102
103 # Zip up the complete wxOS2-xxx.zip file
104 zip $ZIPFLAGS -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/generic.rsp
105 zip $ZIPFLAGS -@ -u $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/os2.rsp
106 zip $ZIPFLAGS -@ -u $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/jpeg.rsp
107 zip $ZIPFLAGS -@ -u $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/tiff.rsp
108 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/tiff.rsp
109 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/jpeg.rsp
110 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/utils.rsp
111 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/tex2rtf.rsp
112 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/ogl.rsp
113 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/xml.rsp
114 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/contrib.rsp
115 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/deprecated.rsp
116 zip $ZIPFLAGS -u -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/makefile.rsp
117
118 # Rearchive under wxWindows-$VERSION
119 if [ -d $DESTDIR/wxWindows-$VERSION ]; then
120 rm -f -r $DESTDIR/wxWindows-$VERSION
121 fi
122
123 mkdir $DESTDIR/wxWindows-$VERSION
124 cd $DESTDIR/wxWindows-$VERSION
125 unzip $ZIPFLAGS ../wxOS2-$VERSION.zip
8a82c9ec
JS
126 # No longer do this, configure should be OK (maybe)
127 # echo Overwriting with OS2-specific versions of configure files...
128 # unzip $ZIPFLAGS -o $APPDIR/distrib/os2/os2-specific.zip
2ce79e48
JS
129 rm -f src/gtk/descrip.mms src/motif/descrip.mms docs/pdf/*.pdf
130 rm -f src/tiff/*.mcp src/jpeg/*.mcp src/png/*.mcp src/zlib/*.mcp
1cb14841 131 rm -f -r docs/html/tex2rtf
2ce79e48 132
46c81560
JS
133 # echo Making OS/2 files lower case...
134 # no longer necessary
135 # $SCRIPTDIR/namedown include/wx/os2/*.H
136 # $SCRIPTDIR/namedown src/os2/*.CPP src/os2/*.I
2ce79e48 137
71da8cff
JS
138 echo Copying readme files...
139 cp $APPDIR/docs/os2/install.txt INSTALL-OS2.txt
140 cp $APPDIR/docs/licence.txt LICENCE.txt
141 cp $APPDIR/docs/lgpl.txt COPYING.LIB
142 cp $APPDIR/docs/changes.txt CHANGES.txt
143 cp $APPDIR/docs/readme.txt README.txt
144
2ce79e48
JS
145 cd $DESTDIR
146
147 rm -f wxOS2-$VERSION.zip
148 zip $ZIPFLAGS -r wxOS2-$VERSION.zip wxWindows-$VERSION/*
149}
150
151dospinmac()
152{
153 cd $APPDIR
154
155 echo Zipping wxMac distribution
156
157 cp $APPDIR/include/wx/mac/setup0.h $APPDIR/include/wx/setup.h
158
159 zip $ZIPFLAGS -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/generic.rsp
160 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/mac.rsp
161 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/cw_mac.rsp
162 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/tiff.rsp
163 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/jpeg.rsp
164 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/utils.rsp
165 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/tex2rtf.rsp
166 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/ogl.rsp
167 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/xml.rsp
168 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/stc.rsp
169 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/contrib.rsp
170 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/deprecated.rsp
171 zip $ZIPFLAGS -u -@ $DESTDIR/wxMac-$VERSION.zip < $APPDIR/distrib/msw/makefile.rsp
172
173 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-CW-Mac.zip < $APPDIR/distrib/msw/cw_mac.rsp
174
175 rm -f $APPDIR/include/wx/setup.h
176
177 if [ -d $DESTDIR/wxWindows-$VERSION ]; then
178 rm -f -r $DESTDIR/wxWindows-$VERSION
179 fi
180
181 mkdir $DESTDIR/wxWindows-$VERSION
182 cd $DESTDIR/wxWindows-$VERSION
183 unzip $ZIPFLAGS ../wxMac-$VERSION.zip
184 rm -f src/gtk/descrip.mms src/motif/descrip.mms docs/pdf/*.pdf
1cb14841 185 rm -f -r docs/html/tex2rtf docs/htmlhelp
2ce79e48 186
71da8cff
JS
187 echo Copying readme files...
188 cp $APPDIR/docs/mac/readme.txt README-MAC.txt
189 cp $APPDIR/docs/mac/install.txt INSTALL-MAC.txt
190 cp $APPDIR/docs/licence.txt LICENCE.txt
191 cp $APPDIR/docs/lgpl.txt COPYING.LIB
192 cp $APPDIR/docs/changes.txt CHANGES.txt
193 cp $APPDIR/docs/readme.txt README.txt
194
2ce79e48
JS
195 cd $DESTDIR
196
197 rm -f wxMac-$VERSION.zip
198 zip $ZIPFLAGS -r wxMac-$VERSION.zip wxWindows-$VERSION/*
199}
200
201dospinmsw()
202{
203 cd $APPDIR
204
205 # Create wxWindows-$VERSION-win.zip which is used to create wxMSW
206 echo Zipping individual components
207 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/generic.rsp
208 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/makefile.rsp
209 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/msw.rsp
210 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/ogl.rsp
211 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/mmedia.rsp
212 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/stc.rsp
213 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/tex2rtf.rsp
214 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/jpeg.rsp
215 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/tiff.rsp
216 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/xml.rsp
217 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/contrib.rsp
218 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/deprecated.rsp
219 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/utils.rsp
220 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/utilmake.rsp
221 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-win.zip < $APPDIR/distrib/msw/univ.rsp
222
71da8cff
JS
223# rearchive wxWindows-$VERSION-win.zip wxWindows-$VERSION $DESTDIR
224
225 if [ -d $DESTDIR/wxWindows-$VERSION ]; then
226 rm -f -r $DESTDIR/wxWindows-$VERSION
227 fi
228
229 mkdir $DESTDIR/wxWindows-$VERSION
230 cd $DESTDIR/wxWindows-$VERSION
231 unzip $ZIPFLAGS ../wxWindows-$VERSION-win.zip
2ce79e48
JS
232
233 echo Removing .mms files
71da8cff
JS
234 rm -f src/gtk/descrip.mms src/motif/descrip.mms
235
236 echo Copying readme files...
237 cp $APPDIR/docs/msw/readme.txt README-MSW.txt
238 cp $APPDIR/docs/msw/install.txt INSTALL-MSW.txt
239 cp $APPDIR/docs/licence.txt LICENCE.txt
240 cp $APPDIR/docs/lgpl.txt COPYING.LIB
241 cp $APPDIR/docs/changes.txt CHANGES.txt
242 cp $APPDIR/docs/readme.txt README.txt
243
244 cd $DESTDIR
245
246 rm -f wxWindows-$VERSION-win.zip
247 zip $ZIPFLAGS -r wxWindows-$VERSION-win.zip wxWindows-$VERSION/*
2ce79e48
JS
248}
249
250dospindocs()
251{
252 cd $APPDIR
253
254 echo Creating $DESTDIR/wxWindows-$VERSION-DocSource.zip
255 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-DocSource.zip < $APPDIR/distrib/msw/docsrc.rsp
256 rearchive wxWindows-$VERSION-DocSource.zip wxWindows-$VERSION $DESTDIR
257
258 echo Creating $DESTDIR/wxWindows-$VERSION-WinHelp.zip
259 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-WinHelp.zip < $APPDIR/distrib/msw/wx_hlp.rsp
260 rearchive wxWindows-$VERSION-WinHelp.zip wxWindows-$VERSION $DESTDIR
261
262 echo Creating $DESTDIR/wxWindows-$VERSION-HTML.zip
263 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-HTML.zip < $APPDIR/distrib/msw/wx_html.rsp
264 rearchive wxWindows-$VERSION-HTML.zip wxWindows-$VERSION $DESTDIR
265
266 echo Creating $DESTDIR/wxWindows-$VERSION-PDF.zip
267 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-PDF.zip < $APPDIR/distrib/msw/wx_pdf.rsp
268 rearchive wxWindows-$VERSION-PDF.zip wxWindows-$VERSION $DESTDIR
269
270 # zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-Word.zip < $APPDIR/distrib/msw/wx_word.rsp
271 # rearchive wxWindows-$VERSION-Word.zip wxWindows-$VERSION $DESTDIR
272
273 echo Creating $DESTDIR/wxWindows-$VERSION-HTB.zip
274 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-HTB.zip < $APPDIR/distrib/msw/wx_htb.rsp
275 rearchive wxWindows-$VERSION-HTB.zip wxWindows-$VERSION $DESTDIR
276
277 echo Creating $DESTDIR/wxWindows-$VERSION-HTMLHelp.zip
278 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-HTMLHelp.zip < $APPDIR/distrib/msw/wx_chm.rsp
279 rearchive wxWindows-$VERSION-HTMLHelp.zip wxWindows-$VERSION $DESTDIR
280
281 # Add Linuxy docs to a separate archive to be transported to Linux for the
282 # Linux-based releases
283 echo Creating $DESTDIR/wxWindows-$VERSION-LinuxDocs.zip
284 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-LinuxDocs.zip < $APPDIR/distrib/msw/wx_html.rsp
285 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-LinuxDocs.zip < $APPDIR/distrib/msw/wx_pdf.rsp
286 zip $ZIPFLAGS -@ -u $DESTDIR/wxWindows-$VERSION-LinuxDocs.zip < $APPDIR/distrib/msw/wx_htb.rsp
287
288 # PDF/HTML docs that should go into the Windows setup because
289 # there are no WinHelp equivalents
290 echo Creating $DESTDIR/wxWindows-$VERSION-ExtraDoc.zip
291 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-ExtraDoc.zip < $APPDIR/distrib/msw/extradoc.rsp
292 rearchive wxWindows-$VERSION-ExtraDoc.zip wxWindows-$VERSION $DESTDIR
293}
294
295dospinmisc()
296{
297 cd $APPDIR
298
299 # zip up Univ-specific files
300 echo Creating $DESTDIR/wxWindows-$VERSION-Univ.zip
301 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-Univ.zip < $APPDIR/distrib/msw/univ.rsp
302 rearchive wxWindows-$VERSION-Univ.zip wxWindows-$VERSION $DESTDIR
303
304 # VC++ project files
305 echo Creating $DESTDIR/wxWindows-$VERSION-VC.zip
306 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-VC.zip < $APPDIR/distrib/msw/vc.rsp
307 # rearchive wxWindows-$VERSION-VC.zip wxWindows-$VERSION $DESTDIR
308
309 # BC++ project files
310 echo Creating $DESTDIR/wxWindows-$VERSION-BC.zip
311 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-BC.zip < $APPDIR/distrib/msw/bc.rsp
312 # rearchive wxWindows-$VERSION-BC.zip wxWindows-$VERSION $DESTDIR
313
314 # CodeWarrior project files
315 echo Creating $DESTDIR/wxWindows-$VERSION-CW.zip
316 zip $ZIPFLAGS -@ $DESTDIR/wxWindows-$VERSION-CW.zip < $APPDIR/distrib/msw/cw.rsp
317 # rearchive wxWindows-$VERSION-CW.zip wxWindows-$VERSION $DESTDIR
318}
319
320dospinsetup()
321{
322 cd $DESTDIR
323
324 # Put all archives for transit to Linux in a zip file
325 echo Creating $DESTDIR/wxWindows-$VERSION-LinuxTransit.zip
326 rm -f $DESTDIR/wxWindows-$VERSION-LinuxTransit.zip
327 zip $ZIPFLAGS $DESTDIR/wxWindows-$VERSION-LinuxTransit.zip wxWindows-$VERSION-LinuxDocs.zip wxWindows-$VERSION-VC.zip wxWindows-$VERSION-CW-Mac.zip
328
329 echo Unzipping the Windows files into wxWindows-$VERSION
330
331 unzip $ZIPFLAGS -o wxWindows-$VERSION-win.zip
332 unzip $ZIPFLAGS -o wxWindows-$VERSION-VC.zip -d wxWindows-$VERSION
333 unzip $ZIPFLAGS -o wxWindows-$VERSION-BC.zip -d wxWindows-$VERSION
334 unzip $ZIPFLAGS -o wxWindows-$VERSION-CW.zip -d wxWindows-$VERSION
335 unzip $ZIPFLAGS -o wxWindows-$VERSION-HTMLHelp.zip
336 unzip $ZIPFLAGS -o wxWindows-$VERSION-ExtraDoc.zip
337
338 # After this change of directory, we're in the
339 # temporary 'wx' directory and not acting on
340 # the source wxWindows directory.
341 cd $DESTDIR/wxWindows-$VERSION
342
343 # Now delete a few files that are unnecessary
344 #attrib -R *
345 rm -f BuildCVS.txt descrip.mms
346 rm -f setup.h_vms
347 rm -f docs/html/wxbook.htm docs/html/roadmap.htm
348 rm -f -r contrib/docs/latex/ogl
349 rm -f src/mingegcs.bat
350 rm -f distrib
351 rm -f *.spec
352 rm -f -r contrib/utils/wxrcedit
353
354 # Now cp some binary files to 'bin'
355 if [ ! -d bin ]; then
356 mkdir bin
357 fi
2ce79e48 358 cp $APPDIR/bin/tex2rtf.exe bin
b1c1e25b 359 cp $APPDIR/bin/tex2rtf.chm bin
2ce79e48 360 cp $APPDIR/bin/widgets.exe bin
2ce79e48 361 cp $APPDIR/bin/life.exe bin
2ce79e48 362 cp $APPDIR/demos/life/breeder.lif bin
2ce79e48
JS
363 cp $APPDIR/docs/htmlhelp/tex2rtf.chm bin
364
365 if [ ! -d docs/pdf ]; then
366 mkdir docs/pdf
367 fi
368 #cp $APPDIR/docs/pdf/wxTutorial.pdf docs/pdf
369
370 # Make wxMSW-xxx.zip
371 cd $DESTDIR
372 zip $ZIPFLAGS -r wxMSW-$VERSION.zip wxWindows-$VERSION/*
373 cd wxWindows-$VERSION
374
375 echo Generating $SETUPSCRIPTNAME
376 rm -f $SETUPSCRIPTNAME
377
378 sh $SCRIPTDIR/makeinno.sh $SETUPIMAGEDIR $INNOTOP $INNOBOTTOM $SETUPSCRIPTNAME
379
380 if [ ! -f $SETUPSCRIPTNAME ]; then
381 echo "*** Error - something went wrong with the script file generation."
382 exit 1
383 fi
384
385 # Now replace %VERSION% with the real application version, and other
386 # variables
387 echo Replacing variables in the setup script
388 doreplace $SETUPSCRIPTNAME "s/%VERSION%/$VERSION/g"
389 doreplace $SETUPSCRIPTNAME "s/%COPYRIGHTHOLDER%/$AUTHOR/g"
390 doreplace $SETUPSCRIPTNAME "s/%VENDOR%/$VENDOR/g"
391
392 unix2dosname $READMEFILE
393 doreplace $SETUPSCRIPTNAME "s;%READMEFILE%;$RETVALUE;g"
394
395 unix2dosname $READMEAFTERFILE
396 doreplace $SETUPSCRIPTNAME "s;%READMEAFTERFILE%;$RETVALUE;g"
397
398 unix2dosname $LICENSEFILE
399 doreplace $SETUPSCRIPTNAME "s;%LICENSEFILE%;$RETVALUE;g"
400
401 doreplace $SETUPSCRIPTNAME "s/%APPNAME%/$APPNAME/g"
402 doreplace $SETUPSCRIPTNAME "s/%APPTITLE%/$APPTITLE/g"
403
404 unix2dosname $SETUPIMAGEDIR
405 doreplace $SETUPSCRIPTNAME "s;%SOURCEDIR%;$RETVALUE;g"
406
407 unix2dosname $DESTDIR
408 doreplace $SETUPSCRIPTNAME "s;%OUTPUTDIR%;$RETVALUE;g"
409
410 doreplace $SETUPSCRIPTNAME "s/%APPEXTENSION%/$APPEXTENSION/g"
411
412 # FIXME: how do we get the first name in the list?
413 if [ "$MANUALFILES" != "" ]; then
414 HELPFILE=`basename $MANUALFILES`
415 unix2dosname $HELPFILE
416 doreplace $SETUPSCRIPTNAME "s;%HELPFILE%;$RETVALUE;g"
417 fi
418
419 rm -f $DESTDIR/setup*.*
420
421 # Inno Setup complains if this step is not done
422 unix2dos --unix2dos $SETUPSCRIPTNAME
423
424 # Now invoke INNO compiler on the new ISS file
425 # First, make a DOS filename or Inno Setup will get confused.
426
427 unix2dosname2 $SETUPSCRIPTNAME
428 DOSFILENAME=$RETVALUE
429
430 # Note: the double slash is Mingw32/MSYS convention for
431 # denoting a switch, that must not be converted into
432 # a path (otherwise /c = c:/)
433
434 cd `dirname $SETUPSCRIPTNAME`
435 BASESCRIPTNAME=`basename $SETUPSCRIPTNAME`
436 echo Invoking Inno Setup compiler on $BASESCRIPTNAME
437
438 "$SETUPCOMPILER" //cc $BASESCRIPTNAME
439
440 if [ ! -f $DESTDIR/setup.exe ]; then
441 echo "*** Error - the setup.exe was not generated."
442 exit
443 fi
444
445 cd $DESTDIR
446# mv setup.exe $APPNAME-$VERSION-setup.exe
447
448 echo Putting all the setup files into a single zip archive
449 zip wxMSW-$VERSION-setup.zip readme-$VERSION.txt setup*.*
450
451 rm -f wxWindows-$VERSION-win.zip
452 rm -f wxWindows-$VERSION-ExtraDoc.zip
453
454 echo If you saw no warnings or errors, $APPTITLE was successfully spun.
455 echo
456}
457
458makesetup()
459{
460# if [ -d $SETUPIMAGEDIR ]; then
461# echo Removing contents of existing $SETUPIMAGEDIR
462# rm -f -r $SETUPIMAGEDIR/*
463# fi
464
465 if [ ! -d $SETUPIMAGEDIR ]; then
466 echo Making the $SETUPIMAGEDIR for preparing the setup
467 mkdir -p $SETUPIMAGEDIR
468 fi
469
470 # Copying readmes
471 if [ "$READMEFILE" != "" ] && [ -f $READMEFILE ]; then
472 echo Copying readme.txt
473 cp $READMEFILE $SETUPIMAGEDIR
474# else
475# echo "*** Warning - $READMEFILE not found"
476 fi
477
478 if [ "$LICENSEFILE" != "" ] && [ -f $LICENSEFILE ]; then
479 echo Copying licence.txt
480 cp $LICENSEFILE $SETUPIMAGEDIR
481 # else
482 # echo "*** Warning - $LICENSEFILE not found"
483 fi
484
485 if [ "$MAKEMANUAL" != "0" ]; then
486 if [ -d $MANUALDIR ]; then
487 cd $MANUALDIR
488 make
489 else
490 echo "*** Warning - $MANUALDIR not found"
491 fi
492 fi
493
494 rm -f $DESTDIR/wx*.zip
495 rm -f $DESTDIR/*.htb
496 rm -f $DESTDIR/ogl3*.zip
497 rm -f $DESTDIR/contrib*.zip
498 rm -f $DESTDIR/tex2rtf2*.zip
499 rm -f $DESTDIR/mmedia*.zip
500 rm -f $DESTDIR/jpeg*.zip
501 rm -f $DESTDIR/tiff*.zip
502 rm -f $DESTDIR/utils*.zip
503 rm -f $DESTDIR/extradoc*.zip
504 rm -f $DESTDIR/stc*.zip
505 rm -f $DESTDIR/*-win32*.zip
506 rm -f $DESTDIR/setup*.*
507 rm -f $DESTDIR/*.txt
508 rm -f $DESTDIR/make*
509
510 if [ -d $DESTDIR/wx ]; then
511 rm -f -r $DESTDIR/wx
512 fi
513
514 if [ ! -d $DESTDIR ]; then
515 mkdir $DESTDIR
516 fi
517 if [ -d $DESTDIR/wxWindows-$VERSION ]; then
518 rm -f -r $DESTDIR/wxWindows-$VERSION
519 fi
520
521 # Copy FAQ from wxWebSite CVS
522 if [ ! -d $WEBFILES ]; then
523 echo Error - $WEBFILES does not exist
524 exit
525 fi
526
527 echo Copying FAQ and other files from $WEBFILES
528 cp $WEBFILES/site/faq*.htm $APPDIR/docs/html
529 cp $WEBFILES/site/platform.htm $APPDIR/docs/html
530 cp $WEBFILES/site/i18n.htm $APPDIR/docs/html
531
532 # Copy setup0.h files to setup.h
533 cp $APPDIR/include/wx/os2/setup0.h $APPDIR/include/wx/os2/setup.h
534 cp $APPDIR/include/wx/msw/setup0.h $APPDIR/include/wx/msw/setup.h
535 cp $APPDIR/include/wx/univ/setup0.h $APPDIR/include/wx/univ/setup.h
536
537 # Do OS/2 spin
538 if [ "$SPINOS2" = "1" ] || [ "$SPINALL" = "1" ]; then
539 dospinos2
540 fi
541
542 # Do Mac spin
543 if [ "$SPINMAC" = "1" ] || [ "$SPINALL" = "1" ]; then
544 dospinmac
545 fi
546
547 # Do MSW spin
548 if [ "$SPINMSW" = "1" ] || [ "$SPINALL" = "1" ]; then
549 dospinmsw
550 fi
551
552 # Do docs spin
553 if [ "$SPINDOCS" = "1" ] || [ "$SPINALL" = "1" ]; then
554 dospindocs
555 fi
556
557 # Do misc files spin
558 dospinmisc
559
560 cp $APPDIR/docs/changes.txt $DESTDIR/changes-$VERSION.txt
561 cp $APPDIR/docs/msw/install.txt $DESTDIR/install-msw-$VERSION.txt
562 cp $APPDIR/docs/mac/install.txt $DESTDIR/install-mac-$VERSION.txt
563 cp $APPDIR/docs/motif/install.txt $DESTDIR/install-motif-$VERSION.txt
564 cp $APPDIR/docs/gtk/install.txt $DESTDIR/install-gtk-$VERSION.txt
565 cp $APPDIR/docs/x11/install.txt $DESTDIR/install-x11-$VERSION.txt
566 cp $APPDIR/docs/readme.txt $DESTDIR/readme-$VERSION.txt
567 cp $APPDIR/docs/motif/readme.txt $DESTDIR/readme-motif-$VERSION.txt
568 cp $APPDIR/docs/gtk/readme.txt $DESTDIR/readme-gtk-$VERSION.txt
569 cp $APPDIR/docs/x11/readme.txt $DESTDIR/readme-x11-$VERSION.txt
570 cp $APPDIR/docs/x11/readme-nanox.txt $DESTDIR/readme-nanox-$VERSION.txt
571 cp $APPDIR/docs/msw/readme.txt $DESTDIR/readme-msw-$VERSION.txt
572 cp $APPDIR/docs/mac/readme.txt $DESTDIR/readme-mac-$VERSION.txt
573 cp $APPDIR/docs/base/readme.txt $DESTDIR/readme-base-$VERSION.txt
574 cp $APPDIR/docs/os2/install.txt $DESTDIR/install-os2-$VERSION.txt
575 cp $APPDIR/docs/univ/readme.txt $DESTDIR/readme-univ-$VERSION.txt
576 cp $APPDIR/docs/readme_vms.txt $DESTDIR/readme-vms-$VERSION.txt
577 # cp $APPDIR/docs/motif/makewxmotif $DESTDIR/makewxmotif-$VERSION
578 # cp $APPDIR/docs/gtk/makewxgtk $DESTDIR/makewxgtk-$VERSION
579
580 # Time to regenerate the Inno Install script
581 if [ "$INNO" != "0" ]; then
582 dospinsetup
583 fi
584}
585
586# We can't use e.g. this:
587# ls `cat $SRC/distrib/msw/makefile.rsp` zip -@ -u $DEST/wxWindows-$VERSION-gen.zip
588# because there's not enough space on the command line, plus we need to ignore the
589# blank lines.
590# So if we need to (not in this script so far) we do something like this instead:
591# expandlines $SRC/setup/files.rsp temp.txt
592# zip -@ `$CYGPATHPROG -w $DEST/archive.zip` < temp.txt
593
594expandlines()
595{
596 toexpand=$1
597 outputfile=$2
598
599 rm -f $outputfile
600 touch $outputfile
601 for line in `cat $toexpand` ; do
602 if [ $line != "" ]; then
603 ls $line >> $outputfile
604 fi
605 done
606}
607
608usage()
609{
610 echo "Usage: $PROGNAME [ options ]" 1>&2
611 echo Options:
612 echo " --help Display this help message"
613 echo " --upx Compress executable with UPX"
614 echo " --no-upx Do not compress executable with UPX"
615 echo " --inno Build the setup.exe"
616 echo " --no-inno Do not build the setup.exe"
617 echo " --wxmac Build wxMac distribution"
618 echo " --wxmsw Build wxMSW distribution"
619 echo " --wxos2 Build wxOS2 distribution"
620 echo " --docs Build docs archives"
621 echo " --all Build all distributions (the default)"
b1c1e25b 622 echo " --verbose Verbose zip operation"
2ce79e48
JS
623 echo.
624 echo Note that options only override settings in $SCRIPTDIR/setup.var.
625 exit 1
626}
627
628# Process command line options.
629
630for i in "$@"; do
631 case "$i" in
632 --inno) INNO=1 ;;
633 --no-inno) INNO=0 ;;
634 --upx) UPX=1 ;;
635 --no-upx) UPX=0 ;;
636 --wxmac) SPINMAC=1; SPINALL=0 ;;
637 --wxmsw) SPINMSW=1; SPINALL=0 ;;
638 --wxos2) SPINOS2=1; SPINALL=0 ;;
639 --docs) SPINDOCS=1; SPINALL=0 ;;
640 --all) SPINALL=1 ;;
641 --verbose) VERBOSE=1 ;;
642 *)
643 usage
644 exit
645 ;;
646 esac
647done
648
649doinit
650
651# findversion
652makesetup
653