OSDN Git Service

36601e633affd8330b7b89587d5eb1073c1bce5a
[pf3gnuchains/pf3gnuchains3x.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
89         fi
90     )
91     if [ $? != 0 ] ; then exit 1 ; fi 
92 fi
93
94 if [ "${do_intrinsics}" = "yes" ]
95 then
96     (cd .. && sh ./gen-all-intrinsics ${build_dir}/${gcc})
97     if [ $? != 0 ] ; then exit 1 ; fi
98 fi
99
100 if [ "${do_sim}" = "yes" ]
101 then
102     for cpu in ${cgen_cpus}
103     do
104         echo "Building $cpu sim $(date)"
105         mkdir -p tmp-sim-${cpu}
106         (
107             set -e
108             cd tmp-sim-${cpu}
109             target_sys="${cpu}-elf"
110             if [ -f Makefile ]
111             then
112                 true # already configured
113             elif [ "${do_config}" = "yes" ]
114             then
115                 echo "Configuring: $(date)"
116                 ../${src}/configure \
117                     --build=${build_sys} \
118                     --host=${host_sys} \
119                     --target=${target_sys} \
120                     --enable-cgen-maint \
121                     --enable-languages=c
122             fi
123             if [ "${do_build}" = "yes" ]
124             then
125                 echo "Building: $(date)"
126                 if [ ! -f Makefile ]
127                 then
128                     echo "Tree hasn't been configured."
129                     exit 1
130                 fi
131                 make -j3 all-sim
132             fi
133         )
134         if [ $? != 0 ] ; then exit 1 ; fi 
135     done
136 fi
137
138 if [ "${do_diffs}" = "yes" ]
139 then
140     # NOTE: cvs will return with a non-zero exit code if there are diffs.
141     (cd ${src}/opcodes && cvs diff -du >${build_dir}/opcodes.diffs)
142     (cd ${src}/sim && cvs diff -du >${build_dir}/sim.diffs)
143     (cd ${src}/sid/component/cgen-cpu && cvs diff -du >${build_dir}/sid.diffs)
144     (cd ${gcc}/gcc/config/mep && svn diff -x -u >${build_dir}/gcc.diffs)
145 fi
146
147 echo "Ending gen-all: $(date)"
148 trap "" 0