]>
Commit | Line | Data |
---|---|---|
03a2668f KO |
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 | |
77b14ee2 KO |
299 | expandlines $SCRIPT/extradoc.rsp /tmp/extradocs |
300 | zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-ExtraDoc.zip < /tmp/extradocs | |
03a2668f KO |
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 | ||
49089236 | 415 | if [ "$INNO" != "0" ]; then |
615c15f9 KO |
416 | echo Generating $SETUPSCRIPTNAME |
417 | rm -f $SETUPSCRIPTNAME | |
03a2668f | 418 | |
615c15f9 KO |
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 | |
03a2668f | 488 | |
03a2668f | 489 | fi |
03a2668f KO |
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 | ||
615c15f9 | 619 | docopydocs $APPDIR $DESTDIR |
03a2668f KO |
620 | |
621 | # Time to regenerate the Inno Install script | |
615c15f9 | 622 | dospininstaller |
03a2668f KO |
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 | |
615c15f9 | 669 | |
03a2668f KO |
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 |