1 EDG_CFLAGS="--c --gnu=400002 -I/usr/lib/gcc-lib/i586-suse-linux/3.3.5/include"
2 GCC_CFLAGS="-O3 -g -fomit-frame-pointer"
6 OUTPUTDIR="stats-`date +%d.%m.%y`"
12 XMLRES=$OUTPUTDIR/result.xml
13 cat > $XMLRES << __END__
17 <EDG_CFLAGS>${EDG_CFLAGS}</EDG_CFLAGS>
18 <GCC_CFLAGS>${GCC_CFLAGS}</GCC_CFLAGS>
22 # so endless apps stop at some point...
25 for file in ${CFILES}; do
30 FIRM_RUN_RES="omitted"
33 name="`basename $file .c`"
34 res="$OUTPUTDIR/buildresult_$name.txt"
36 echo "Results for $name" > $res
37 echo "*** EDG/FIRM Compile" >> $res
38 CMD="edg ${EDG_CFLAGS} $file"
40 $CMD >> $res 2>&1 || COMPILE_RES="failed"
42 if [ ${COMPILE_RES} == "ok" ]; then
44 CMD="mv $name.s build_firm/$name.s"
47 echo "*** Linking" >> $res
48 CMD="gcc build_firm/$name.s ${LINKFLAGS} -o build_firm/$name.exe"
50 $CMD >> $res 2>&1 || LINK_RES="failed"
53 echo "*** GCC Compile" >> $res
54 CMD="gcc ${GCC_CFLAGS} $file ${LINKFLAGS} -o build_gcc/$name.exe"
56 $CMD >> $res 2>&1 || GCC_RES="failed"
58 if [ ${GCC_RES} = "ok" ]; then
61 echo "*** Run GCC" >> $res
62 CMD="build_gcc/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1"
64 build_gcc/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1 || GCC_RUN_RES="failed"
67 if [ ${LINK_RES} = "ok" ]; then
70 echo "*** Run Firm" >> $res
71 CMD="build_firm/$name.exe > $OUTPUTDIR/result_gcc_$name.txt 2>&1"
73 build_firm/$name.exe > $OUTPUTDIR/result_firm_$name.txt 2>&1 || FIRM_RUN_RES="failed"
76 if [ ${GCC_RUN_RES} = "ok" -a ${FIRM_RUN_RES} = "ok" ]; then
79 echo "*** Compare Results" >> $res
80 CMD="diff -u $OUTPUTDIR/result_gcc_$name.txt $OUTPUTDIR/result_firm_$name.txt"
81 $CMD > $OUTPUTDIR/result_diff_$name.txt 2>&1 || DIFF_RES="failed"
84 cat >> $XMLRES << __END__
86 <compile>$COMPILE_RES</compile>
87 <link>$LINK_RES</link>
88 <gcc_compile>$GCC_RES</gcc_compile>
89 <gcc_run>$GCC_RUN_RES</gcc_run>
90 <firm_run>$FIRM_RUN_RES</firm_run>
91 <diff>$DIFF_RES</diff>
96 echo "</results>" >> $XMLRES
98 xsltproc --output $OUTPUTDIR/index.html makehtml.xslt $XMLRES
100 # maybe execute custom actions after result has been generated
101 [ -e after_compile.sh ] && ./after_compile.sh "$OUTPUTDIR"