http://trac.wxwidgets.org/ticket/10457 fix
[wxWidgets.git] / distrib / msw / zipdist.sh
1 #!/bin/sh
2
3 # Zip up an external, generic + Windows distribution of wxWidgets 2
4 SRC=`cygpath -u $WXWIN`
5 DEST=$SRC/deliver
6 WISE=0
7 WISEONLY=0
8 # If your zip accepts Cygwin-style paths, then
9 # use cygpath, else substitute echo
10 CYGPATHPROG=cygpath
11 #CYGPATHPROG=echo
12
13 # Set this to the required version
14 VERSION=2.3.0
15
16 dowise()
17 {
18 cd $DEST
19
20 # Unzip the Windows files into 'wx'
21 mkdir $DEST/wx
22
23 # After this change of directory, we're in the
24 # temporary 'wx' directory and not acting on
25 # the source wxWidgets directory.
26 cd $DEST/wx
27 unzip -o `$CYGPATHPROG -w ../wxWidgets-$VERSION-msw.zip`
28 unzip -o `$CYGPATHPROG -w ../wxWidgets-$VERSION-gen.zip`
29 unzip -o `$CYGPATHPROG -w ../wxWidgets-$VERSION-vc.zip`
30 unzip -o `$CYGPATHPROG -w ../wxWidgets-$VERSION-bc.zip`
31 unzip -o `$CYGPATHPROG -w ../wxWidgets-$VERSION-HTMLHelp.zip`
32 unzip -o `$CYGPATHPROG -w ../extradoc.zip`
33 # Need Word file, for Remstar DB classes
34 unzip -o `$CYGPATHPROG -w ../wxWidgets-$VERSION-Word.zip`
35 unzip -o `$CYGPATHPROG -w ../ogl3.zip`
36 unzip -o `$CYGPATHPROG -w ../jpeg.zip`
37 unzip -o `$CYGPATHPROG -w ../tiff.zip`
38 unzip -o `$CYGPATHPROG -w ../tex2rtf2.zip`
39
40 # Now delete a few files that are unnecessary
41 # attrib -R *
42 rm -f BuildCVS.txt *.in *.spec *.guess *.sub mkinstalldirs modules install-sh *.sh descrip.mms
43 rm -f configure samples/configure samples/*.in demos/configure demos/*.in contrib/configure contrib/*.in
44 rm -f setup.h.in setup.h_vms
45 rm -f -r Makefile.in
46 rm -f docs/html/wxbook.htm docs/html/roadmap.htm
47 rm -f contrib/docs/winhelp/mmedia.*
48 rm -f contrib/docs/winhelp/stc.*
49 rm -f contrib/docs/htmlhelp/mmedia.*
50 rm -f contrib/docs/htmlhelp/stc.*
51 rm -f contrib/docs/pdf/*.*
52 rm -f -r contrib/docs/latex/ogl
53 rm -f SRC/mingegcs.bat
54 rm -f distrib
55
56 # Now copy some binary files to 'bin'
57 mkdir bin
58 cp $SRC/bin/tex2rtf.exe bin
59 cp $SRC/bin/dbgview.* bin
60 cp $SRC/bin/life.exe bin
61 cp $SRC/docs/winhelp/tex2rtf.hlp $SRC/docs/winhelp/tex2rtf.cnt bin
62
63 # Make wxMSW-xxx.zip
64 zip -r `$CYGPATHPROG -w ../wxMSW-$VERSION.zip` *
65
66 # Time to regenerate the WISE install script, wxwin2.wse.
67 # NB: if you've changed wxwin2.wse using WISE, call splitwise.exe
68 # from within distrib/msw, to split off wisetop.txt and wisebott.txt.
69 echo Calling 'makewise' to generate wxwin2.wse...
70
71 sh $WXWIN/distrib/msw/makewise.sh
72
73 rm -f $DEST/setup.*
74
75 # Now invoke WISE install on the new wxwin2.wse
76 echo Invoking WISE...
77 /c/progra~1/wise/wise32.exe /C $WXWIN\\distrib\\msw\\wxwin2.wse
78 echo Press return to continue with the wxWidgets distribution...
79 read dummy
80
81 cd $DEST
82
83 # tidy up capitalisation of filenames
84 mv setup.EXE s
85 mv s setup.exe
86
87 mv setup.w02 s
88 mv s setup.w02
89
90 mv setup.w03 s
91 mv s setup.w03
92
93 mv setup.w04 s
94 mv s setup.w04
95
96 mv setup.w05 s
97 mv s setup.w05
98
99 mv setup.w06 s
100 mv s setup.w06
101
102 mv setup.w07 s
103 mv s setup.w07
104
105 mv setup.w08 s
106 mv s setup.w08
107
108 mv setup.w09 s
109 mv s setup.w09
110
111 # Put all the setup files into a single zip archive.
112 zip wxMSW-$VERSION-setup.zip readme.txt setup.*
113 }
114
115 expandlines()
116 {
117 toexpand=$1
118 outputfile=$2
119
120 rm -f $outputfile
121 touch $outputfile
122 for line in `cat $toexpand` ; do
123 if [ $line != "" ]; then
124 ls $line >> $outputfile
125 fi
126 done
127 }
128
129 # Process command line options.
130 for i in "$@"; do
131 case "$i" in
132 --wise) WISE=1 ;;
133 --wiseonly) WISEONLY=1 ;;
134 *)
135 echo Usage: $0 "[ options ]" 1>&2
136 echo Options:
137 echo " --help Display this help message"
138 echo " --wise Also build setup.exe and wxMSW-version.zip"
139 echo " --wiseonly Build setup.exe and wxMSW-version.zip only"
140 exit 1
141 ;;
142 esac
143 done
144
145 if [ ! -d "$SRC" ]; then
146 echo $SRC not found.
147 exit 1
148 fi
149
150 if [ ! -d "$DEST" ]; then
151 echo $DEST not found.
152 exit 1
153 fi
154
155 echo Creating distribution in $DEST. Press return to continue.
156 read dummy
157
158 if [ "$WISEONLY" != "0" ]; then
159 dowise
160 exit 0
161 fi
162
163 # Remove all existing files
164 rm -f $DEST/wx*.zip
165 rm -f $DEST/*.htb
166 rm -f $DEST/ogl3.zip
167 rm -f $DEST/tex2rtf2.zip
168 rm -f $DEST/jpeg.zip
169 rm -f $DEST/tiff.zip
170 rm -f $DEST/utils.zip
171 rm -f $DEST/extradoc.zip
172 rm -f $DEST/*-win32.zip
173
174 if [ ! -d "$DEST/wx" ]; then
175 rm -f -r $DEST/wx
176 fi
177
178
179 cd $SRC
180 echo Zipping...
181
182 # Below is the old-style separated-out format. This is retained only
183 # for local use, and for creating wxMSW-xxx.zip.
184
185 # We can't use e.g. this:
186 # ls `cat $SRC/distrib/msw/makefile.rsp` zip -@ -u $DEST/wxWidgets-$VERSION-gen.zip
187 # because there's not enough space on the command line, plus we need to ignore the
188 # blank lines.
189
190 expandlines $SRC/distrib/msw/generic.rsp temp.txt
191 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-gen.zip` < temp.txt
192
193 expandlines $SRC/distrib/msw/makefile.rsp temp.txt
194 zip -@ -u `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-gen.zip` < temp.txt
195
196 expandlines $SRC/distrib/msw/msw.rsp temp.txt
197 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-msw.zip` < temp.txt
198
199 expandlines $SRC/distrib/msw/makefile.rsp temp.txt
200 zip -@ -u `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-msw.zip` < temp.txt
201
202 expandlines $SRC/distrib/msw/gtk.rsp temp.txt
203 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-gtk.zip` < temp.txt
204
205 expandlines $SRC/distrib/msw/makefile.rsp temp.txt
206 zip -@ -u `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-gtk.zip` < temp.txt
207
208 expandlines $SRC/distrib/msw/stubs.rsp temp.txt
209 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-stubs.zip` < temp.txt
210
211 expandlines $SRC/distrib/msw/motif.rsp temp.txt
212 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-mot.zip` < temp.txt
213
214 expandlines $SRC/distrib/msw/makefile.rsp temp.txt
215 zip -@ -u `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-mot.zip` < temp.txt
216
217
218 expandlines $SRC/distrib/msw/docsrc.rsp temp.txt
219 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-DocSource.zip` < temp.txt
220
221 expandlines $SRC/distrib/msw/wx_hlp.rsp temp.txt
222 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-WinHelp.zip` < temp.txt
223
224 expandlines $SRC/distrib/msw/wx_html.rsp temp.txt
225 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-HTML.zip` < temp.txt
226
227 expandlines $SRC/distrib/msw/wx_pdf.rsp temp.txt
228 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-PDF.zip` < temp.txt
229
230 expandlines $SRC/distrib/msw/wx_word.rsp temp.txt
231 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-Word.zip` < temp.txt
232
233 expandlines $SRC/distrib/msw/wx_htb.rsp temp.txt
234 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-HTB.zip` < temp.txt
235
236 expandlines $SRC/distrib/msw/wx_chm.rsp temp.txt
237 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-HTMLHelp.zip` < temp.txt
238
239 # PDF/HTML docs that should go into the Windows setup because
240 # there are no WinHelp equivalents
241 expandlines $SRC/distrib/msw/extradoc.rsp temp.txt
242 zip -@ `$CYGPATHPROG -w $DEST/extradoc.zip` < temp.txt
243
244 # VC++ project files
245 expandlines $SRC/distrib/msw/vc.rsp temp.txt
246 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-vc.zip` < temp.txt
247
248 # BC++ project files
249 expandlines $SRC/distrib/msw/bc.rsp temp.txt
250 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-bc.zip` < temp.txt
251
252 # CodeWarrior project files
253 expandlines $SRC/distrib/msw/cw.rsp temp.txt
254 zip -@ `$CYGPATHPROG -w $DEST/wxWidgets-$VERSION-cw.zip` < temp.txt
255
256 # OGL 3
257 expandlines $SRC/distrib/msw/ogl.rsp temp.txt
258 zip -@ `$CYGPATHPROG -w $DEST/ogl3.zip` < temp.txt
259
260 # MMedia
261 expandlines $SRC/distrib/msw/mmedia.rsp temp.txt
262 zip -@ `$CYGPATHPROG -w $DEST/mmedia.zip` < temp.txt
263
264 # STC (Scintilla widget)
265 expandlines $SRC/distrib/msw/stc.rsp temp.txt
266 zip -@ `$CYGPATHPROG -w $DEST/stc.zip` < temp.txt
267
268 # Tex2RTF
269 expandlines $SRC/distrib/msw/tex2rtf.rsp temp.txt
270 zip -@ `$CYGPATHPROG -w $DEST/tex2rtf2.zip` < temp.txt
271
272 # JPEG source
273 expandlines $SRC/distrib/msw/jpeg.rsp temp.txt
274 zip -@ `$CYGPATHPROG -w $DEST/jpeg.zip` < temp.txt
275
276 # TIFF source
277 expandlines $SRC/distrib/msw/tiff.rsp temp.txt
278 zip -@ `$CYGPATHPROG -w $DEST/tiff.zip` < temp.txt
279
280 # Misc. utils not in the main distribution
281 expandlines $SRC/distrib/msw/utils.rsp temp.txt
282 zip -@ `$CYGPATHPROG -w $DEST/utils.zip` < temp.txt
283 expandlines $SRC/distrib/msw/utilmake.rsp temp.txt
284 zip -@ -u `$CYGPATHPROG -w $DEST/utilmake.zip` < temp.txt
285
286 rm -f temp.txt
287
288 cd $SRC/bin
289
290 zip `$CYGPATHPROG -w $DEST/tex2rtf-win32.zip` tex2rtf.*
291
292 cp $SRC/docs/changes.txt $DEST
293 cp $SRC/docs/msw/install.txt $DEST/install_msw.txt
294 cp $SRC/docs/motif/install.txt $DEST/install_motif.txt
295 cp $SRC/docs/gtk/install.txt $DEST/install_gtk.txt
296 cp $SRC/docs/readme.txt $DEST
297 cp $SRC/docs/motif/readme.txt $DEST/readme_motif.txt
298 cp $SRC/docs/gtk/readme.txt $DEST/readme_gtk.txt
299 cp $SRC/docs/msw/readme.txt $DEST/readme_msw.txt
300 cp $SRC/docs/readme_vms.txt $DEST
301 cp $SRC/docs/motif/makewxmotif $DEST
302 cp $SRC/docs/gtk/makewxgtk $DEST
303
304 # Skip WISE setup if WISE is 0.
305 if [ "$WISE" = "1" ]; then
306 dowise
307 fi
308
309 echo wxWidgets archived.
310