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 | ||
c98ec95d JSC |
15 | # Ensure a reasonable default simulator is constructed: |
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 |
c98ec95d | 26 | mips64*-*-*) SIMCONF="-mips0 --warnings";; |
831f59a2 | 27 | mips16*-*-*) SIMCONF="-mips0 --warnings";; |
c98ec95d JSC |
28 | mips*-*-*) SIMCONF="-mips2 --warnings";; |
29 | *) SIMCONF="-mips0 --warnings";; | |
30 | esac | |
e3d12c65 | 31 | AC_SUBST(SIMCONF) |
8ad57737 | 32 | |
c476ac55 GRK |
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 | ||
18c64df6 AC |
41 | |
42 | # | |
43 | # Select the byte order of the target | |
44 | # | |
45 | case "${target}" in | |
46 | # start-sanitize-tx19 | |
47 | mipstx19*-*-*) mips_endian=0 ;; | |
48 | # end-sanitize-tx19 | |
49 | # start-sanitize-r5900 | |
50 | mips64r59*-*-*) mips_endian=LITTLE_ENDIAN ;; | |
51 | # end-sanitize-r5900 | |
52 | mips64*-*-*) mips_endian=0 ;; | |
53 | mips16*-*-*) mips_endian=0 ;; | |
54 | mips*-*-*) mips_endian=0 ;; | |
55 | *) mips_endian=0 ;; | |
56 | esac | |
57 | SIM_AC_OPTION_ENDIAN($mips_endian) | |
58 | ||
59 | ||
60 | # | |
61 | # Select the bitsize of the target | |
62 | # | |
63 | case "${target}" in | |
64 | # start-sanitize-tx19 | |
65 | mipstx19*-*-*) mips_bitsize=32 ; mips_msb=31 ;; | |
66 | # end-sanitize-tx19 | |
67 | # start-sanitize-r5900 | |
68 | mips64r59*-*-*) mips_bitsize=64 ; mips_msb=63 ;; | |
69 | # end-sanitize-r5900 | |
70 | mips64*-*-*) mips_bitsize=64 ; mips_msb=63 ;; | |
71 | mips16*-*-*) mips_bitsize=64 ; mips_msb=63 ;; | |
72 | mips*-*-*) mips_bitsize=32 ; mips_msb=31 ;; | |
73 | *) mips_bitsize=64 ; mips_msb=63 ;; | |
74 | esac | |
75 | SIM_AC_OPTION_BITSIZE($mips_bitsize,$mips_msb) | |
76 | ||
77 | ||
78 | # | |
79 | # Select the floating hardware support of the target | |
80 | # | |
81 | mips_fpu=HARDWARE_FLOATING_POINT | |
82 | case "${target}" in | |
83 | # start-sanitize-tx19 | |
84 | mipstx19*-*-*) mips_fpu=SOFT_FLOATING_POINT ;; | |
85 | # end-sanitize-tx19 | |
86 | # start-sanitize-r5900 | |
87 | mips64r59*-*-*) mips_fpu=HARD_FLOATING_POINT ;; | |
88 | # end-sanitize-r5900 | |
89 | mips64*-*-*) mips_fpu=HARD_FLOATING_POINT ;; | |
90 | mips16*-*-*) mips_fpu=HARD_FLOATING_POINT ;; | |
91 | mips*-*-*) mips_fpu=HARD_FLOATING_POINT ;; | |
92 | *) mips_fpu=HARD_FLOATING_POINT ;; | |
93 | esac | |
94 | SIM_AC_OPTION_FLOAT($mips_fpu) | |
95 | ||
96 | ||
122edc03 | 97 | # |
44b8585a | 98 | # Select the IGEN architecture |
122edc03 | 99 | # |
44b8585a AC |
100 | sim_use_gen=NO |
101 | sim_igen_machine="mipsIV" | |
102 | sim_m16_machine="mips16" | |
103 | sim_igen_filter="32,64,f" | |
104 | sim_m16_filter="16" | |
16bd5d6e | 105 | |
122edc03 | 106 | case "${target}" in |
90ad43b2 | 107 | # start-sanitize-tx19 |
44b8585a AC |
108 | mipstx19*-*-*) sim_default_gen=M16 |
109 | sim_igen_machine="tx19" | |
110 | sim_m16_machine="tx19" | |
111 | sim_igen_filter="32" | |
112 | sim_m16_filter="16" | |
113 | ;; | |
90ad43b2 | 114 | # end-sanitize-tx19 |
122edc03 | 115 | # start-sanitize-r5900 |
44b8585a AC |
116 | mips64r59*-*-*) sim_default_gen=IGEN |
117 | sim_igen_machine="r5900" | |
118 | ;; | |
122edc03 AC |
119 | # end-sanitize-r5900 |
120 | # start-sanitize-vr5400 | |
44b8585a AC |
121 | mips64vr54*-*-*) sim_default_gen=IGEN |
122 | sim_use_gen=IGEN | |
123 | sim_igen_machine="vr5400" | |
f23e93da | 124 | #sim_igen_machine="vr5000,vr5400 -G gen-muli-sim" |
44b8585a | 125 | ;; |
122edc03 | 126 | # end-sanitize-vr5400 |
f23e93da AC |
127 | mips64vr5*-*-*) sim_default_gen=IGEN |
128 | sim_igen_machine="vr5000" | |
129 | ;; | |
44b8585a AC |
130 | mips16*-*-*) sim_default_gen=M16 |
131 | ;; | |
132 | mips32*-*-*) sim_default_gen=IGEN | |
133 | sim_igen_filter="32,f" | |
134 | ;; | |
135 | *) sim_default_gen=IGEN | |
136 | ;; | |
122edc03 | 137 | esac |
44b8585a AC |
138 | sim_igen_flags="-F ${sim_igen_filter} -M ${sim_igen_machine}" |
139 | sim_m16_flags=" -F ${sim_m16_filter} -M ${sim_m16_machine}" | |
16bd5d6e AC |
140 | AC_SUBST(sim_igen_flags) |
141 | AC_SUBST(sim_m16_flags) | |
122edc03 | 142 | |
44b8585a AC |
143 | # |
144 | # Enable igen | |
145 | # | |
146 | AC_ARG_ENABLE(sim-igen, | |
147 | [ --enable-sim-igen=opts Enable IGEN simulator], | |
148 | [case "${enableval}" in | |
149 | yes) sim_gen="${sim_default_gen}";; | |
150 | no) sim_gen=NO;; | |
151 | 16) sim_gen=M16;; | |
152 | *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_gen="";; | |
153 | esac | |
154 | if test x"$silent" != x"yes" && test x"$sim_gen" != x""; then | |
155 | echo "Setting sim_igen = $sim_gen" 6>&1 | |
156 | fi],[sim_gen="${sim_use_gen}"])dnl | |
157 | AC_SUBST(sim_gen) | |
158 | ||
159 | ||
122edc03 | 160 | |
50a2a691 | 161 | AC_CHECK_HEADERS(string.h strings.h stdlib.h stdlib.h) |
4fa134be | 162 | AC_CHECK_LIB(m, fabs) |
617c07c6 | 163 | AC_CHECK_FUNCS(aint anint sqrt) |
4fa134be | 164 | |
e3d12c65 | 165 | SIM_AC_OUTPUT |