]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/mips/configure.in
* Makefile.in (SIM_SKY_OBJS,MIPS_EXTRA_OBJS): New vars.
[thirdparty/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 mips64*-*-*) SIMCONF="-mips0 --warnings";;
27 mips16*-*-*) SIMCONF="-mips0 --warnings";;
28 mips*-*-*) SIMCONF="-mips2 --warnings";;
29 *) SIMCONF="-mips0 --warnings";;
30 esac
31 AC_SUBST(SIMCONF)
32
33 # DEPRECATED
34 case "${target}" in
35 # start-sanitize-tx19
36 mipstx19*-*-*) SIM_SUBTARGET="-DSUBTARGET_R3900=1";;
37 # end-sanitize-tx19
38 *) SIM_SUBTARGET="";;
39 esac
40 AC_SUBST(SIM_SUBTARGET)
41
42
43
44 #
45 # Select the byte order of the target
46 #
47 mips_endian=
48 default_endian=
49 case "${target}" in
50 # start-sanitize-tx19
51 mipstx19*-*-*) default_endian=BIG_ENDIAN ;;
52 # end-sanitize-tx19
53 # start-sanitize-r5900
54 mips64r59*-*-*) mips_endian=LITTLE_ENDIAN ;;
55 # end-sanitize-r5900
56 mips64*-*-*) default_endian=BIG_ENDIAN ;;
57 mips16*-*-*) default_endian=BIG_ENDIAN ;;
58 mips*-*-*) default_endian=BIG_ENDIAN ;;
59 *) default_endian=BIG_ENDIAN ;;
60 esac
61 SIM_AC_OPTION_ENDIAN($mips_endian,$default_endian)
62
63
64
65 #
66 # Select the bitsize of the target
67 #
68 case "${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 ;;
79 esac
80 SIM_AC_OPTION_BITSIZE($mips_bitsize,$mips_msb)
81
82
83
84 #
85 # Select the floating hardware support of the target
86 #
87 mips_fpu=HARDWARE_FLOATING_POINT
88 mips_fpu_bitsize=
89 case "${target}" in
90 # start-sanitize-tx19
91 mipstx19*-*-*) mips_fpu=SOFT_FLOATING_POINT ;;
92 # end-sanitize-tx19
93 mipstx39*-*-*) mips_fpu=HARD_FLOATING_POINT
94 mips_fpu_bitsize=32
95 ;;
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 ;;
103 esac
104 SIM_AC_OPTION_FLOAT($mips_fpu,$mips_fpu_bitsize)
105
106
107
108 #
109 # Select the level of SMP support
110 #
111 case "${target}" in
112 # start-sanitize-r5900
113 mips64r59*-*-*) mips_smp=1 ;;
114 # end-sanitize-r5900
115 *) mips_smp=0 ;;
116 esac
117 SIM_AC_OPTION_SMP($mips_smp)
118
119
120
121 #
122 # Select the IGEN architecture
123 #
124 sim_use_gen=IGEN
125 sim_igen_machine="-M mipsIV"
126 sim_m16_machine="-M mips16"
127 sim_igen_filter="32,64,f"
128 sim_m16_filter="16"
129 case "${target}" in
130 # start-sanitize-tx19
131 mipstx19*-*-*) sim_default_gen=M16
132 #sim_use_gen=M16
133 sim_use_gen=NO
134 sim_igen_machine="-M tx19"
135 sim_m16_machine="-M tx19"
136 sim_igen_filter="32"
137 sim_m16_filter="16"
138 ;;
139 # end-sanitize-tx19
140 mipstx39*-*-*) sim_default_gen=IGEN
141 sim_use_gen=IGEN
142 sim_igen_filter="32,f"
143 sim_igen_machine="-M r3900"
144 ;;
145 # start-sanitize-r5900
146 mips64r59*-*-*) sim_default_gen=IGEN
147 sim_use_gen=IGEN
148 sim_igen_machine="-M r5900"
149 ;;
150 # end-sanitize-r5900
151 # start-sanitize-vr5400
152 mips64vr54*-*-*) sim_default_gen=IGEN
153 sim_use_gen=IGEN
154 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5400"
155 ;;
156 # end-sanitize-vr5400
157 mips64vr5*-*-*) sim_default_gen=IGEN
158 sim_use_gen=IGEN
159 sim_igen_machine="-M vr5000"
160 # start-sanitize-vr5400
161 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5000"
162 # end-sanitize-vr5400
163 ;;
164 mips64*-*-*) sim_default_gen=IGEN
165 sim_igen_filter="32,64,f"
166 sim_use_gen=IGEN
167 ;;
168 mips16*-*-*) sim_default_gen=M16
169 sim_igen_filter="32,64,f"
170 sim_m16_filter="16"
171 sim_use_igen=NO
172 ;;
173 mips*-*-*) sim_default_gen=IGEN
174 sim_igen_filter="32,f"
175 sim_use_gen=IGEN
176 ;;
177 esac
178 sim_igen_flags="-F ${sim_igen_filter} ${sim_igen_machine} ${sim_igen_smp}"
179 sim_m16_flags=" -F ${sim_m16_filter} ${sim_m16_machine} ${sim_igen_smp}"
180 AC_SUBST(sim_igen_flags)
181 AC_SUBST(sim_m16_flags)
182
183
184
185 #
186 # Enable igen
187 #
188 AC_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="";;
195 esac
196 if test x"$silent" != x"yes" && test x"$sim_gen" != x""; then
197 echo "Setting sim_igen = $sim_gen" 6>&1
198 fi],[sim_gen="${sim_use_gen}"])dnl
199 AC_SUBST(sim_gen)
200
201
202 case "${target}" in
203 # start-sanitize-sky
204 mips64r59*-sky-*) mips_extra_objs='$(SIM_SKY_OBJS)' ;;
205 # end-sanitize-sky
206 *) mips_extra_objs="" ;;
207 esac
208 AC_SUBST(mips_extra_objs)
209
210
211 AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h)
212 AC_CHECK_LIB(m, fabs)
213 AC_CHECK_FUNCS(aint anint sqrt)
214
215 SIM_AC_OUTPUT