Commit | Line | Data |
---|---|---|
19c5af72 DE |
1 | dnl Process this file with autoconf to produce a configure script. |
2 | sinclude(../common/aclocal.m4) | |
a271d1d9 | 3 | AC_PREREQ(2.5)dnl |
8ad57737 JSC |
4 | AC_INIT(Makefile.in) |
5 | ||
e3d12c65 | 6 | SIM_AC_COMMON |
8ad57737 | 7 | |
50a2a691 AC |
8 | dnl Options available in this module |
9 | SIM_AC_OPTION_INLINE(0) | |
76a6247f | 10 | SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT) |
50a2a691 AC |
11 | SIM_AC_OPTION_HOSTENDIAN |
12 | SIM_AC_OPTION_WARNINGS | |
13 | ||
14 | ||
4634263c | 15 | # Ensure a reasonable default simulator is constructed: (DEPRECATED) |
c98ec95d | 16 | case "${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 |
180d1f0b | 26 | mips64vr4100-*-*) SIMCOMF="-mips0 -mcpu=r4100 -mgp64 --warnings" ;; |
c98ec95d | 27 | mips64*-*-*) SIMCONF="-mips0 --warnings";; |
831f59a2 | 28 | mips16*-*-*) SIMCONF="-mips0 --warnings";; |
c98ec95d JSC |
29 | mips*-*-*) SIMCONF="-mips2 --warnings";; |
30 | *) SIMCONF="-mips0 --warnings";; | |
31 | esac | |
e3d12c65 | 32 | AC_SUBST(SIMCONF) |
8ad57737 | 33 | |
4634263c | 34 | # DEPRECATED |
c476ac55 GRK |
35 | case "${target}" in |
36 | # start-sanitize-tx19 | |
37 | mipstx19*-*-*) SIM_SUBTARGET="-DSUBTARGET_R3900=1";; | |
38 | # end-sanitize-tx19 | |
39 | *) SIM_SUBTARGET="";; | |
40 | esac | |
41 | AC_SUBST(SIM_SUBTARGET) | |
42 | ||
18c64df6 | 43 | |
4634263c | 44 | |
18c64df6 AC |
45 | # |
46 | # Select the byte order of the target | |
47 | # | |
2d44e12a AC |
48 | mips_endian= |
49 | default_endian= | |
18c64df6 AC |
50 | case "${target}" in |
51 | # start-sanitize-tx19 | |
2d44e12a | 52 | mipstx19*-*-*) default_endian=BIG_ENDIAN ;; |
18c64df6 AC |
53 | # end-sanitize-tx19 |
54 | # start-sanitize-r5900 | |
55 | mips64r59*-*-*) mips_endian=LITTLE_ENDIAN ;; | |
56 | # end-sanitize-r5900 | |
2d44e12a AC |
57 | mips64*-*-*) default_endian=BIG_ENDIAN ;; |
58 | mips16*-*-*) default_endian=BIG_ENDIAN ;; | |
59 | mips*-*-*) default_endian=BIG_ENDIAN ;; | |
60 | *) default_endian=BIG_ENDIAN ;; | |
18c64df6 | 61 | esac |
2d44e12a | 62 | SIM_AC_OPTION_ENDIAN($mips_endian,$default_endian) |
18c64df6 AC |
63 | |
64 | ||
4634263c | 65 | |
18c64df6 AC |
66 | # |
67 | # Select the bitsize of the target | |
68 | # | |
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 ;; | |
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) | |
82 | ||
83 | ||
4634263c | 84 | |
18c64df6 AC |
85 | # |
86 | # Select the floating hardware support of the target | |
87 | # | |
88 | mips_fpu=HARDWARE_FLOATING_POINT | |
37379a25 | 89 | mips_fpu_bitsize= |
18c64df6 AC |
90 | case "${target}" in |
91 | # start-sanitize-tx19 | |
92 | mipstx19*-*-*) mips_fpu=SOFT_FLOATING_POINT ;; | |
93 | # end-sanitize-tx19 | |
37379a25 AC |
94 | mipstx39*-*-*) mips_fpu=HARD_FLOATING_POINT |
95 | mips_fpu_bitsize=32 | |
96 | ;; | |
18c64df6 AC |
97 | # start-sanitize-r5900 |
98 | mips64r59*-*-*) mips_fpu=HARD_FLOATING_POINT ;; | |
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 | |
37379a25 | 105 | SIM_AC_OPTION_FLOAT($mips_fpu,$mips_fpu_bitsize) |
18c64df6 AC |
106 | |
107 | ||
4634263c | 108 | |
01737f42 AC |
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 | ||
4634263c | 121 | |
122edc03 | 122 | # |
44b8585a | 123 | # Select the IGEN architecture |
122edc03 | 124 | # |
37379a25 | 125 | sim_use_gen=IGEN |
c02ed6a8 AC |
126 | sim_igen_machine="-M mipsIV" |
127 | sim_m16_machine="-M mips16" | |
44b8585a AC |
128 | sim_igen_filter="32,64,f" |
129 | sim_m16_filter="16" | |
122edc03 | 130 | case "${target}" in |
90ad43b2 | 131 | # start-sanitize-tx19 |
44b8585a | 132 | mipstx19*-*-*) sim_default_gen=M16 |
37379a25 AC |
133 | #sim_use_gen=M16 |
134 | sim_use_gen=NO | |
c02ed6a8 AC |
135 | sim_igen_machine="-M tx19" |
136 | sim_m16_machine="-M tx19" | |
44b8585a AC |
137 | sim_igen_filter="32" |
138 | sim_m16_filter="16" | |
139 | ;; | |
90ad43b2 | 140 | # end-sanitize-tx19 |
37379a25 AC |
141 | mipstx39*-*-*) sim_default_gen=IGEN |
142 | sim_use_gen=IGEN | |
143 | sim_igen_filter="32,f" | |
144 | sim_igen_machine="-M r3900" | |
145 | ;; | |
122edc03 | 146 | # start-sanitize-r5900 |
44b8585a | 147 | mips64r59*-*-*) sim_default_gen=IGEN |
c4db5b04 | 148 | sim_use_gen=IGEN |
c02ed6a8 | 149 | sim_igen_machine="-M r5900" |
44b8585a | 150 | ;; |
122edc03 AC |
151 | # end-sanitize-r5900 |
152 | # start-sanitize-vr5400 | |
44b8585a AC |
153 | mips64vr54*-*-*) sim_default_gen=IGEN |
154 | sim_use_gen=IGEN | |
c02ed6a8 | 155 | sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5400" |
44b8585a | 156 | ;; |
122edc03 | 157 | # end-sanitize-vr5400 |
f23e93da | 158 | mips64vr5*-*-*) sim_default_gen=IGEN |
255cbbf1 | 159 | sim_use_gen=IGEN |
c02ed6a8 | 160 | sim_igen_machine="-M vr5000" |
255cbbf1 JL |
161 | # start-sanitize-vr5400 |
162 | sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5000" | |
163 | # end-sanitize-vr5400 | |
f23e93da | 164 | ;; |
180d1f0b JM |
165 | mips64vr4100-*-*) echo "NOTE: mips64vr4100 still uses gencode" |
166 | sim_default_gen=M16 | |
167 | sim_igen_machine="-M tx19" | |
168 | sim_m16_machine="-M tx19" | |
169 | sim_igen_filter = "32,64,f" | |
170 | sim_m16_filter = "16" | |
171 | sim_use_gen=NO | |
172 | ;; | |
173 | ||
4634263c AC |
174 | mips64*-*-*) sim_default_gen=IGEN |
175 | sim_igen_filter="32,64,f" | |
176 | sim_use_gen=IGEN | |
177 | ;; | |
44b8585a | 178 | mips16*-*-*) sim_default_gen=M16 |
4634263c AC |
179 | sim_igen_filter="32,64,f" |
180 | sim_m16_filter="16" | |
37379a25 | 181 | sim_use_igen=NO |
44b8585a | 182 | ;; |
4634263c | 183 | mips*-*-*) sim_default_gen=IGEN |
44b8585a | 184 | sim_igen_filter="32,f" |
4634263c | 185 | sim_use_gen=IGEN |
44b8585a | 186 | ;; |
122edc03 | 187 | esac |
01737f42 AC |
188 | sim_igen_flags="-F ${sim_igen_filter} ${sim_igen_machine} ${sim_igen_smp}" |
189 | sim_m16_flags=" -F ${sim_m16_filter} ${sim_m16_machine} ${sim_igen_smp}" | |
16bd5d6e AC |
190 | AC_SUBST(sim_igen_flags) |
191 | AC_SUBST(sim_m16_flags) | |
122edc03 | 192 | |
4634263c AC |
193 | |
194 | ||
44b8585a AC |
195 | # |
196 | # Enable igen | |
197 | # | |
198 | AC_ARG_ENABLE(sim-igen, | |
199 | [ --enable-sim-igen=opts Enable IGEN simulator], | |
200 | [case "${enableval}" in | |
201 | yes) sim_gen="${sim_default_gen}";; | |
202 | no) sim_gen=NO;; | |
203 | 16) sim_gen=M16;; | |
204 | *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_gen="";; | |
205 | esac | |
206 | if test x"$silent" != x"yes" && test x"$sim_gen" != x""; then | |
207 | echo "Setting sim_igen = $sim_gen" 6>&1 | |
208 | fi],[sim_gen="${sim_use_gen}"])dnl | |
209 | AC_SUBST(sim_gen) | |
210 | ||
211 | ||
5759734b DE |
212 | case "${target}" in |
213 | # start-sanitize-sky | |
2c88fae9 | 214 | mips64r59*-sky-*) mips_extra_objs='$(SIM_SKY_OBJS)' ; |
97908603 | 215 | SIM_SUBTARGET="-DTARGET_SKY -DWITH_DEVICES=1 -DDEVICE_INIT=1";; |
2c88fae9 | 216 | |
5759734b DE |
217 | # end-sanitize-sky |
218 | *) mips_extra_objs="" ;; | |
219 | esac | |
220 | AC_SUBST(mips_extra_objs) | |
221 | ||
122edc03 | 222 | |
50a2a691 | 223 | AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h) |
4fa134be | 224 | AC_CHECK_LIB(m, fabs) |
617c07c6 | 225 | AC_CHECK_FUNCS(aint anint sqrt) |
4fa134be | 226 | |
e3d12c65 | 227 | SIM_AC_OUTPUT |