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