]> git.saurik.com Git - wxWidgets.git/blob - distrib/msw/makesetup.sh
473e2fe5bd37a758163490bac864c61fca420387
[wxWidgets.git] / distrib / msw / makesetup.sh
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
9 CYGPATHPROG=cygpath
10 #CYGPATHPROG=echo
11
12 INNO=1
13 SPINMSW=0
14 SPINMAC=0
15 SPINOS2=0
16 SPINDOCS=1
17 SPINALL=1
18 VERBOSE=0
19 ZIPFLAGS=
20
21 PROGNAME=$0
22 SCRIPTDIR=$WXWIN/distrib/msw
23 WEBFILES=c:/wx2dev/wxWebSite
24 # Set this to the required version
25 VERSION=2.5.1
26
27 . $SCRIPTDIR/setup.var
28
29 doreplace()
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
42 unix2dosname()
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
49 unix2dosname2()
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
56 doinit()
57 {
58 if [ "$VERBOSE" != "1" ]; then
59 ZIPFLAGS=-q
60 fi
61 }
62
63 rearchive()
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
88 findversion()
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
98 dospinos2()
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
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
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
131 rm -f -r docs/html/dialoged docs/html/tex2rtf
132
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
137
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
145 cd $DESTDIR
146
147 rm -f wxOS2-$VERSION.zip
148 zip $ZIPFLAGS -r wxOS2-$VERSION.zip wxWindows-$VERSION/*
149 }
150
151 dospinmac()
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
185 rm -f -r docs/html/dialoged docs/html/tex2rtf docs/htmlhelp
186
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
195 cd $DESTDIR
196
197 rm -f wxMac-$VERSION.zip
198 zip $ZIPFLAGS -r wxMac-$VERSION.zip wxWindows-$VERSION/*
199 }
200
201 dospinmsw()
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
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
232
233 echo Removing .mms files
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/*
248 }
249
250 dospindocs()
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
295 dospinmisc()
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
320 dospinsetup()
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
358 #cp $APPDIR/bin/dialoged.exe bin
359 #cp $APPDIR/bin/dialoged.hlp bin
360 #cp $APPDIR/bin/dialoged.chm bin
361 cp $APPDIR/bin/tex2rtf.exe bin
362 cp $APPDIR/bin/tex2rtf.chm bin
363 cp $APPDIR/bin/widgets.exe bin
364 cp $APPDIR/bin/life.exe bin
365 cp $APPDIR/demos/life/breeder.lif bin
366 #cp $APPDIR/docs/htmlhelp/dialoged.chm bin
367 cp $APPDIR/docs/htmlhelp/tex2rtf.chm bin
368
369 if [ ! -d docs/pdf ]; then
370 mkdir docs/pdf
371 fi
372 #cp $APPDIR/docs/pdf/wxTutorial.pdf docs/pdf
373
374 # Make wxMSW-xxx.zip
375 cd $DESTDIR
376 zip $ZIPFLAGS -r wxMSW-$VERSION.zip wxWindows-$VERSION/*
377 cd wxWindows-$VERSION
378
379 echo Generating $SETUPSCRIPTNAME
380 rm -f $SETUPSCRIPTNAME
381
382 sh $SCRIPTDIR/makeinno.sh $SETUPIMAGEDIR $INNOTOP $INNOBOTTOM $SETUPSCRIPTNAME
383
384 if [ ! -f $SETUPSCRIPTNAME ]; then
385 echo "*** Error - something went wrong with the script file generation."
386 exit 1
387 fi
388
389 # Now replace %VERSION% with the real application version, and other
390 # variables
391 echo Replacing variables in the setup script
392 doreplace $SETUPSCRIPTNAME "s/%VERSION%/$VERSION/g"
393 doreplace $SETUPSCRIPTNAME "s/%COPYRIGHTHOLDER%/$AUTHOR/g"
394 doreplace $SETUPSCRIPTNAME "s/%VENDOR%/$VENDOR/g"
395
396 unix2dosname $READMEFILE
397 doreplace $SETUPSCRIPTNAME "s;%READMEFILE%;$RETVALUE;g"
398
399 unix2dosname $READMEAFTERFILE
400 doreplace $SETUPSCRIPTNAME "s;%READMEAFTERFILE%;$RETVALUE;g"
401
402 unix2dosname $LICENSEFILE
403 doreplace $SETUPSCRIPTNAME "s;%LICENSEFILE%;$RETVALUE;g"
404
405 doreplace $SETUPSCRIPTNAME "s/%APPNAME%/$APPNAME/g"
406 doreplace $SETUPSCRIPTNAME "s/%APPTITLE%/$APPTITLE/g"
407
408 unix2dosname $SETUPIMAGEDIR
409 doreplace $SETUPSCRIPTNAME "s;%SOURCEDIR%;$RETVALUE;g"
410
411 unix2dosname $DESTDIR
412 doreplace $SETUPSCRIPTNAME "s;%OUTPUTDIR%;$RETVALUE;g"
413
414 doreplace $SETUPSCRIPTNAME "s/%APPEXTENSION%/$APPEXTENSION/g"
415
416 # FIXME: how do we get the first name in the list?
417 if [ "$MANUALFILES" != "" ]; then
418 HELPFILE=`basename $MANUALFILES`
419 unix2dosname $HELPFILE
420 doreplace $SETUPSCRIPTNAME "s;%HELPFILE%;$RETVALUE;g"
421 fi
422
423 rm -f $DESTDIR/setup*.*
424
425 # Inno Setup complains if this step is not done
426 unix2dos --unix2dos $SETUPSCRIPTNAME
427
428 # Now invoke INNO compiler on the new ISS file
429 # First, make a DOS filename or Inno Setup will get confused.
430
431 unix2dosname2 $SETUPSCRIPTNAME
432 DOSFILENAME=$RETVALUE
433
434 # Note: the double slash is Mingw32/MSYS convention for
435 # denoting a switch, that must not be converted into
436 # a path (otherwise /c = c:/)
437
438 cd `dirname $SETUPSCRIPTNAME`
439 BASESCRIPTNAME=`basename $SETUPSCRIPTNAME`
440 echo Invoking Inno Setup compiler on $BASESCRIPTNAME
441
442 "$SETUPCOMPILER" //cc $BASESCRIPTNAME
443
444 if [ ! -f $DESTDIR/setup.exe ]; then
445 echo "*** Error - the setup.exe was not generated."
446 exit
447 fi
448
449 cd $DESTDIR
450 # mv setup.exe $APPNAME-$VERSION-setup.exe
451
452 echo Putting all the setup files into a single zip archive
453 zip wxMSW-$VERSION-setup.zip readme-$VERSION.txt setup*.*
454
455 rm -f wxWindows-$VERSION-win.zip
456 rm -f wxWindows-$VERSION-ExtraDoc.zip
457
458 echo If you saw no warnings or errors, $APPTITLE was successfully spun.
459 echo
460 }
461
462 makesetup()
463 {
464 # if [ -d $SETUPIMAGEDIR ]; then
465 # echo Removing contents of existing $SETUPIMAGEDIR
466 # rm -f -r $SETUPIMAGEDIR/*
467 # fi
468
469 if [ ! -d $SETUPIMAGEDIR ]; then
470 echo Making the $SETUPIMAGEDIR for preparing the setup
471 mkdir -p $SETUPIMAGEDIR
472 fi
473
474 # Copying readmes
475 if [ "$READMEFILE" != "" ] && [ -f $READMEFILE ]; then
476 echo Copying readme.txt
477 cp $READMEFILE $SETUPIMAGEDIR
478 # else
479 # echo "*** Warning - $READMEFILE not found"
480 fi
481
482 if [ "$LICENSEFILE" != "" ] && [ -f $LICENSEFILE ]; then
483 echo Copying licence.txt
484 cp $LICENSEFILE $SETUPIMAGEDIR
485 # else
486 # echo "*** Warning - $LICENSEFILE not found"
487 fi
488
489 if [ "$MAKEMANUAL" != "0" ]; then
490 if [ -d $MANUALDIR ]; then
491 cd $MANUALDIR
492 make
493 else
494 echo "*** Warning - $MANUALDIR not found"
495 fi
496 fi
497
498 rm -f $DESTDIR/wx*.zip
499 rm -f $DESTDIR/*.htb
500 rm -f $DESTDIR/ogl3*.zip
501 rm -f $DESTDIR/contrib*.zip
502 rm -f $DESTDIR/tex2rtf2*.zip
503 rm -f $DESTDIR/mmedia*.zip
504 rm -f $DESTDIR/jpeg*.zip
505 rm -f $DESTDIR/tiff*.zip
506 rm -f $DESTDIR/utils*.zip
507 rm -f $DESTDIR/extradoc*.zip
508 rm -f $DESTDIR/stc*.zip
509 rm -f $DESTDIR/*-win32*.zip
510 rm -f $DESTDIR/setup*.*
511 rm -f $DESTDIR/*.txt
512 rm -f $DESTDIR/make*
513
514 if [ -d $DESTDIR/wx ]; then
515 rm -f -r $DESTDIR/wx
516 fi
517
518 if [ ! -d $DESTDIR ]; then
519 mkdir $DESTDIR
520 fi
521 if [ -d $DESTDIR/wxWindows-$VERSION ]; then
522 rm -f -r $DESTDIR/wxWindows-$VERSION
523 fi
524
525 # Copy FAQ from wxWebSite CVS
526 if [ ! -d $WEBFILES ]; then
527 echo Error - $WEBFILES does not exist
528 exit
529 fi
530
531 echo Copying FAQ and other files from $WEBFILES
532 cp $WEBFILES/site/faq*.htm $APPDIR/docs/html
533 cp $WEBFILES/site/platform.htm $APPDIR/docs/html
534 cp $WEBFILES/site/i18n.htm $APPDIR/docs/html
535
536 # Copy setup0.h files to setup.h
537 cp $APPDIR/include/wx/os2/setup0.h $APPDIR/include/wx/os2/setup.h
538 cp $APPDIR/include/wx/msw/setup0.h $APPDIR/include/wx/msw/setup.h
539 cp $APPDIR/include/wx/univ/setup0.h $APPDIR/include/wx/univ/setup.h
540
541 # Do OS/2 spin
542 if [ "$SPINOS2" = "1" ] || [ "$SPINALL" = "1" ]; then
543 dospinos2
544 fi
545
546 # Do Mac spin
547 if [ "$SPINMAC" = "1" ] || [ "$SPINALL" = "1" ]; then
548 dospinmac
549 fi
550
551 # Do MSW spin
552 if [ "$SPINMSW" = "1" ] || [ "$SPINALL" = "1" ]; then
553 dospinmsw
554 fi
555
556 # Do docs spin
557 if [ "$SPINDOCS" = "1" ] || [ "$SPINALL" = "1" ]; then
558 dospindocs
559 fi
560
561 # Do misc files spin
562 dospinmisc
563
564 cp $APPDIR/docs/changes.txt $DESTDIR/changes-$VERSION.txt
565 cp $APPDIR/docs/msw/install.txt $DESTDIR/install-msw-$VERSION.txt
566 cp $APPDIR/docs/mac/install.txt $DESTDIR/install-mac-$VERSION.txt
567 cp $APPDIR/docs/motif/install.txt $DESTDIR/install-motif-$VERSION.txt
568 cp $APPDIR/docs/gtk/install.txt $DESTDIR/install-gtk-$VERSION.txt
569 cp $APPDIR/docs/x11/install.txt $DESTDIR/install-x11-$VERSION.txt
570 cp $APPDIR/docs/readme.txt $DESTDIR/readme-$VERSION.txt
571 cp $APPDIR/docs/motif/readme.txt $DESTDIR/readme-motif-$VERSION.txt
572 cp $APPDIR/docs/gtk/readme.txt $DESTDIR/readme-gtk-$VERSION.txt
573 cp $APPDIR/docs/x11/readme.txt $DESTDIR/readme-x11-$VERSION.txt
574 cp $APPDIR/docs/x11/readme-nanox.txt $DESTDIR/readme-nanox-$VERSION.txt
575 cp $APPDIR/docs/msw/readme.txt $DESTDIR/readme-msw-$VERSION.txt
576 cp $APPDIR/docs/mac/readme.txt $DESTDIR/readme-mac-$VERSION.txt
577 cp $APPDIR/docs/base/readme.txt $DESTDIR/readme-base-$VERSION.txt
578 cp $APPDIR/docs/os2/install.txt $DESTDIR/install-os2-$VERSION.txt
579 cp $APPDIR/docs/univ/readme.txt $DESTDIR/readme-univ-$VERSION.txt
580 cp $APPDIR/docs/readme_vms.txt $DESTDIR/readme-vms-$VERSION.txt
581 # cp $APPDIR/docs/motif/makewxmotif $DESTDIR/makewxmotif-$VERSION
582 # cp $APPDIR/docs/gtk/makewxgtk $DESTDIR/makewxgtk-$VERSION
583
584 # Time to regenerate the Inno Install script
585 if [ "$INNO" != "0" ]; then
586 dospinsetup
587 fi
588 }
589
590 # We can't use e.g. this:
591 # ls `cat $SRC/distrib/msw/makefile.rsp` zip -@ -u $DEST/wxWindows-$VERSION-gen.zip
592 # because there's not enough space on the command line, plus we need to ignore the
593 # blank lines.
594 # So if we need to (not in this script so far) we do something like this instead:
595 # expandlines $SRC/setup/files.rsp temp.txt
596 # zip -@ `$CYGPATHPROG -w $DEST/archive.zip` < temp.txt
597
598 expandlines()
599 {
600 toexpand=$1
601 outputfile=$2
602
603 rm -f $outputfile
604 touch $outputfile
605 for line in `cat $toexpand` ; do
606 if [ $line != "" ]; then
607 ls $line >> $outputfile
608 fi
609 done
610 }
611
612 usage()
613 {
614 echo "Usage: $PROGNAME [ options ]" 1>&2
615 echo Options:
616 echo " --help Display this help message"
617 echo " --upx Compress executable with UPX"
618 echo " --no-upx Do not compress executable with UPX"
619 echo " --inno Build the setup.exe"
620 echo " --no-inno Do not build the setup.exe"
621 echo " --wxmac Build wxMac distribution"
622 echo " --wxmsw Build wxMSW distribution"
623 echo " --wxos2 Build wxOS2 distribution"
624 echo " --docs Build docs archives"
625 echo " --all Build all distributions (the default)"
626 echo " --verbose Verbose zip operation"
627 echo.
628 echo Note that options only override settings in $SCRIPTDIR/setup.var.
629 exit 1
630 }
631
632 # Process command line options.
633
634 for i in "$@"; do
635 case "$i" in
636 --inno) INNO=1 ;;
637 --no-inno) INNO=0 ;;
638 --upx) UPX=1 ;;
639 --no-upx) UPX=0 ;;
640 --wxmac) SPINMAC=1; SPINALL=0 ;;
641 --wxmsw) SPINMSW=1; SPINALL=0 ;;
642 --wxos2) SPINOS2=1; SPINALL=0 ;;
643 --docs) SPINDOCS=1; SPINALL=0 ;;
644 --all) SPINALL=1 ;;
645 --verbose) VERBOSE=1 ;;
646 *)
647 usage
648 exit
649 ;;
650 esac
651 done
652
653 doinit
654
655 # findversion
656 makesetup
657