generate MD5SUM files for nightly builds (patch 1252331)
[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* ${FTPDIR}/CVS_HEAD/MD5SUM
74 ##there must be an easier way of doing these links...
75 for f in `find ${FTPDIR}/CVS_HEAD/files -type f -name wx-cvs\* -mmin -601` ; do
76 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
77 done
78 md5sum ${FTPDIR}/CVS_HEAD/wx* > ${FTPDIR}/CVS_HEAD/MD5SUM
79 ## make sure updated at is really last
80 sleep 10
81 echo cvs checkout done at `date -u` > ${FTPDIR}/CVS_HEAD/updated_at.txt
82
83 ## Makefiles
84 find ${FTPDIR}/CVS_Makefiles/files -type f -name wx-mk\* -mtime +3 | xargs rm -rf
85 cp ${WORKDIR}/archives/wx-mk-* ${FTPDIR}/CVS_Makefiles/files
86
87 rm ${FTPDIR}/CVS_Makefiles/wx* ${FTPDIR}/CVS_Makefiles/MD5SUM
88 ##there must be an easier way of doing these links...
89 for f in `find ${FTPDIR}/CVS_Makefiles/files -type f -name wx-mk\* -mmin -601` ; do
90 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
91 done
92 md5sum ${FTPDIR}/CVS_Makefiles/wx* > ${FTPDIR}/CVS_Makefiles/MD5SUM
93 sleep 10
94 echo CVS Makefiles generated from bakefiles last updated at `date -u` > ${FTPDIR}/CVS_Makefiles/updated_at.txt
95
96
97 ## Docs...
98 find ${FTPDIR}/CVS_Docs/files -type f -name wx-do\* -mtime +3 | xargs rm -rf
99 cp ${WORKDIR}/archives/wx-docs-* ${FTPDIR}/CVS_Docs/files
100
101 rm ${FTPDIR}/CVS_Docs/wx* ${FTPDIR}/CVS_Docs/MD5SUM
102 ##there must be an easier way of doing these links...
103 for f in `find ${FTPDIR}/CVS_Docs/files -type f -name wx-do\* -mmin -601` ; do
104 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
105 done
106 md5sum ${FTPDIR}/CVS_Docs/wx* > ${FTPDIR}/CVS_Docs/MD5SUM
107 sleep 10
108 echo CVS Documentation generated from bakefiles last updated at `date -u` > ${FTPDIR}/CVS_Docs/updated_at.txt
109 }
110
111 do_texrtf ()
112 {
113
114 ##parameters : subdir_of_tex index.tex dir_under_wxWidgets
115 rm ${WORKDIR}/archives/html/$1/*
116 /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
117 cp ${WORKDIR}/wxWidgets/$3/docs/latex/$1/*.gif ${WORKDIR}/archives/html/$1
118 cp ${WORKDIR}/wxWidgets/$3/docs/latex/$1/*.css ${WORKDIR}/archives/html/$1
119 cd ${WORKDIR}/archives/html/$1
120 zip -l -q -9 ${WORKDIR}/archives/htb/$1.htb *.html *.css wx.hhc wx.hhp wx.hhk
121 zip -q -9 ${WORKDIR}/archives/htb/$1.htb *.gif
122 }
123
124 ##this one for tex2rtf as its latex docs aren't in latex...
125 do_util_texrtf ()
126 {
127 ##parameters : subdir_of_tex index.tex
128 rm ${WORKDIR}/archives/html/$1/*
129 /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
130 cp ${WORKDIR}/wxWidgets/utils/$1/docs/*.gif ${WORKDIR}/archives/html/$1
131 cp ${WORKDIR}/wxWidgets/utils/$1/docs/*.css ${WORKDIR}/archives/html/$1
132 cd ${WORKDIR}/archives/html/$1
133 zip -l -q -9 ${WORKDIR}/archives/htb/$1.htb *.html *.css wx.hhc wx.hhp wx.hhk
134 zip -q -9 ${WORKDIR}/archives/htb/$1.htb *.gif
135 }
136
137 do_docs ()
138 {
139 ##remove files, then regenerate
140 rm ${WORKDIR}/archives/wx-docs*
141 rm ${WORKDIR}/archives/htb/*.*
142
143 ######### dir index.tex rootdir
144 do_texrtf wx manual.tex
145 do_texrtf book book.tex
146 do_texrtf svg dcsvg.tex contrib
147 do_texrtf ogl ogl.tex contrib
148 do_texrtf mmedia mmedia.tex contrib
149 do_texrtf gizmos manual.tex contrib
150 do_texrtf fl fl.tex contrib
151 do_util_texrtf tex2rtf tex2rtf.tex
152
153 cd ${WORKDIR}/archives/
154 tar zcvf ${WORKDIR}/archives/wx-docs-html-${CURDATE}.tar.gz html/wx/*.html html/wx/*.gif html/wx/*.css
155 tar zcvf ${WORKDIR}/archives/wx-docs-extra-html-${CURDATE}.tar.gz `find . -name 'wx' -prune -o -name '*.html' -print`
156
157 tar zcvf ${WORKDIR}/archives/wx-docs-htb-${CURDATE}.tar.gz htb/wx.htb
158 tar zcvf ${WORKDIR}/archives/wx-docs-extra-htb-${CURDATE}.tar.gz --exclude wx.htb htb/*.htb
159
160 ##remove .con files
161 rm ${WORKDIR}/*.con
162
163 }
164
165
166 add_win_files ()
167 {
168 ### starts with wx-docs-xxx.zip
169 for f in `find ${WORKDIR}/archives/win/ -name wx\*.ZIP ` ; do
170 mv $f ${WORKDIR}/archives/`basename $f | tr -d ".ZIP"`-${CURDATE}.zip
171 done
172
173 for f in `find ${WORKDIR}/archives/win/ -name wx\*.EXE ` ; do
174 mv $f ${WORKDIR}/archives/`basename $f | tr -d ".EXE"`-${CURDATE}.exe
175 done
176
177 }
178
179 update_from_cvs
180 regenerate_makefiles
181 package_makefiles
182 package_cvs
183
184 do_docs
185 add_win_files
186
187 copy_files
188
189 exit 0