Update dependencies; Fix multiple options in --enable-sim-cflags
[deliverable/binutils-gdb.git] / sim / ppc / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.3)dnl
3 AC_INIT(Makefile.in)
4
5 AC_ARG_ENABLE(sim-cflags,
6 [ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
7 [case "${enableval}" in
8 yes) sim_cflags="-O2 -fomit-frame-pointer";;
9 no) sim_cflags="";;
10 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
11 esac],[sim_cflags=""])dnl
12
13 AC_ARG_ENABLE(sim-config,
14 [ --enable-sim-config=file Override default config file],
15 [case "${enableval}" in
16 yes) sim_config="std-config.h";;
17 no) sim_config="std-config.h";;
18 *) sim_config="${enableval}";;
19 esac],[sim_config="std-config.h]")dnl
20
21 AC_ARG_ENABLE(sim-opcode,
22 [ --enable-sim-opcode=which Override default opcode lookup.],
23 [case "${enableval}" in
24 yes) sim_opcode="ppc-opcode-simple";;
25 no) sim_opcode="ppc-opcode-simple";;
26 *) sim_opcode="ppc-opcode-${enableval}";;
27 esac],[sim_opcode="ppc-opcode-simple"])dnl
28
29 AC_ARG_ENABLE(sim-switch,
30 [ --enable-sim-switch Use a switch instead of a table for instruction call.],
31 [case "${enableval}" in
32 yes) sim_switch="-s";;
33 *) sim_switch="";;
34 esac],[sim_switch=""])dnl
35
36 AC_ARG_ENABLE(sim-duplicate,
37 [ --enable-sim-duplicate Expand (duplicate) semantic functions.],
38 [case "${enableval}" in
39 yes) sim_dup="-e";;
40 *) sim_dup="";;
41 esac],[sim_dup=""])dnl
42
43 AC_ARG_ENABLE(sim-filter,
44 [ --enable-sim-filter=rule Specify filter rules.],
45 [case "${enableval}" in
46 yes) sim_filter="";;
47 *) sim_filter="-f $enableval";;
48 esac],[sim_filter="-f 64"])dnl
49
50 AC_ARG_ENABLE(sim-icache,
51 [ --enable-sim-icache=size Specify instruction cache size.],
52 [case "${enableval}" in
53 yes) sim_icache="-r 1024";;
54 *) sim_icache="";;
55 esac],[sim_icache=""])dnl
56
57 AC_ARG_ENABLE(sim-inline,
58 [ --enable-sim-inline=inlines Specify which functions should be inlined.],
59 [sim_inline=""
60 case "$enableval" in
61 no) flags="";;
62 0) flags="-DDEFAULT_INLINE=0";;
63 yes | 2) flags="-DDEFAULT_INLINE=2";;
64 1) flags="-DDEFAULT_INLINE=1";;
65 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
66 new_flag=""
67 case "$x" in
68 *_INLINE=*) new_flag="-D$x";;
69 *_INLINE) new_flag="-D$x=2";;
70 *=*) new_flag=`sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
71 *) new_flag="-D$x""_INLINE=2";;
72 esac
73 if x"$sim_inline" = x""; then
74 sim_inline="$new_flag"
75 else
76 sim_inline="$flags $new_flag"
77 fi
78 done;;
79 esac],[sim_inline=""])dnl
80
81 AC_ARG_ENABLE(sim-bswap,
82 [ --enable-sim-bswap Use the BSWAP instruction on Intel 486s and Pentiums.],
83 [case "${enableval}" in
84 yes) sim_bswap="-DWITH_BSWAP=1";;
85 no) sim_bswap="-DWITH_BSWAP=0";;
86 *) sim_bswap="";;
87 esac],[sim_bswap=""])dnl
88
89 AC_ARG_ENABLE(sim-endian,
90 [ --enable-sim-endian=endian Specify target byte endian orientation.],
91 [case "${enableval}" in
92 yes) case "$target" in
93 *powerpc-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
94 *powerpcle-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
95 *) echo "Unknown target $target" 1>&6; sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
96 esac;;
97 no) sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
98 b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
99 l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
100 *) sim_endian="";;
101 esac],[sim_endian=""])dnl
102
103 AC_ARG_ENABLE(sim-hostendian,
104 [ --enable-sim-hostendain=end Specify host byte endian orientation.],
105 [case "${enableval}" in
106 no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
107 b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
108 l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
109 *) sim_hostendian="";;
110 esac],[sim_hostendian=""])dnl
111
112 AC_ARG_ENABLE(sim-smp,
113 [ --enable-sim-smp=n Specify number of processors to configure for.],
114 [case "${enableval}" in
115 yes) sim_smp="-DWITH_SMP=2";;
116 no) sim_smp="-DWITH_SMP=0";;
117 *) sim_smp="-DWITH_SMP=$enableval";;
118 esac],[sim_smp=""])dnl
119
120 AC_ARG_ENABLE(sim-bitsize,
121 [ --enable-sim-bitsize=n Specify target bitsize (32 or 64).],
122 [case "${enableval}" in
123 yes) sim_bitsize="";;
124 no) sim_bitsize="";;
125 *) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";;
126 esac],[sim_bitsize=""])dnl
127
128 AC_ARG_ENABLE(sim-hostbitsize,
129 [ --enable-sim-hostbitsize=n Specify host bitsize (32 or 64).],
130 [case "${enableval}" in
131 yes) sim_hostbitsize="";;
132 no) sim_hostbitsize="";;
133 *) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";;
134 esac],[sim_hostbitsize=""])dnl
135
136 AC_ARG_ENABLE(sim-env,
137 [ --enable-sim-env=env Specify target environment (operating, virtual, user).],
138 [case "${enableval}" in
139 operating | os | oea) sim_env="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
140 virtual | vea) sim_env="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
141 user | uea) sim_env="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
142 *) sim_env="";;
143 esac],[sim_env=""])dnl
144
145 AC_ARG_ENABLE(sim-timebase,
146 [ --enable-sim-timebase Specify whether the PPC timebase is supported.],
147 [case "${enableval}" in
148 yes) sim_timebase="-DWITH_TIME_BASE=1";;
149 no) sim_timebase="-DWITH_TIME_BASE=0";;
150 *) sim_timebase="";;
151 esac],[sim_timebase=""])dnl
152
153 AC_ARG_ENABLE(sim-alignment,
154 [ --enable-sim-alignment=align Specify strict or nonstrict alignment.]
155 [case "${enableval}" in
156 yes | strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
157 no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NOSTRICT_ALIGNMENT";;
158 *) sim_alignment="-DWITH_ALIGNMENT=$enableval";;
159 esac],[sim_alignment=""])dnl
160
161 AC_ARG_ENABLE(sim-trace,
162 [ --enable-sim-trace Specify whether tracing is supported.],
163 [case "${enableval}" in
164 yes) sim_trace="-DWITH_TRACE=1";;
165 no) sim_trace="-DWITH_TRACE=0";;
166 *) sim_trace="";;
167 esac],[sim_trace=""])dnl
168
169 AC_ARG_ENABLE(sim-assert,
170 [ --enable-sim-assert Specify whether to perform random assertions.],
171 [case "${enableval}" in
172 yes) sim_assert="-DWITH_ASSERT=1";;
173 no) sim_assert="-DWITH_ASSERT=0";;
174 *) sim_assert="";;
175 esac],[sim_assert=""])dnl
176
177 AC_ARG_ENABLE(sim-float,
178 [ --enable-sim-float Specify whether to use host floating point or simulate.],
179 [case "${enableval}" in
180 yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
181 no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
182 *) sim_float="";;
183 esac],[sim_float=""])dnl
184
185 AC_ARG_ENABLE(sim-monitor,
186 [ --enable-sim-monitor=mon Specify whether to enable monitoring events.],
187 [case "${enableval}" in
188 yes) sim_mon="-DWITH_MON='MONITOR_INSTRUCTION_ISSUE | MONITOR_LOAD_STORE_UNIT'";;
189 no) sim_mon="-DWITH_MON=0";;
190 instruction) sim_mon="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";;
191 memory) sim_mon="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";;
192 *) sim_mon="-DWITH_MON='$enableval'";;
193 esac],[sim_float=""])dnl
194
195 AC_CONFIG_HEADER(config.h:config.in)
196
197 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..)
198 AC_CANONICAL_SYSTEM
199 AC_ARG_PROGRAM
200
201 . ${srcdir}/../../bfd/configure.host
202
203 AC_PROG_CC
204 AC_SUBST(CFLAGS)
205 AC_SUBST(HDEFINES)
206 AR=${AR-ar}
207 AC_SUBST(AR)
208 AC_PROG_RANLIB
209 AC_SUBST(sim_cflags)
210 AC_SUBST(sim_config)
211 AC_SUBST(sim_opcode)
212 AC_SUBST(sim_switch)
213 AC_SUBST(sim_dup)
214 AC_SUBST(sim_filter)
215 AC_SUBST(sim_icache)
216 AC_SUBST(sim_inline)
217 AC_SUBST(sim_bswap)
218 AC_SUBST(sim_endian)
219 AC_SUBST(sim_hostendian)
220 AC_SUBST(sim_smp)
221 AC_SUBST(sim_bitsize)
222 AC_SUBST(sim_hostbitsize)
223 AC_SUBST(sim_env)
224 AC_SUBST(sim_timebase)
225 AC_SUBST(sim_alignment)
226 AC_SUBST(sim_float)
227 AC_SUBST(sim_trace)
228 AC_SUBST(sim_assert)
229 AC_SUBST(sim_monitor)
230
231 AC_CHECK_FUNCS(getrusage)
232
233 # Put a plausible default for CC_FOR_BUILD in Makefile.
234 AC_C_CROSS
235 if test "x$cross_compiling" = "xno"; then
236 CC_FOR_BUILD='$(CC)'
237 else
238 CC_FOR_BUILD=gcc
239 fi
240 AC_SUBST(CC_FOR_BUILD)
241
242 AC_CHECK_HEADERS(string.h strings.h stdlib.h time.h sys/times.h unistd.h sys/resource.h)
243
244 AC_OUTPUT(Makefile,
245 [case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])
This page took 0.034641 seconds and 4 git commands to generate.