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