1 dnl Process this file with autoconf to produce a configure script.
2 sinclude(../common/aclocal.m4)
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
15 # Ensure a reasonable default simulator is constructed: (DEPRECATED)
18 mipstx19*-*-*) SIMCONF="-mips1 -mcpu=r1900 -mno-fp --warnings";;
21 mips64tx49*-*-*) SIMCONF="-mips3 --warnings -mcpu=r4900";;
23 # start-sanitize-r5900
24 mips64r59*-*-*) SIMCONF="-mips3 --warnings -mcpu=r5900";;
26 mips64*-*-*) SIMCONF="-mips0 --warnings";;
27 mips16*-*-*) SIMCONF="-mips0 --warnings";;
28 mips*-*-*) SIMCONF="-mips2 --warnings";;
29 *) SIMCONF="-mips0 --warnings";;
36 mipstx19*-*-*) SIM_SUBTARGET="-DSUBTARGET_R3900=1";;
40 AC_SUBST(SIM_SUBTARGET)
45 # Select the byte order of the target
51 mipstx19*-*-*) default_endian=BIG_ENDIAN ;;
53 # start-sanitize-r5900
54 mips64r59*-*-*) mips_endian=LITTLE_ENDIAN ;;
56 mips64*-*-*) default_endian=BIG_ENDIAN ;;
57 mips16*-*-*) default_endian=BIG_ENDIAN ;;
58 mips*-*-*) default_endian=BIG_ENDIAN ;;
59 *) default_endian=BIG_ENDIAN ;;
61 SIM_AC_OPTION_ENDIAN($mips_endian,$default_endian)
66 # Select the bitsize of the target
70 mipstx19*-*-*) mips_bitsize=32 ; mips_msb=31 ;;
72 # start-sanitize-r5900
73 mips64r59*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
75 mips64*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
76 mips16*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
77 mips*-*-*) mips_bitsize=32 ; mips_msb=31 ;;
78 *) mips_bitsize=64 ; mips_msb=63 ;;
80 SIM_AC_OPTION_BITSIZE($mips_bitsize,$mips_msb)
85 # Select the floating hardware support of the target
87 mips_fpu=HARDWARE_FLOATING_POINT
90 mipstx19*-*-*) mips_fpu=SOFT_FLOATING_POINT ;;
92 # start-sanitize-r5900
93 mips64r59*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
95 mips64*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
96 mips16*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
97 mips*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
98 *) mips_fpu=HARD_FLOATING_POINT ;;
100 SIM_AC_OPTION_FLOAT($mips_fpu)
105 # Select the level of SMP support
108 # start-sanitize-r5900
109 mips64r59*-*-*) mips_smp=1 ;;
113 SIM_AC_OPTION_SMP($mips_smp)
118 # Select the IGEN architecture
121 sim_igen_machine="-M mipsIV"
122 sim_m16_machine="-M mips16"
123 sim_igen_filter="32,64,f"
126 # start-sanitize-tx19
127 mipstx19*-*-*) sim_default_gen=M16
128 sim_igen_machine="-M tx19"
129 sim_m16_machine="-M tx19"
134 # start-sanitize-r5900
135 mips64r59*-*-*) sim_default_gen=IGEN
137 sim_igen_machine="-M r5900"
140 # start-sanitize-vr5400
141 mips64vr54*-*-*) sim_default_gen=IGEN
143 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5400"
145 # end-sanitize-vr5400
146 mips64vr5*-*-*) sim_default_gen=IGEN
148 sim_igen_machine="-M vr5000"
149 # start-sanitize-vr5400
150 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5000"
151 # end-sanitize-vr5400
153 mips64*-*-*) sim_default_gen=IGEN
154 sim_igen_filter="32,64,f"
157 mips16*-*-*) sim_default_gen=M16
158 sim_igen_filter="32,64,f"
161 mips*-*-*) sim_default_gen=IGEN
162 sim_igen_filter="32,f"
166 sim_igen_flags="-F ${sim_igen_filter} ${sim_igen_machine} ${sim_igen_smp}"
167 sim_m16_flags=" -F ${sim_m16_filter} ${sim_m16_machine} ${sim_igen_smp}"
168 AC_SUBST(sim_igen_flags)
169 AC_SUBST(sim_m16_flags)
176 AC_ARG_ENABLE(sim-igen,
177 [ --enable-sim-igen=opts Enable IGEN simulator],
178 [case "${enableval}" in
179 yes) sim_gen="${sim_default_gen}";;
182 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_gen="";;
184 if test x"$silent" != x"yes" && test x"$sim_gen" != x""; then
185 echo "Setting sim_igen = $sim_gen" 6>&1
186 fi],[sim_gen="${sim_use_gen}"])dnl
191 AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h)
192 AC_CHECK_LIB(m, fabs)
193 AC_CHECK_FUNCS(aint anint sqrt)