OSDN Git Service

* sim.scm (/operand-number-elaboration-written?): New variable.
[pf3gnuchains/pf3gnuchains4x.git] / cgen / gen-all
1 #! /bin/sh
2 # Generate files for all apps,
3 # maybe build all apps,
4 # and produce a report listing differences from checked in copies.
5 #
6 # NOTE: This script doesn't rm -rf the previous run since it can run
7 # different tests.  If you want to start fresh, rm -rf tmp-all yourself.
8
9 set -e
10 trap "echo ERROR: $(date)" 0
11
12 echo "Starting gen-all: $(date)"
13
14 cgen_cpus="cris fr30 frv ip2k iq2000 lm32 m32c m32r mep mt \
15 openrisc sh64 xc16x xstormy16"
16
17 do_config=no
18 do_build=no
19 do_intrinsics=no
20 do_sim=no
21 do_diffs=no
22 for a in "$@"
23 do
24     case $a in
25     config) do_config=yes ;;
26     build) do_build=yes ;;
27     src) do_src=yes ;;
28     intrinsics) do_intrinsics=yes ;;
29     sim) do_sim=yes ;;
30     diffs) do_diffs=yes ;;
31     all)
32         do_config=yes
33         do_build=yes
34         do_src=yes
35         do_intrinsics=yes
36         do_sim=yes
37         do_diffs=yes
38         ;;
39     *) echo "Invalid option: $a" >&2 ; exit 1 ;;
40     esac
41 done
42
43 mkdir -p tmp-all
44 cd tmp-all
45 build_dir=$(pwd)
46
47 # Paths to src,gcc relative to ${build_dir}.
48 src=../../../src
49 gcc=../../../gcc
50
51 cpu=m32r
52 build_sys=$(sh ${src}/config.guess)
53 host_sys=${build_sys}
54 target_sys=${cpu}-elf
55
56 prefix=${build_dir}/rel/${cpu}
57
58 if [ "${do_src}" = "yes" ]
59 then
60     echo "Building src $(date)"
61     mkdir -p tmp-src
62     (
63         set -e
64         cd tmp-src
65         if [ -f Makefile ]
66         then
67             true # already configured
68         elif [ "${do_config}" = "yes" ]
69         then
70             echo "Configuring: $(date)"
71             ../${src}/configure \
72                 --build=${build_sys} \
73                 --host=${host_sys} \
74                 --target=${target_sys} \
75                 --enable-targets=all \
76                 --enable-shared \
77                 --enable-cgen-maint \
78                 --enable-languages=c
79         fi
80         if [ "${do_build}" = "yes" ]
81         then
82             echo "Building: $(date)"
83             if [ ! -f Makefile ]
84             then
85                 echo "Tree hasn't been configured."
86                 exit 1
87             fi
88             make -j3 all-binutils all-gas all-ld all-gdb all-sid
89             # SID doesn't support --enable-cgen-maint, sigh.
90             (cd sid/component/cgen-cpu && make cgen-all)
91             if [ $? != 0 ] ; then exit 1 ; fi 
92             make -j3 all-sid
93         fi
94     )
95     if [ $? != 0 ] ; then exit 1 ; fi 
96 fi
97
98 if [ "${do_intrinsics}" = "yes" ]
99 then
100     (cd .. && sh ./gen-all-intrinsics ${build_dir}/${gcc})
101     if [ $? != 0 ] ; then exit 1 ; fi
102 fi
103
104 if [ "${do_sim}" = "yes" ]
105 then
106     for cpu in ${cgen_cpus}
107     do
108         echo "Building $cpu sim $(date)"
109         mkdir -p tmp-sim-${cpu}
110         (
111             set -e
112             cd tmp-sim-${cpu}
113             target_sys="${cpu}-elf"
114             if [ -f Makefile ]
115             then
116                 true # already configured
117             elif [ "${do_config}" = "yes" ]
118             then
119                 echo "Configuring: $(date)"
120                 ../${src}/configure \
121                     --build=${build_sys} \
122                     --host=${host_sys} \
123                     --target=${target_sys} \
124                     --enable-cgen-maint \
125                     --enable-languages=c
126             fi
127             if [ "${do_build}" = "yes" ]
128             then
129                 echo "Building: $(date)"
130                 if [ ! -f Makefile ]
131                 then
132                     echo "Tree hasn't been configured."
133                     exit 1
134                 fi
135                 make -j3 all-sim
136             fi
137         )
138         if [ $? != 0 ] ; then exit 1 ; fi 
139     done
140 fi
141
142 if [ "${do_diffs}" = "yes" ]
143 then
144     # NOTE: cvs will return with a non-zero exit code if there are diffs.
145     (cd ${src}/opcodes && cvs diff -du >${build_dir}/opcodes.diffs)
146     (cd ${src}/sim && cvs diff -du >${build_dir}/sim.diffs)
147     (cd ${src}/sid/component/cgen-cpu && cvs diff -du >${build_dir}/sid.diffs)
148     (cd ${gcc}/gcc/config/mep && svn diff -x -u >${build_dir}/gcc.diffs)
149 fi
150
151 echo "Ending gen-all: $(date)"
152 trap "" 0