]> git.saurik.com Git - wxWidgets.git/blob - distrib/scripts/msw/makesetup.sh
Generate wxMSW zip even if we've turned off InnoSetup.
[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 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 # VC++ project files
315 echo Creating $DESTDIR/wxWidgets-$VERSION-VC.zip
316 expandlines $MANIFESTDIR/vc.rsp /tmp/vcfiles
317 zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-VC.zip < /tmp/vcfiles
318 rearchive wxWidgets-$VERSION-VC.zip wxWidgets-$VERSION $DESTDIR
319
320 # eVC++ project files
321 echo Creating $DESTDIR/wxWidgets-$VERSION-eVC.zip
322 expandlines $MANIFESTDIR/wince.rsp /tmp/wincefiles
323 zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-eVC.zip < /tmp/wincefiles
324 rearchive wxWidgets-$VERSION-eVC.zip wxWidgets-$VERSION $DESTDIR
325
326 # DMC project files
327 echo Creating $DESTDIR/wxWidgets-$VERSION-DMC.zip
328 expandlines $MANIFESTDIR/dmc.rsp /tmp/dmcfiles
329 zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-DMC.zip < /tmp/dmcfiles
330 rearchive wxWidgets-$VERSION-DMC.zip wxWidgets-$VERSION $DESTDIR
331
332 # BC++ project files
333 echo Creating $DESTDIR/wxWidgets-$VERSION-BC.zip
334 expandlines $MANIFESTDIR/bc.rsp /tmp/bcfiles
335 zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-BC.zip < /tmp/bcfiles
336 rearchive wxWidgets-$VERSION-BC.zip wxWidgets-$VERSION $DESTDIR
337
338 # CodeWarrior project files
339 echo Creating $DESTDIR/wxWidgets-$VERSION-CW.zip
340 expandlines $MANIFESTDIR/cw.rsp /tmp/cwfiles
341 zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-CW.zip < /tmp/cwfiles
342 rearchive wxWidgets-$VERSION-CW.zip wxWidgets-$VERSION $DESTDIR
343 }
344
345 dospininstaller()
346 {
347 cd $DESTDIR
348
349 # Put all archives for transit to Linux in a zip file
350 echo Creating $DESTDIR/wxWidgets-$VERSION-LinuxTransit.zip
351 rm -f $DESTDIR/wxWidgets-$VERSION-LinuxTransit.zip
352 zip $ZIPFLAGS $DESTDIR/wxWidgets-$VERSION-LinuxTransit.zip wxWidgets-$VERSION-LinuxDocs.zip wxWidgets-$VERSION-VC.zip wxWidgets-$VERSION-DMC.zip wxWidgets-$VERSION-eVC.zip wxWidgets-$VERSION-CW-Mac.zip
353
354 rm -f -r wxWidgets-$VERSION
355
356 echo Unzipping the Windows files into wxWidgets-$VERSION
357
358 mkdir -p wxWidgets-$VERSION
359
360 unzip $ZIPFLAGS -o wxWidgets-$VERSION-win.zip -d wxWidgets-$VERSION
361 unzip $ZIPFLAGS -o wxWidgets-$VERSION-VC.zip -d wxWidgets-$VERSION
362 unzip $ZIPFLAGS -o wxWidgets-$VERSION-DMC.zip -d wxWidgets-$VERSION
363 unzip $ZIPFLAGS -o wxWidgets-$VERSION-BC.zip -d wxWidgets-$VERSION
364 unzip $ZIPFLAGS -o wxWidgets-$VERSION-CW.zip -d wxWidgets-$VERSION
365
366 unzip $ZIPFLAGS -o wxWidgets-$VERSION-HTMLHelp.zip
367 unzip $ZIPFLAGS -o wxWidgets-$VERSION-ExtraDoc.zip
368
369 # After this change of directory, we're in the
370 # temporary 'wx' directory and not acting on
371 # the source wxWidgets directory.
372 cd $DESTDIR/wxWidgets-$VERSION
373
374 # Now delete a few files that are unnecessary
375 #attrib -R *
376 rm -f BuildCVS.txt descrip.mms
377 rm -f setup.h_vms
378 rm -f docs/html/wxbook.htm docs/html/roadmap.htm
379 rm -f -r contrib/docs/latex/ogl
380 rm -f src/mingegcs.bat
381 rm -f -r distrib
382 rm -f *.spec
383 rm -f src/gtk/descrip.mms src/motif/descrip.mms
384
385 echo Copying readme files...
386 cp $APPDIR/docs/msw/readme.txt README-MSW.txt
387 cp $APPDIR/docs/msw/install.txt INSTALL-MSW.txt
388 cp $APPDIR/docs/licence.txt LICENCE.txt
389 cp $APPDIR/docs/lgpl.txt COPYING.LIB
390 cp $APPDIR/docs/changes.txt CHANGES.txt
391 cp $APPDIR/docs/readme.txt README.txt
392
393 # Disabled for now - Now cp some binary files to 'bin'
394 if [ ! -d bin ]; then
395 mkdir bin
396 fi
397
398 cp $APPDIR/bin/tex2rtf.exe bin
399 cp $APPDIR/bin/tex2rtf.chm bin
400 cp $APPDIR/bin/widgets.exe bin
401 cp $APPDIR/bin/life.exe bin
402 cp $APPDIR/demos/life/breeder.lif bin
403 cp $APPDIR/docs/htmlhelp/tex2rtf.chm bin
404
405 if [ ! -d docs/pdf ]; then
406 mkdir docs/pdf
407 fi
408 #cp $APPDIR/docs/pdf/wxTutorial.pdf docs/pdf
409
410 # Make wxMSW-xxx.zip
411 cd $DESTDIR
412 zip $ZIPFLAGS -r wxMSW-$VERSION.zip wxWidgets-$VERSION/*
413 cd wxWidgets-$VERSION
414
415 if ["$INNO" != "0"]; then
416 echo Generating $SETUPSCRIPTNAME
417 rm -f $SETUPSCRIPTNAME
418
419 sh $SCRIPTDIR/msw/makeinno.sh $SETUPIMAGEDIR $INNOTOP $INNOBOTTOM $SETUPSCRIPTNAME
420
421 if [ ! -f $SETUPSCRIPTNAME ]; then
422 echo "*** Error - something went wrong with the script file generation."
423 exit 1
424 fi
425
426 # Now replace %VERSION% with the real application version, and other
427 # variables
428 echo Replacing variables in the setup script
429 doreplace $SETUPSCRIPTNAME "s/%VERSION%/$VERSION/g"
430 doreplace $SETUPSCRIPTNAME "s/%COPYRIGHTHOLDER%/$AUTHOR/g"
431 doreplace $SETUPSCRIPTNAME "s/%VENDOR%/$VENDOR/g"
432
433 unix2dosname $READMEFILE
434 doreplace $SETUPSCRIPTNAME "s;%READMEFILE%;$RETVALUE;g"
435
436 unix2dosname $READMEAFTERFILE
437 doreplace $SETUPSCRIPTNAME "s;%READMEAFTERFILE%;$RETVALUE;g"
438
439 unix2dosname $LICENSEFILE
440 doreplace $SETUPSCRIPTNAME "s;%LICENSEFILE%;$RETVALUE;g"
441
442 doreplace $SETUPSCRIPTNAME "s/%APPNAME%/$APPNAME/g"
443 doreplace $SETUPSCRIPTNAME "s/%APPTITLE%/$APPTITLE/g"
444
445 unix2dosname $SETUPIMAGEDIR
446 doreplace $SETUPSCRIPTNAME "s;%SOURCEDIR%;$RETVALUE;g"
447
448 unix2dosname $DESTDIR
449 doreplace $SETUPSCRIPTNAME "s;%OUTPUTDIR%;$RETVALUE;g"
450
451 doreplace $SETUPSCRIPTNAME "s/%APPEXTENSION%/$APPEXTENSION/g"
452
453 # FIXME: how do we get the first name in the list?
454 if [ "$MANUALFILES" != "" ]; then
455 HELPFILE=`basename $MANUALFILES`
456 unix2dosname $HELPFILE
457 doreplace $SETUPSCRIPTNAME "s;%HELPFILE%;$RETVALUE;g"
458 fi
459
460 rm -f $DESTDIR/setup*.* $DESTDIR/wxMSW-$VERSION-Setup.exe
461
462 # Inno Setup complains if this step is not done
463 unix2dos --unix2dos $SETUPSCRIPTNAME
464
465 # Now invoke INNO compiler on the new ISS file
466 # First, make a DOS filename or Inno Setup will get confused.
467
468 unix2dosname2 $SETUPSCRIPTNAME
469 DOSFILENAME=$RETVALUE
470
471 # Note: the double slash is Mingw32/MSYS convention for
472 # denoting a switch, that must not be converted into
473 # a path (otherwise /c = c:/)
474
475 cd `dirname $SETUPSCRIPTNAME`
476 BASESCRIPTNAME=`basename $SETUPSCRIPTNAME`
477 echo Invoking Inno Setup compiler on $BASESCRIPTNAME
478
479 "$SETUPCOMPILER" //cc $BASESCRIPTNAME
480
481 if [ ! -f $DESTDIR/setup.exe ]; then
482 echo "*** Error - the setup.exe was not generated."
483 exit
484 fi
485
486 cd $DESTDIR
487 mv setup.exe wxMSW-$VERSION-Setup.exe
488
489 fi
490 # echo Putting all the setup files into a single zip archive
491 # zip wxMSW-$VERSION-setup.zip readme-$VERSION.txt setup*.*
492
493 rm -f wxWidgets-$VERSION-win.zip
494 rm -f wxWidgets-$VERSION-ExtraDoc.zip
495 rm -f wxWidgets-$VERSION-DMC.zip
496 rm -f wxWidgets-$VERSION-eVC.zip
497 rm -f wxWidgets-$VERSION-Univ.zip
498 rm -f wxWidgets-$VERSION-VC.zip
499 rm -f wxWidgets-$VERSION-DocSource.zip
500 rm -f wxWidgets-$VERSION-LinuxDocs.zip
501
502 echo If you saw no warnings or errors, $APPTITLE was successfully spun.
503 echo
504 }
505
506 makesetup()
507 {
508 # if [ -d $SETUPIMAGEDIR ]; then
509 # echo Removing contents of existing $SETUPIMAGEDIR
510 # rm -f -r $SETUPIMAGEDIR/*
511 # fi
512
513 if [ ! -d $SETUPIMAGEDIR ]; then
514 echo Making the $SETUPIMAGEDIR for preparing the setup
515 mkdir -p $SETUPIMAGEDIR
516 fi
517
518 # Copying readmes
519 if [ "$READMEFILE" != "" ] && [ -f $READMEFILE ]; then
520 echo Copying readme.txt
521 cp $READMEFILE $SETUPIMAGEDIR
522 # else
523 # echo "*** Warning - $READMEFILE not found"
524 fi
525
526 if [ "$LICENSEFILE" != "" ] && [ -f $LICENSEFILE ]; then
527 echo Copying licence.txt
528 cp $LICENSEFILE $SETUPIMAGEDIR
529 # else
530 # echo "*** Warning - $LICENSEFILE not found"
531 fi
532
533 if [ "$MAKEMANUAL" != "0" ]; then
534 if [ -d $MANUALDIR ]; then
535 cd $MANUALDIR
536 make
537 else
538 echo "*** Warning - $MANUALDIR not found"
539 fi
540 fi
541
542 rm -f $DESTDIR/wx*.zip
543 rm -f $DESTDIR/*.htb
544 rm -f $DESTDIR/ogl3*.zip
545 rm -f $DESTDIR/contrib*.zip
546 rm -f $DESTDIR/tex2rtf2*.zip
547 rm -f $DESTDIR/mmedia*.zip
548 rm -f $DESTDIR/jpeg*.zip
549 rm -f $DESTDIR/tiff*.zip
550 rm -f $DESTDIR/utils*.zip
551 rm -f $DESTDIR/extradoc*.zip
552 rm -f $DESTDIR/stc*.zip
553 rm -f $DESTDIR/*-win32*.zip
554 rm -f $DESTDIR/setup*.*
555 rm -f $DESTDIR/*.txt
556 rm -f $DESTDIR/make*
557
558 if [ -d $DESTDIR/wx ]; then
559 rm -f -r $DESTDIR/wx
560 fi
561
562 if [ ! -d $DESTDIR ]; then
563 mkdir $DESTDIR
564 fi
565 if [ -d $DESTDIR/wxWidgets-$VERSION ]; then
566 rm -f -r $DESTDIR/wxWidgets-$VERSION
567 fi
568
569 # Copy FAQ from wxWebSite CVS
570 #if [ ! -d $WEBFILES ]; then
571 # echo Error - $WEBFILES does not exist
572 # exit
573 #fi
574
575 echo Copying FAQ and other files from $WEBFILES
576 cp $WEBFILES/site/faq*.htm $APPDIR/docs/html
577 cp $WEBFILES/site/platform.htm $APPDIR/docs/html
578 cp $WEBFILES/site/i18n.htm $APPDIR/docs/html
579
580 # Copy setup0.h files to setup.h
581 # OS/2 always built with configure now
582 # cp $APPDIR/include/wx/os2/setup0.h $APPDIR/include/wx/os2/setup.h
583 cp $APPDIR/include/wx/msw/setup0.h $APPDIR/include/wx/msw/setup.h
584 cp $APPDIR/include/wx/univ/setup0.h $APPDIR/include/wx/univ/setup.h
585
586 # Do OS/2 spin
587 if [ "$SPINOS2" = "1" ] || [ "$SPINALL" = "1" ]; then
588 dospinos2
589 fi
590
591 # Do Mac spin
592 if [ "$SPINMAC" = "1" ] || [ "$SPINALL" = "1" ]; then
593 dospinmac
594 fi
595
596 # Do MSW spin
597 if [ "$SPINMSW" = "1" ] || [ "$SPINALL" = "1" ]; then
598 dospinmsw
599 fi
600
601 # Do wxBase spin
602 if [ "$SPINBASE" = "1" ] || [ "$SPINALL" = "1" ]; then
603 dospinbase
604 fi
605
606 # Do wxAll spin
607 if [ "$SPINWXALL" = "1" ] || [ "$SPINALL" = "1" ]; then
608 dospinwxall
609 fi
610
611 # Do docs spin
612 if [ "$SPINDOCS" = "1" ] || [ "$SPINALL" = "1" ]; then
613 dospindocs
614 fi
615
616 # Do misc files spin
617 dospinmisc
618
619 docopydocs $APPDIR $DESTDIR
620
621 # Time to regenerate the Inno Install script
622 dospininstaller
623 }
624
625 # Get the makefiles that aren't in CVS and unarchive them
626 getmakefiles()
627 {
628 echo Getting eVC++ project files...
629 curl http://biolpc22.york.ac.uk/pub/CVS_Makefiles/wx-mk-evcprj.zip --output /c/transit/wx-mk-evcprj.zip
630 echo Getting Digital Mars makefiles...
631 curl http://biolpc22.york.ac.uk/pub/CVS_Makefiles/wx-mk-dmars.zip --output /c/transit/wx-mk-dmars.zip
632 echo Getting VC++ makefiles...
633 curl http://biolpc22.york.ac.uk/pub/CVS_Makefiles/wx-mk-msvc.zip --output /c/transit/wx-mk-msvc.zip
634
635 cd $APPDIR
636 echo Unarchiving makefiles and project files...
637 unzip -o -a /c/transit/wx-mk-evcprj.zip
638 unzip -o -a /c/transit/wx-mk-dmars.zip
639 unzip -o -a /c/transit/wx-mk-msvc.zip
640 echo Done getting makefiles and project files.
641 }
642
643 usage()
644 {
645 echo "Usage: $PROGNAME [ options ]" 1>&2
646 echo Options:
647 echo " --help Display this help message"
648 echo " --upx Compress executable with UPX"
649 echo " --no-upx Do not compress executable with UPX"
650 echo " --inno Build the setup.exe"
651 echo " --no-inno Do not build the setup.exe"
652 echo " --wxmac Build wxMac distribution"
653 echo " --wxmsw Build wxMSW distribution"
654 echo " --wxos2 Build wxOS2 distribution"
655 echo " --wxall Build wxAll zip distribution"
656 echo " --wxbase Build wxBase zip distribution"
657 echo " --docs Build docs archives"
658 echo " --all Build all distributions (the default)"
659 echo " --getmakefiles Get out-of-CVS makefiles and unarchive into the wxWidgets source tree"
660 echo " --verbose Verbose zip operation"
661 echo.
662 echo Note that options only override settings in $SCRIPTDIR/msw/setup.var.
663 exit 1
664 }
665
666 # Process command line options.
667
668 for i in "$@"; do
669
670 case "$i" in
671 --inno) INNO=1 ;;
672 --no-inno) INNO=0 ;;
673 --upx) UPX=1 ;;
674 --no-upx) UPX=0 ;;
675 --wxmac) SPINMAC=1; SPINALL=0 ;;
676 --wxmsw) SPINMSW=1; SPINALL=0 ;;
677 --wxos2) SPINOS2=1; SPINALL=0 ;;
678 --wxall) SPINWXALL=1; SPINALL=0 ;;
679 --wxbase) SPINBASE=1; SPINALL=0 ;;
680 --getmakefiles) GETMAKEFILES=1; SPINALL=0 ;;
681 --docs) SPINDOCS=1; SPINALL=0 ;;
682 --all) SPINALL=1 ;;
683 --verbose) VERBOSE=1 ;;
684 *)
685 usage
686 exit
687 ;;
688 esac
689 done
690
691
692 doinit
693
694 if [ "$GETMAKEFILES" = "1" ]; then
695 getmakefiles
696 exit
697 fi
698
699 # findversion
700 makesetup
701