build: Use $HOME/ path for errs12.
[nethome.git] / bin / build
1 #! /bin/bash
2
3 output=
4 opts=
5 if [ "$1" = "-v" ];then
6         opts="-v"
7         shift
8 else
9         output="/tmp/build-`date --iso`"
10         exec >>$output 2>&1
11 fi
12
13 PS1=x
14 . $HOME/.bashrc
15
16 set -x
17 echo "$0 `date --iso=seconds` start"
18 I=Build
19
20 # FIXME: Running tasks get broken.
21 find $HOME/.hammock-result -mindepth 1 -maxdepth 1 -type d | xargs rm -rf
22
23 function QUIT
24 {
25   if [ -e ~/t/QUIT ];then
26     rm -f ~/t/QUIT
27     exit
28   fi
29 }
30
31 function run
32 {
33   QUIT
34   mockrun fedora-19-x86_64     "cd $PWD; "'export PATH="$HOME/bin:$PATH"; '"$*"
35   #mockrun fedora-rawhide-x86_64 "cd $PWD; "'export PATH="$HOME/bin:$PATH"; '"$*"
36 }
37
38 function hammock
39 {
40   QUIT
41   (unset hammock; hammock "$@")
42   #(unset hammock; hammock "$@" $(if [ "$1 $2" = "-c gdbcvs" -o "$1 $2" = "-c binutilscvs" ];then echo --strip;fi))
43 }
44
45 for i in gdb binutils;do
46   new=$i-cvs-master-new
47   cd $HOME/redhat
48   rm -rf $new
49   mkdir $new
50   cd $new
51   cvs -d :ext:jkratoch@sourceware.org:/cvs/src co $i
52   rc=$?
53   cd ..
54   if [ $rc -eq 0 -a "`echo $new/*`" = "$new/src" ];then
55     rm -rf $i-cvs-master
56     mv $new/src $i-cvs-master
57     rmdir $new
58   fi
59   cd $HOME/redhat/$i-cvs-master
60   cvs update # -A is expensive with new sourceware.org
61   cd ..
62   rm -rf $i-cvs-clean
63   cp -a $i-cvs-master $i-cvs-clean
64   cd $i-cvs-clean
65   run $HOME/bin/errs12
66   ctags
67 done
68
69 cd $HOME/redhat/binutils-master
70 git pull
71
72 cd $HOME/redhat/binutils-clean
73 git pull
74 ctags
75 run make
76
77 cd $HOME/redhat/binutils-clean-m32
78 git pull
79 ctags
80 run make
81
82 cd $HOME/redhat/gdb-master
83 git fetch gdb
84 git fetch archer
85 git pull
86
87 #for i in 71 70;do
88 #       cd $HOME/redhat/gdb-master$i
89 #       git pull
90 #done
91 for i in "" 76 -nopython;do # 75 74 73 72
92 #       cd $HOME/redhat/gdb-master$i
93 #       git pull
94
95         cd $HOME/redhat/gdb-clean$i
96         git pull
97         ctags
98         (cd gdb; ctags)
99         run make
100         rm -f gdb/gdb-clean
101         cp -p gdb/gdb gdb/gdb-clean
102
103         if [ "$i" != "${i#[0-9]}" ];then
104                 new=gdb-cvs-master$i-new
105                 cd $HOME/redhat
106                 rm -rf $new
107                 mkdir $new
108                 cd $new
109                 branch="gdb_$(echo $i|sed 's/^./&_/')-branch"
110                 cvs -d :ext:jkratoch@sourceware.org:/cvs/src co -r $branch gdb
111                 rc=$?
112                 cd ..
113                 if [ $rc -eq 0 -a "`echo $new/*`" = "$new/src" ];then
114                         rm -rf gdb-cvs-master$i
115                         mv $new/src gdb-cvs-master$i
116                         rmdir $new
117                 fi
118                 cd $HOME/redhat/gdb-cvs-master$i
119                 cvs update -r $branch
120                 cd ..
121                 rm -rf gdb-cvs-clean$i
122                 cp -a gdb-cvs-master$i gdb-cvs-clean$i
123                 cd gdb-cvs-clean$i
124                 run $HOME/bin/errs12
125                 ctags
126         fi
127 done
128
129 cd $HOME/redhat/gdb-clean-m32
130 git pull
131 ctags
132 (cd gdb; ctags)
133 run make
134 rm -f gdb/gdb-clean
135 cp -p gdb/gdb gdb/gdb-clean
136
137 cd $HOME/redhat/glibc
138 git pull
139 (cd $HOME/redhat/glibc; ctags)
140 rm -rf $HOME/redhat/glibc-build
141 mkdir $HOME/redhat/glibc-build
142 (cd $HOME/redhat/glibc-build
143  set -e
144  run ../glibc/configure --prefix=$HOME/redhat/glibc-root
145  run make
146  rm -rf $HOME/redhat/glibc-root
147  mkdir $HOME/redhat/glibc-root
148  run make install
149  )
150
151 for d in rawhide f19 f18 f17;do
152         hammock -c fedoragdb -i $I-fedoragdb-$d -d $d
153 done
154 ### hammock -c fedoragdb -d rawhide --cd f12! -i $I-fedoragdb-f12-on-rawhide
155
156 ### hammock -c rhelgdb -i $I-rhelgdb-rhel6 -d rhel6
157
158 cd
159 for i in \
160         gdbcvs                                  \
161         binutilscvs                             \
162         archer-jankratochvil-vla                \
163 ; do
164         #hammock -c $i -i $I-$i-f19 -d f19
165         hammock -c $i -i $I-$i-rawhide -d rawhide
166 done
167 #       archer-tromey-threaded-dwarf            \
168 #       archer-tromey-python                    \
169 #       archer-pmuldoon-next-over-throw2        \
170 #       archer-jankratochvil-ifunc              \
171 #       archer-jankratochvil-watchpoint3        \
172
173 for d in rawhide f19 f18 f17 epel6 epel5;do
174         hammock -c gdbcvs -i $I-gdbcvs-$d -d $d
175 done
176
177 hammock -c gdbcvs -i $I-gdbcvs-gdbindex-rawhide -d rawhide --gdbindex
178 hammock -c gdbcvs -i $I-gdbcvs-gdbindex-dwarf41-rawhide -d rawhide --gdbindex --dwarf=41
179 hammock -c gdbcvs -i $I-gdbcvs-gdbserver-rawhide -d rawhide --gdbserver
180 hammock -c gdbcvs -i $I-gdbcvs-dwarf41-rawhide -d rawhide --dwarf=41
181 hammock -c gdbcvs -i $I-gdbcvs-dwarf40-rawhide -d rawhide --dwarf=40
182 hammock -c gdbcvs -i $I-gdbcvs-dwarf3-rawhide -d rawhide --dwarf=3
183 hammock -c gdbcvs -i $I-gdbcvs-dwarf2-rawhide -d rawhide --dwarf=2
184 hammock -c gdbcvs -i $I-gdbcvs-stabsp-rawhide -d rawhide --stabs=2
185 hammock -c gdbcvs -i $I-gdbcvs-bfd32-rawhide -d rawhide --bfd32 -a i386
186 hammock -c gdbcvs -i $I-gdbcvs-gdbindex-dwarf41-bfd32-rawhide -d rawhide --gdbindex --dwarf=41 --bfd32 -a i386
187 hammock -c gdbcvs -i $I-gdbcvs-fast-rawhide -d rawhide --options "--fast"
188 hammock -c gdbcvs -i $I-gdbcvs-nomcheck-rawhide -d rawhide --options "--nomcheck"
189
190 ### for d in f12;do
191 ###     hammock -c gdbcvs --branch gdb_7_1-branch -i $I-gdb71cvs-f12 -d f12
192 ### done
193
194 ### for d in rawhide rhel6;do
195 ### for i in \
196 ###     gdbcvs                                  \
197 ###     archer-jankratochvil-fedora13           \
198 ### ; do
199 ###     hammock -c $i -i $I-$i-$d -d $d
200 ### done
201 ### done
202
203 #cd $HOME/redhat/linux-2.6
204 #git fetch --all
205 #git pull
206 #ctags
207
208 cd $HOME/redhat/gccgit
209 git pull
210 ctags
211 (cd gcc;ctags)
212
213 for gcc in gcchead gcc48;do # gcc47 gcc46 - texinfo errors
214 (
215 set -e
216 cd $HOME/redhat/${gcc}
217 svn update
218 svn status
219 ctags
220 cd gcc; ctags
221 root=$HOME/redhat/${gcc}-root
222 rm -rf $HOME/redhat/${gcc}-build
223 mkdir $HOME/redhat/${gcc}-build
224 # -j1 for: /usr/bin/install: cannot create regular file `/home/jkratoch/redhat/${gcc}-root/lib/../lib64/./libiberty.an': File exists
225 # mockrun fedora-rawhide-x86_64 "cd $HOME/redhat/${gcc}-build; errs12 --origss -m ../${gcc}/configure --prefix=$root --disable-werror --enable-languages=c,c++,fortran; rm -rf $root; mkdir $root; errs3 -j1"
226 cd $HOME/redhat/${gcc}-build
227 # gcc44+gcc45: sinput.adb:776:19: deallocation from empty storage pool
228 # /usr/bin/ld: libbackend.a(graphite.o): undefined reference to symbol 'ppl_finalize' + /usr/bin/ld: note: 'ppl_finalize' is defined in DSO /usr/lib64/libppl_c.so.4 so try adding it to the linker command line
229 # gcc46: gnatbind -C -nostdinc -I- -I. -Iada -I../../gcc46/gcc/ada -I../../gcc46/gcc/ada/gcc-interface -o ada/b_gnat1.c -n ada/gnat1drv.ali
230 # gnatbind: invalid switch: -C
231 run errs12 ../${gcc}/configure --prefix=$root --enable-languages=c,c++,fortran,java$(test $gcc = ${gcc#gcc4[0-6]} && echo ,ada) $(test $gcc = gcc44 && echo --without-cloog) --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
232 rm -rf $root
233 mkdir $root
234 run $HOME/bin/errs3 -j1
235
236 cd
237 # hammock -c gdbcvs -i $I-gdbcvs${gcc}-f14 -d f14 -p $root/bin -a x86_64
238 )
239 done
240
241 hammock -c gdbcvs -i $I-gdbcvs-gcc48-rawhide           -d rawhide -a x86_64 --prefixpath ~/redhat/gcc48-root
242 hammock -c gdbcvs -i $I-gdbcvs-gcchead-rawhide         -d rawhide -a x86_64 --prefixpath ~/redhat/gcchead-root
243 hammock -c gdbcvs -i $I-gdbcvs-dwarf41-gcchead-rawhide -d rawhide -a x86_64 --prefixpath ~/redhat/gcchead-root --dwarf=41
244
245 #hammock -c gdbcvs -i $I-gdbcvs-valgrind-rawhide -d rawhide --valgrind
246
247 diffgdbdaymail
248
249 echo "$0 `date --iso=seconds` done"