]> git.saurik.com Git - wxWidgets.git/blob - build/script/rebuild-makefiles.sh
Fix (workaround?) for rpmspec.
[wxWidgets.git] / build / script / rebuild-makefiles.sh
1 #!/bin/sh
2
3 CURDATE=`date -I`
4 WORKDIR=/home/bake/bkl-cronjob
5 FTPDIR=/home/ftp/pub
6 LD_LIBRARY_PATH=/usr/local/lib
7
8 update_from_cvs()
9 {
10 (
11 cd ${WORKDIR}/wxWidgets && cvs -z3 update -P -d
12 )
13 }
14
15
16 regenerate_makefiles()
17 {
18 (cd ${WORKDIR}/wxWidgets/build/bakefiles && nice python -O ${WORKDIR}/bakefile/bin/bakefile_gen)
19 }
20
21
22 do_package()
23 {
24 archtype=$1
25 format=$2
26 shift ; shift
27
28 rm -f ${WORKDIR}/archives/wx-mk-${format}-*
29
30 cd ${WORKDIR}/wxWidgets
31
32 files=""
33 for i in $* ; do
34 files="$files `find -name "$i"`"
35 done
36
37 if test $archtype = tar ; then
38 tar czf ../archives/wx-mk-${format}-${CURDATE}.tar.gz $files
39 elif test $archtype = zip ; then
40 zip -l -q -9 ../archives/wx-mk-${format}-${CURDATE}.zip $files
41 fi
42
43 cd ..
44 }
45
46 package_cvs()
47 {
48 rm -f ${WORKDIR}/archives/wx-cvs-*
49 cd ${WORKDIR}/
50 tar jcf ./archives/wx-cvs-${CURDATE}.tar.bz2 ./wxWidgets
51 }
52
53
54 package_makefiles()
55 {
56 do_package tar autoconf Makefile.in autoconf_inc.m4
57 do_package zip borland makefile.bcc config.bcc
58 do_package zip mingw makefile.gcc config.gcc
59 do_package zip dmars makefile.dmc config.dmc makefile.dms config.dms
60 do_package zip watcom makefile.wat config.wat
61 do_package zip msvc makefile.vc config.vc
62 do_package zip msvc6prj '*.dsp' '*.dsw'
63 do_package zip evcprj '*.vcp' '*.vcw'
64 }
65
66 copy_files ()
67 {
68 ##delete old files and then copy new ones, add a symlink
69 ## CVS
70 find ${FTPDIR}/CVS_HEAD/files -type f -name wx-cvs\* -mtime +6 | xargs rm -rf
71 cp ${WORKDIR}/archives/wx-cvs-* ${FTPDIR}/CVS_HEAD/files
72
73 rm ${FTPDIR}/CVS_HEAD/wx*
74 for f in `find ${FTPDIR}/CVS_HEAD/files -type f -name wx-cvs\* -mmin -601` ; do
75 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
76 done
77 ## make sure updated at is really last
78 sleep 10
79 echo cvs checkout done at `date -u` > ${FTPDIR}/CVS_HEAD/updated_at.txt
80
81 ## Makefiles
82 find ${FTPDIR}/CVS_Makefiles/files -type f -name wx-mk\* -mtime +3 | xargs rm -rf
83 cp ${WORKDIR}/archives/wx-mk-* ${FTPDIR}/CVS_Makefiles/files
84
85 rm ${FTPDIR}/CVS_Makefiles/wx*
86 ##there musrt be an easier way of doing these links...
87 for f in `find ${FTPDIR}/CVS_Makefiles/files -type f -name wx-mk\* -mmin -601` ; do
88 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
89 done
90 sleep 10
91 echo CVS Makefiles generated from bakefiles last updated at `date -u` > ${FTPDIR}/CVS_Makefiles/updated_at.txt
92
93
94 ## Docs...
95 find ${FTPDIR}/CVS_Docs/files -type f -name wx-do\* -mtime +3 | xargs rm -rf
96 cp ${WORKDIR}/archives/wx-docs-* ${FTPDIR}/CVS_Docs/files
97
98 rm ${FTPDIR}/CVS_Docs/wx*
99 ##there musrt be an easier way of doing these links...
100 for f in `find ${FTPDIR}/CVS_Docs/files -type f -name wx-do\* -mmin -601` ; do
101 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
102 done
103 sleep 10
104 echo CVS Documentation generated from bakefiles last updated at `date -u` > ${FTPDIR}/CVS_Docs/updated_at.txt
105 }
106
107 do_texrtf ()
108 {
109
110 ##parameters : subdir_of_tex index.tex dir_under_wxWidgets
111 rm ${WORKDIR}/archives/html/$1/*
112 /usr/local/bin/tex2rtf ${WORKDIR}/wxWidgets/$3/docs/latex/$1/$2 ${WORKDIR}/archives/html/$1/$1 -twice -html -macros ${WORKDIR}/wxWidgets/docs/latex/wx/tex2rtf_css.ini
113 cp ${WORKDIR}/wxWidgets/$3/docs/latex/$1/*.gif ${WORKDIR}/archives/html/$1
114 cp ${WORKDIR}/wxWidgets/$3/docs/latex/$1/*.css ${WORKDIR}/archives/html/$1
115 cd ${WORKDIR}/archives/html/$1
116 zip -l -q -9 ${WORKDIR}/archives/htb/$1.htb *.html *.css wx.hhc wx.hhp wx.hhk
117 zip -q -9 ${WORKDIR}/archives/htb/$1.htb *.gif
118 }
119
120 ##this one for tex2rtf as its latex docs aren't in latex...
121 do_util_texrtf ()
122 {
123 ##parameters : subdir_of_tex index.tex
124 rm ${WORKDIR}/archives/html/$1/*
125 /usr/local/bin/tex2rtf ${WORKDIR}/wxWidgets/utils/$1/docs/$2 ${WORKDIR}/archives/html/$1/$1 -twice -html -macros ${WORKDIR}/wxWidgets/docs/latex/wx/tex2rtf_css.ini
126 cp ${WORKDIR}/wxWidgets/utils/$1/docs/*.gif ${WORKDIR}/archives/html/$1
127 cp ${WORKDIR}/wxWidgets/utils/$1/docs/*.css ${WORKDIR}/archives/html/$1
128 cd ${WORKDIR}/archives/html/$1
129 zip -l -q -9 ${WORKDIR}/archives/htb/$1.htb *.html *.css wx.hhc wx.hhp wx.hhk
130 zip -q -9 ${WORKDIR}/archives/htb/$1.htb *.gif
131 }
132
133 do_docs ()
134 {
135 ##remove files, then regenerate
136 rm ${WORKDIR}/archives/wx-docs*
137 rm ${WORKDIR}/archives/htb/*.*
138
139 ######### dir index.tex rootdir
140 do_texrtf wx manual.tex
141 do_texrtf book book.tex
142 do_texrtf svg dcsvg.tex contrib
143 do_texrtf ogl ogl.tex contrib
144 do_texrtf mmedia mmedia.tex contrib
145 do_texrtf gizmos manual.tex contrib
146 do_texrtf fl fl.tex contrib
147 do_util_texrtf tex2rtf tex2rtf.tex
148
149 cd ${WORKDIR}/archives/
150 tar zcvf ${WORKDIR}/archives/wx-docs-html-${CURDATE}.tar.gz html/wx/*.html html/wx/*.gif html/wx/*.css
151 tar zcvf ${WORKDIR}/archives/wx-docs-extra-html-${CURDATE}.tar.gz `find . -name 'wx' -prune -o -name '*.html' -print`
152
153 tar zcvf ${WORKDIR}/archives/wx-docs-htb-${CURDATE}.tar.gz htb/wx.htb
154 tar zcvf ${WORKDIR}/archives/wx-docs-extra-htb-${CURDATE}.tar.gz --exclude wx.htb htb/*.htb
155
156 ##remove .con files
157 rm ${WORKDIR}/*.con
158
159 }
160
161
162 add_win_files ()
163 {
164 ### starts with wx-docs-xxx.zip
165 for f in `find ${WORKDIR}/archives/win/ -name wx\*.ZIP ` ; do
166 mv $f ${WORKDIR}/archives/`basename $f | tr -d ".ZIP"`-${CURDATE}.zip
167 done
168
169 for f in `find ${WORKDIR}/archives/win/ -name wx\*.EXE ` ; do
170 mv $f ${WORKDIR}/archives/`basename $f | tr -d ".EXE"`-${CURDATE}.exe
171 done
172
173 }
174
175 update_from_cvs
176 regenerate_makefiles
177 package_makefiles
178 package_cvs
179
180 do_docs
181 add_win_files
182
183 copy_files
184
185 exit 0