Fall back from using igen to using gencode for the mips64vr4100 because
[binutils-gdb.git] / sim / mips / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 sinclude(../common/aclocal.m4)
3 AC_PREREQ(2.5)dnl
4 AC_INIT(Makefile.in)
5
6 SIM_AC_COMMON
7
8 dnl Options available in this module
9 SIM_AC_OPTION_INLINE(0)
10 SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
11 SIM_AC_OPTION_HOSTENDIAN
12 SIM_AC_OPTION_WARNINGS
13
14
15 # Ensure a reasonable default simulator is constructed: (DEPRECATED)
16 case "${target}" in
17 # start-sanitize-tx19
18 mipstx19*-*-*) SIMCONF="-mips1 -mcpu=r1900 -mno-fp --warnings";;
19 # end-sanitize-tx19
20 # start-sanitize-tx49
21 mips64tx49*-*-*) SIMCONF="-mips3 --warnings -mcpu=r4900";;
22 # end-sanitize-tx49
23 # start-sanitize-r5900
24 mips64r59*-*-*) SIMCONF="-mips3 --warnings -mcpu=r5900";;
25 # end-sanitize-r5900
26 mips64vr4100-*-*) SIMCOMF="-mips0 -mcpu=r4100 -mgp64 --warnings" ;;
27 mips64*-*-*) SIMCONF="-mips0 --warnings";;
28 mips16*-*-*) SIMCONF="-mips0 --warnings";;
29 mips*-*-*) SIMCONF="-mips2 --warnings";;
30 *) SIMCONF="-mips0 --warnings";;
31 esac
32 AC_SUBST(SIMCONF)
33
34 # DEPRECATED
35 case "${target}" in
36 # start-sanitize-tx19
37 mipstx19*-*-*) SIM_SUBTARGET="-DSUBTARGET_R3900=1";;
38 # end-sanitize-tx19
39 *) SIM_SUBTARGET="";;
40 esac
41 AC_SUBST(SIM_SUBTARGET)
42
43
44
45 #
46 # Select the byte order of the target
47 #
48 mips_endian=
49 default_endian=
50 case "${target}" in
51 # start-sanitize-tx19
52 mipstx19*-*-*) default_endian=BIG_ENDIAN ;;
53 # end-sanitize-tx19
54 # start-sanitize-r5900
55 mips64r59*-*-*) mips_endian=LITTLE_ENDIAN ;;
56 # end-sanitize-r5900
57 mips64*-*-*) default_endian=BIG_ENDIAN ;;
58 mips16*-*-*) default_endian=BIG_ENDIAN ;;
59 mips*-*-*) default_endian=BIG_ENDIAN ;;
60 *) default_endian=BIG_ENDIAN ;;
61 esac
62 SIM_AC_OPTION_ENDIAN($mips_endian,$default_endian)
63
64
65
66 #
67 # Select the bitsize of the target
68 #
69 case "${target}" in
70 # start-sanitize-tx19
71 mipstx19*-*-*) mips_bitsize=32 ; mips_msb=31 ;;
72 # end-sanitize-tx19
73 # start-sanitize-r5900
74 mips64r59*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
75 # end-sanitize-r5900
76 mips64*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
77 mips16*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
78 mips*-*-*) mips_bitsize=32 ; mips_msb=31 ;;
79 *) mips_bitsize=64 ; mips_msb=63 ;;
80 esac
81 SIM_AC_OPTION_BITSIZE($mips_bitsize,$mips_msb)
82
83
84
85 #
86 # Select the floating hardware support of the target
87 #
88 mips_fpu=HARDWARE_FLOATING_POINT
89 mips_fpu_bitsize=
90 case "${target}" in
91 # start-sanitize-tx19
92 mipstx19*-*-*) mips_fpu=SOFT_FLOATING_POINT ;;
93 # end-sanitize-tx19
94 mipstx39*-*-*) mips_fpu=HARD_FLOATING_POINT
95 mips_fpu_bitsize=32
96 ;;
97 # start-sanitize-r5900
98 mips64r59*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
99 # end-sanitize-r5900
100 mips64*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
101 mips16*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
102 mips*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
103 *) mips_fpu=HARD_FLOATING_POINT ;;
104 esac
105 SIM_AC_OPTION_FLOAT($mips_fpu,$mips_fpu_bitsize)
106
107
108
109 #
110 # Select the level of SMP support
111 #
112 case "${target}" in
113 # start-sanitize-r5900
114 mips64r59*-*-*) mips_smp=1 ;;
115 # end-sanitize-r5900
116 *) mips_smp=0 ;;
117 esac
118 SIM_AC_OPTION_SMP($mips_smp)
119
120
121
122 #
123 # Select the IGEN architecture
124 #
125 sim_use_gen=IGEN
126 sim_igen_machine="-M mipsIV"
127 sim_m16_machine="-M mips16"
128 sim_igen_filter="32,64,f"
129 sim_m16_filter="16"
130 case "${target}" in
131 # start-sanitize-tx19
132 mipstx19*-*-*) sim_default_gen=M16
133 #sim_use_gen=M16
134 sim_use_gen=NO
135 sim_igen_machine="-M tx19"
136 sim_m16_machine="-M tx19"
137 sim_igen_filter="32"
138 sim_m16_filter="16"
139 ;;
140 # end-sanitize-tx19
141 mipstx39*-*-*) sim_default_gen=IGEN
142 sim_use_gen=IGEN
143 sim_igen_filter="32,f"
144 sim_igen_machine="-M r3900"
145 ;;
146 # start-sanitize-r5900
147 mips64r59*-*-*) sim_default_gen=IGEN
148 sim_use_gen=IGEN
149 sim_igen_machine="-M r5900"
150 ;;
151 # end-sanitize-r5900
152 # start-sanitize-vr5400
153 mips64vr54*-*-*) sim_default_gen=IGEN
154 sim_use_gen=IGEN
155 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5400"
156 ;;
157 # end-sanitize-vr5400
158 mips64vr5*-*-*) sim_default_gen=IGEN
159 sim_use_gen=IGEN
160 sim_igen_machine="-M vr5000"
161 # start-sanitize-vr5400
162 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5000"
163 # end-sanitize-vr5400
164 ;;
165 mips64vr4100-*-*) echo "NOTE: mips64vr4100 still uses gencode"
166 sim_default_gen=M16
167 sim_igen_machine="-M tx19"
168 sim_m16_machine="-M tx19"
169 sim_igen_filter = "32,64,f"
170 sim_m16_filter = "16"
171 sim_use_gen=NO
172 ;;
173
174 mips64*-*-*) sim_default_gen=IGEN
175 sim_igen_filter="32,64,f"
176 sim_use_gen=IGEN
177 ;;
178 mips16*-*-*) sim_default_gen=M16
179 sim_igen_filter="32,64,f"
180 sim_m16_filter="16"
181 sim_use_igen=NO
182 ;;
183 mips*-*-*) sim_default_gen=IGEN
184 sim_igen_filter="32,f"
185 sim_use_gen=IGEN
186 ;;
187 esac
188 sim_igen_flags="-F ${sim_igen_filter} ${sim_igen_machine} ${sim_igen_smp}"
189 sim_m16_flags=" -F ${sim_m16_filter} ${sim_m16_machine} ${sim_igen_smp}"
190 AC_SUBST(sim_igen_flags)
191 AC_SUBST(sim_m16_flags)
192
193
194
195 #
196 # Enable igen
197 #
198 AC_ARG_ENABLE(sim-igen,
199 [ --enable-sim-igen=opts Enable IGEN simulator],
200 [case "${enableval}" in
201 yes) sim_gen="${sim_default_gen}";;
202 no) sim_gen=NO;;
203 16) sim_gen=M16;;
204 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_gen="";;
205 esac
206 if test x"$silent" != x"yes" && test x"$sim_gen" != x""; then
207 echo "Setting sim_igen = $sim_gen" 6>&1
208 fi],[sim_gen="${sim_use_gen}"])dnl
209 AC_SUBST(sim_gen)
210
211
212 case "${target}" in
213 # start-sanitize-sky
214 mips64r59*-sky-*) mips_extra_objs='$(SIM_SKY_OBJS)' ;
215 SIM_SUBTARGET="-DTARGET_SKY -DWITH_DEVICES=1 -DDEVICE_INIT=1";;
216
217 # end-sanitize-sky
218 *) mips_extra_objs="" ;;
219 esac
220 AC_SUBST(mips_extra_objs)
221
222
223 AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h)
224 AC_CHECK_LIB(m, fabs)
225 AC_CHECK_FUNCS(aint anint sqrt)
226
227 SIM_AC_OUTPUT