mips: Add multi-processor support for r5900. Others might work.
[deliverable/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:
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 case "${target}" in
34 # start-sanitize-tx19
35 mipstx19*-*-*) SIM_SUBTARGET="-DSUBTARGET_R3900=1";;
36 # end-sanitize-tx19
37 *) SIM_SUBTARGET="";;
38 esac
39 AC_SUBST(SIM_SUBTARGET)
40
41
42 #
43 # Select the byte order of the target
44 #
45 mips_endian=
46 default_endian=
47 case "${target}" in
48 # start-sanitize-tx19
49 mipstx19*-*-*) default_endian=BIG_ENDIAN ;;
50 # end-sanitize-tx19
51 # start-sanitize-r5900
52 mips64r59*-*-*) mips_endian=LITTLE_ENDIAN ;;
53 # end-sanitize-r5900
54 mips64*-*-*) default_endian=BIG_ENDIAN ;;
55 mips16*-*-*) default_endian=BIG_ENDIAN ;;
56 mips*-*-*) default_endian=BIG_ENDIAN ;;
57 *) default_endian=BIG_ENDIAN ;;
58 esac
59 SIM_AC_OPTION_ENDIAN($mips_endian,$default_endian)
60
61
62 #
63 # Select the bitsize of the target
64 #
65 case "${target}" in
66 # start-sanitize-tx19
67 mipstx19*-*-*) mips_bitsize=32 ; mips_msb=31 ;;
68 # end-sanitize-tx19
69 # start-sanitize-r5900
70 mips64r59*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
71 # end-sanitize-r5900
72 mips64*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
73 mips16*-*-*) mips_bitsize=64 ; mips_msb=63 ;;
74 mips*-*-*) mips_bitsize=32 ; mips_msb=31 ;;
75 *) mips_bitsize=64 ; mips_msb=63 ;;
76 esac
77 SIM_AC_OPTION_BITSIZE($mips_bitsize,$mips_msb)
78
79
80 #
81 # Select the floating hardware support of the target
82 #
83 mips_fpu=HARDWARE_FLOATING_POINT
84 case "${target}" in
85 # start-sanitize-tx19
86 mipstx19*-*-*) mips_fpu=SOFT_FLOATING_POINT ;;
87 # end-sanitize-tx19
88 # start-sanitize-r5900
89 mips64r59*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
90 # end-sanitize-r5900
91 mips64*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
92 mips16*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
93 mips*-*-*) mips_fpu=HARD_FLOATING_POINT ;;
94 *) mips_fpu=HARD_FLOATING_POINT ;;
95 esac
96 SIM_AC_OPTION_FLOAT($mips_fpu)
97
98
99 #
100 # Select the level of SMP support
101 #
102 case "${target}" in
103 # start-sanitize-r5900
104 mips64r59*-*-*) mips_smp=1 ;;
105 # end-sanitize-r5900
106 *) mips_smp=0 ;;
107 esac
108 SIM_AC_OPTION_SMP($mips_smp)
109
110
111 #
112 # Select the IGEN architecture
113 #
114 sim_use_gen=NO
115 sim_igen_machine="-M mipsIV"
116 sim_m16_machine="-M mips16"
117 sim_igen_filter="32,64,f"
118 sim_m16_filter="16"
119
120 case "${target}" in
121 # start-sanitize-tx19
122 mipstx19*-*-*) sim_default_gen=M16
123 sim_igen_machine="-M tx19"
124 sim_m16_machine="-M tx19"
125 sim_igen_filter="32"
126 sim_m16_filter="16"
127 ;;
128 # end-sanitize-tx19
129 # start-sanitize-r5900
130 mips64r59*-*-*) sim_default_gen=IGEN
131 sim_use_gen=IGEN
132 sim_igen_machine="-M r5900"
133 ;;
134 # end-sanitize-r5900
135 # start-sanitize-vr5400
136 mips64vr54*-*-*) sim_default_gen=IGEN
137 sim_use_gen=IGEN
138 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5400"
139 ;;
140 # end-sanitize-vr5400
141 mips64vr5*-*-*) sim_default_gen=IGEN
142 sim_use_gen=IGEN
143 sim_igen_machine="-M vr5000"
144 # start-sanitize-vr5400
145 sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5000"
146 # end-sanitize-vr5400
147 ;;
148 mips16*-*-*) sim_default_gen=M16
149 ;;
150 mips32*-*-*) sim_default_gen=IGEN
151 sim_igen_filter="32,f"
152 ;;
153 *) sim_default_gen=IGEN
154 ;;
155 esac
156 sim_igen_flags="-F ${sim_igen_filter} ${sim_igen_machine} ${sim_igen_smp}"
157 sim_m16_flags=" -F ${sim_m16_filter} ${sim_m16_machine} ${sim_igen_smp}"
158 AC_SUBST(sim_igen_flags)
159 AC_SUBST(sim_m16_flags)
160
161 #
162 # Enable igen
163 #
164 AC_ARG_ENABLE(sim-igen,
165 [ --enable-sim-igen=opts Enable IGEN simulator],
166 [case "${enableval}" in
167 yes) sim_gen="${sim_default_gen}";;
168 no) sim_gen=NO;;
169 16) sim_gen=M16;;
170 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_gen="";;
171 esac
172 if test x"$silent" != x"yes" && test x"$sim_gen" != x""; then
173 echo "Setting sim_igen = $sim_gen" 6>&1
174 fi],[sim_gen="${sim_use_gen}"])dnl
175 AC_SUBST(sim_gen)
176
177
178
179 AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h)
180 AC_CHECK_LIB(m, fabs)
181 AC_CHECK_FUNCS(aint anint sqrt)
182
183 SIM_AC_OUTPUT
This page took 0.034801 seconds and 5 git commands to generate.