fe57936e4a75413ed2ac9546163b753e06627f8a
[deliverable/binutils-gdb.git] / sim / mips / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.5)dnl
3 AC_INIT(Makefile.in)
4
5 SIM_AC_COMMON
6
7 dnl Options available in this module
8 SIM_AC_OPTION_INLINE()
9 SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
10 SIM_AC_OPTION_HOSTENDIAN
11 SIM_AC_OPTION_WARNINGS
12
13
14 # Ensure a reasonable default simulator is constructed: (DEPRECATED)
15 case "${target}" in
16 # start-sanitize-tx19
17 mipstx19*-*-*) SIMCONF="-mips1 -mcpu=r1900 -mno-fp --warnings";;
18 # end-sanitize-tx19
19 # start-sanitize-tx49
20 mips64tx49*-*-*) SIMCONF="-mips3 --warnings -mcpu=r4900";;
21 # end-sanitize-tx49
22 # start-sanitize-r5900
23 mips64r59*-*-*) SIMCONF="-mips3 --warnings -mcpu=r5900";;
24 # end-sanitize-r5900
25 mips64vr4100-*-*) SIMCOMF="-mips0 -mcpu=r4100 -mgp64 --warnings" ;;
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 mips_addr_bitsize=
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 ; mips_addr_bitsize=32;;
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,$mips_addr_bitsize)
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 ; mips_fpu_bitsize=32 ;;
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_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-vr4320
152 mips64vr4320-*-*) sim_default_gen=IGEN
153 sim_use_gen=IGEN
154 sim_igen_machine="-M mipsIV,vr4320 -G gen-multi-sim=vr4320"
155 ;;
156 # end-sanitize-vr4320
157 mips64vr43*-*-*) sim_default_gen=IGEN
158 sim_use_gen=IGEN
159 sim_igen_machine="-M mipsIV"
160 # start-sanitize-vr4320
161 sim_igen_machine="-M mipsIV,vr4320 -G gen-multi-sim=mipsIV"
162 # end-sanitize-vr4320
163 ;;
164 # start-sanitize-vr5400
165 mips64vr54*-*-*) sim_default_gen=IGEN
166 sim_use_gen=IGEN
167 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5400"
168 ;;
169 # end-sanitize-vr5400
170 mips64vr5*-*-*) sim_default_gen=IGEN
171 sim_use_gen=IGEN
172 sim_igen_machine="-M vr5000"
173 # start-sanitize-vr5400
174 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5000"
175 # end-sanitize-vr5400
176 ;;
177 mips64vr4100-*-*) echo "NOTE: mips64vr4100 still uses gencode"
178 sim_default_gen=M16
179 sim_igen_machine="-M tx19"
180 sim_m16_machine="-M tx19"
181 sim_igen_filter = "32,64,f"
182 sim_m16_filter = "16"
183 sim_use_gen=NO
184 ;;
185
186 mips64*-*-*) sim_default_gen=IGEN
187 sim_igen_filter="32,64,f"
188 sim_use_gen=IGEN
189 ;;
190 mips16*-*-*) sim_default_gen=M16
191 sim_igen_filter="32,64,f"
192 sim_m16_filter="16"
193 sim_use_igen=NO
194 ;;
195 mips*-*-*) sim_default_gen=IGEN
196 sim_igen_filter="32,f"
197 sim_use_gen=IGEN
198 ;;
199 esac
200 sim_igen_flags="-F ${sim_igen_filter} ${sim_igen_machine} ${sim_igen_smp}"
201 sim_m16_flags=" -F ${sim_m16_filter} ${sim_m16_machine} ${sim_igen_smp}"
202 AC_SUBST(sim_igen_flags)
203 AC_SUBST(sim_m16_flags)
204
205
206
207 #
208 # Enable igen
209 #
210 AC_ARG_ENABLE(sim-igen,
211 [ --enable-sim-igen=opts Enable IGEN simulator],
212 [case "${enableval}" in
213 yes) sim_gen="${sim_default_gen}";;
214 no) sim_gen=NO;;
215 16) sim_gen=M16;;
216 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-igen"); sim_gen="";;
217 esac
218 if test x"$silent" != x"yes" && test x"$sim_gen" != x""; then
219 echo "Setting sim_igen = $sim_gen" 6>&1
220 fi],[sim_gen="${sim_use_gen}"])dnl
221 AC_SUBST(sim_gen)
222
223
224 case "${target}" in
225 # start-sanitize-sky
226 mips64r59*-sky-*) mips_extra_objs='$(SIM_SKY_OBJS)' ;
227 SIM_SUBTARGET="-DTARGET_SKY -DWITH_DEVICES=1 -DDEVICE_INIT=1";;
228
229 # end-sanitize-sky
230 *) mips_extra_objs="" ;;
231 esac
232 AC_SUBST(mips_extra_objs)
233
234
235 AC_PATH_X
236 mips_extra_libs=""
237 # start-sanitize-sky
238 # Enable GPU2 library
239 AC_ARG_WITH(sim-gpu2,
240 [ --with-sim-gpu2=path Use GPU2 library under given directory],
241 [if test -d "${withval}"
242 then
243 SIM_SUBTARGET="${SIM_SUBTARGET} -DSKY_GPU2 -I${withval}/include"
244 mips_extra_libs="-L${withval}/lib -lgpu2 -L${x_libraries} -lX11"
245 else
246 AC_MSG_ERROR("Directory ${withval} does not exist.");
247 fi])dnl
248 # Enable target accurate FP library
249 AC_ARG_WITH(sim-funit,
250 [ --with-sim-funit=path Use target FP library under given directory],
251 [if test -d "${withval}"
252 then
253 SIM_SUBTARGET="${SIM_SUBTARGET} -DSKY_FUNIT -I${withval}/include"
254 mips_extra_libs="${mips_extra_libs} -L${withval}/lib -lfunit"
255 else
256 AC_MSG_ERROR("Directory ${withval} does not exist.");
257 fi])dnl
258 # end-sanitize-sky
259 AC_SUBST(mips_extra_libs)
260
261 AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h)
262 AC_CHECK_LIB(m, fabs)
263 AC_CHECK_FUNCS(aint anint sqrt)
264
265 SIM_AC_OUTPUT
This page took 0.041718 seconds and 4 git commands to generate.