modified from 95q4
[deliverable/binutils-gdb.git] / sim / ppc / configure.in
CommitLineData
cb7a6892
MM
1dnl Process this file with autoconf to produce a configure script.
2AC_PREREQ(2.3)dnl
3AC_INIT(Makefile.in)
4
c494cadd 5AC_ARG_ENABLE(sim-cflags,
73c4941b 6[ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
c494cadd
MM
7[case "${enableval}" in
8 yes) sim_cflags="-O2 -fomit-frame-pointer";;
9 no) sim_cflags="";;
e61900e6 10 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
ba62bb1c 11esac
2bc7869d 12if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
ba62bb1c
MM
13 echo "Setting sim cflags = $sim_cflags" 6>&1
14fi],[sim_cflags=""])dnl
c494cadd 15
73c4941b 16AC_ARG_ENABLE(sim-warnings,
c5addc19 17[ --enable-sim-warnings=opts Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o],
73c4941b 18[case "${enableval}" in
c5addc19 19 yes) sim_warnings="-Wall -Wpointer-arith -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations";;
73c4941b
MM
20 no) sim_warnings="-w";;
21 *) sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
ba62bb1c 22esac
2bc7869d 23if test x"$silent" != x"yes" && test x"$sim_warnings" != x""; then
ba62bb1c
MM
24 echo "Setting warning flags = $sim_warnings" 6>&1
25fi],[sim_warnings=""])dnl
73c4941b 26
c494cadd 27AC_ARG_ENABLE(sim-config,
73c4941b 28[ --enable-sim-config=file Override default config file],
c494cadd
MM
29[case "${enableval}" in
30 yes) sim_config="std-config.h";;
31 no) sim_config="std-config.h";;
32 *) sim_config="${enableval}";;
ba62bb1c 33esac
2bc7869d 34if test x"$silent" != x"yes" && test x"$sim_config" != x""; then
ba62bb1c
MM
35 echo "Setting config flags = $sim_config" 6>&1
36fi],[sim_config="std-config.h"; echo "Setting config flags = $sim_config" 6>&1])dnl
c494cadd
MM
37
38AC_ARG_ENABLE(sim-opcode,
73c4941b 39[ --enable-sim-opcode=which Override default opcode lookup.],
c494cadd
MM
40[case "${enableval}" in
41 yes) sim_opcode="ppc-opcode-simple";;
42 no) sim_opcode="ppc-opcode-simple";;
43 *) sim_opcode="ppc-opcode-${enableval}";;
ba62bb1c 44esac
2bc7869d 45if test x"$silent" != x"yes" && test x"$sim_opcode" != x""; then
ba62bb1c
MM
46 echo "Setting opcode flags = $sim_opcode" 6>&1
47fi],[sim_opcode="ppc-opcode-simple"; echo "Setting opcode flags = $sim_opcode"])dnl
c494cadd
MM
48
49AC_ARG_ENABLE(sim-switch,
73c4941b 50[ --enable-sim-switch Use a switch instead of a table for instruction call.],
c494cadd
MM
51[case "${enableval}" in
52 yes) sim_switch="-s";;
53 *) sim_switch="";;
ba62bb1c 54esac
2bc7869d 55if test x"$silent" != x"yes" && test x"$sim_switch" != x""; then
ba62bb1c 56 echo "Setting switch flags = $sim_switch" 6>&1
2bc7869d
MM
57fi],[sim_switch="-s";
58if test x"$silent" != x"yes"; then
59 echo "Setting switch flags = $sim_switch" 6>&1
60fi])dnl
c494cadd
MM
61
62AC_ARG_ENABLE(sim-duplicate,
73c4941b 63[ --enable-sim-duplicate Expand (duplicate) semantic functions.],
c494cadd
MM
64[case "${enableval}" in
65 yes) sim_dup="-e";;
66 *) sim_dup="";;
ba62bb1c 67esac
2bc7869d 68if test x"$silent" != x"yes" && test x"$sim_dup" != x""; then
ba62bb1c 69 echo "Setting duplicate flags = $sim_dup" 6>&1
2bc7869d
MM
70fi],[sim_dup="-e"
71if test x"$silent" != x"yes"; then
72 echo "Setting duplicate flags = $sim_dup" 6>&1
73fi])dnl
c494cadd
MM
74
75AC_ARG_ENABLE(sim-filter,
73c4941b 76[ --enable-sim-filter=rule Specify filter rules.],
c494cadd
MM
77[case "${enableval}" in
78 yes) sim_filter="";;
79 *) sim_filter="-f $enableval";;
ba62bb1c 80esac
2bc7869d 81if test x"$silent" != x"yes" && test x"$sim_filter" != x""; then
ba62bb1c 82 echo "Setting filter flags = $sim_filter" 6>&1
2bc7869d
MM
83fi],[sim_filter="-f 64"
84if test x"$silent" != x"yes"; then
85 echo "Setting filter flags = $sim_filter" 6>&1
86fi])dnl
c494cadd
MM
87
88AC_ARG_ENABLE(sim-icache,
73c4941b 89[ --enable-sim-icache=size Specify instruction cache size.],
c494cadd
MM
90[case "${enableval}" in
91 yes) sim_icache="-r 1024";;
92 *) sim_icache="";;
93esac],[sim_icache=""])dnl
94
95AC_ARG_ENABLE(sim-inline,
73c4941b 96[ --enable-sim-inline=inlines Specify which functions should be inlined.],
c494cadd
MM
97[sim_inline=""
98case "$enableval" in
b3737d33
MM
99 no) sim_inline="";;
100 0) sim_inline="-DDEFAULT_INLINE=0";;
101 yes | 2) sim_inline="-DDEFAULT_INLINE=2";;
102 1) sim_inline="-DDEFAULT_INLINE=1";;
c494cadd
MM
103 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
104 new_flag=""
105 case "$x" in
106 *_INLINE=*) new_flag="-D$x";;
107 *_INLINE) new_flag="-D$x=2";;
108 *=*) new_flag=`sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
109 *) new_flag="-D$x""_INLINE=2";;
110 esac
111 if x"$sim_inline" = x""; then
112 sim_inline="$new_flag"
113 else
114 sim_inline="$flags $new_flag"
115 fi
116 done;;
ba62bb1c 117esac
2bc7869d 118if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
ba62bb1c
MM
119 echo "Setting inline flags = $sim_inline" 6>&1
120fi],[if test x"$GCC" != ""; then
b51e5b4f 121 sim_inline="-DDEFAULT_INLINE=1"
2bc7869d
MM
122 if test x"$silent" != x"yes"; then
123 echo "Setting inline flags = $sim_inline" 6>&1
124 fi
ba62bb1c
MM
125else
126 sim_inline=""
127fi])dnl
c494cadd
MM
128
129AC_ARG_ENABLE(sim-bswap,
73c4941b 130[ --enable-sim-bswap Use the BSWAP instruction on Intel 486s and Pentiums.],
c494cadd
MM
131[case "${enableval}" in
132 yes) sim_bswap="-DWITH_BSWAP=1";;
133 no) sim_bswap="-DWITH_BSWAP=0";;
134 *) sim_bswap="";;
ba62bb1c 135esac
2bc7869d 136if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
ba62bb1c
MM
137 echo "Setting bswap flags = $sim_bswap" 6>&1
138fi],[sim_bswap=""])dnl
c494cadd
MM
139
140AC_ARG_ENABLE(sim-endian,
73c4941b 141[ --enable-sim-endian=endian Specify target byte endian orientation.],
c494cadd
MM
142[case "${enableval}" in
143 yes) case "$target" in
144 *powerpc-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
145 *powerpcle-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
146 *) echo "Unknown target $target" 1>&6; sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
147 esac;;
148 no) sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
149 b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
150 l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
151 *) sim_endian="";;
ba62bb1c 152esac
2bc7869d 153if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
ba62bb1c
MM
154 echo "Setting endian flags = $sim_endian" 6>&1
155fi],[sim_endian=""])dnl
c494cadd
MM
156
157AC_ARG_ENABLE(sim-hostendian,
73c4941b 158[ --enable-sim-hostendain=end Specify host byte endian orientation.],
c494cadd
MM
159[case "${enableval}" in
160 no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
161 b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
162 l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
163 *) sim_hostendian="";;
ba62bb1c 164esac
2bc7869d 165if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
ba62bb1c
MM
166 echo "Setting hostendian flags = $sim_hostendian" 6>&1
167fi],[sim_hostendian=""])dnl
c494cadd
MM
168
169AC_ARG_ENABLE(sim-smp,
73c4941b 170[ --enable-sim-smp=n Specify number of processors to configure for.],
c494cadd
MM
171[case "${enableval}" in
172 yes) sim_smp="-DWITH_SMP=2";;
173 no) sim_smp="-DWITH_SMP=0";;
174 *) sim_smp="-DWITH_SMP=$enableval";;
ba62bb1c 175esac
2bc7869d 176if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
ba62bb1c 177 echo "Setting smp flags = $sim_smp" 6>&1
2bc7869d
MM
178fi],[sim_smp="-DWITH_SMP=0"
179if test x"$silent" != x"yes"; then
180 echo "Setting smp flags = $sim_smp" 6>&1
181fi])dnl
c494cadd
MM
182
183AC_ARG_ENABLE(sim-bitsize,
73c4941b 184[ --enable-sim-bitsize=n Specify target bitsize (32 or 64).],
c494cadd
MM
185[case "${enableval}" in
186 yes) sim_bitsize="";;
187 no) sim_bitsize="";;
188 *) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";;
ba62bb1c 189esac
2bc7869d 190if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
ba62bb1c
MM
191 echo "Setting bitsize flags = $sim_bitsize" 6>&1
192fi],[sim_bitsize=""])dnl
c494cadd
MM
193
194AC_ARG_ENABLE(sim-hostbitsize,
73c4941b 195[ --enable-sim-hostbitsize=n Specify host bitsize (32 or 64).],
c494cadd
MM
196[case "${enableval}" in
197 yes) sim_hostbitsize="";;
198 no) sim_hostbitsize="";;
199 *) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";;
ba62bb1c 200esac
2bc7869d 201if test x"$silent" != x"yes" && test x"$sim_hostbitsize" != x""; then
ba62bb1c
MM
202 echo "Setting hostbitsize flags = $sim_hostbitsize" 6>&1
203fi],[sim_hostbitsize=""])dnl
c494cadd
MM
204
205AC_ARG_ENABLE(sim-env,
73c4941b 206[ --enable-sim-env=env Specify target environment (operating, virtual, user).],
c494cadd
MM
207[case "${enableval}" in
208 operating | os | oea) sim_env="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
209 virtual | vea) sim_env="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
210 user | uea) sim_env="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
211 *) sim_env="";;
ba62bb1c 212esac
2bc7869d 213if test x"$silent" != x"yes" && test x"$sim_env" != x""; then
ba62bb1c
MM
214 echo "Setting env flags = $sim_env" 6>&1
215fi],[sim_env=""])dnl
c494cadd
MM
216
217AC_ARG_ENABLE(sim-timebase,
73c4941b 218[ --enable-sim-timebase Specify whether the PPC timebase is supported.],
c494cadd
MM
219[case "${enableval}" in
220 yes) sim_timebase="-DWITH_TIME_BASE=1";;
221 no) sim_timebase="-DWITH_TIME_BASE=0";;
222 *) sim_timebase="";;
ba62bb1c 223esac
2bc7869d 224if test x"$silent" != x"yes" && test x"$sim_timebase" != x""; then
ba62bb1c
MM
225 echo "Setting timebase flags = $sim_timebase" 6>&1
226fi],[sim_timebase=""])dnl
c494cadd
MM
227
228AC_ARG_ENABLE(sim-alignment,
73c4941b 229[ --enable-sim-alignment=align Specify strict or nonstrict alignment.],
c494cadd
MM
230[case "${enableval}" in
231 yes | strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
ba62bb1c 232 no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
c494cadd 233 *) sim_alignment="-DWITH_ALIGNMENT=$enableval";;
ba62bb1c 234esac
2bc7869d 235if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
ba62bb1c
MM
236 echo "Setting alignment flags = $sim_alignment" 6>&1
237fi],[sim_alignment=""])dnl
c494cadd
MM
238
239AC_ARG_ENABLE(sim-trace,
73c4941b 240[ --enable-sim-trace Specify whether tracing is supported.],
c494cadd
MM
241[case "${enableval}" in
242 yes) sim_trace="-DWITH_TRACE=1";;
243 no) sim_trace="-DWITH_TRACE=0";;
244 *) sim_trace="";;
ba62bb1c 245esac
2bc7869d 246if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
ba62bb1c
MM
247 echo "Setting trace flags = $sim_trace" 6>&1
248fi],[sim_trace=""])dnl
c494cadd
MM
249
250AC_ARG_ENABLE(sim-assert,
73c4941b 251[ --enable-sim-assert Specify whether to perform random assertions.],
c494cadd
MM
252[case "${enableval}" in
253 yes) sim_assert="-DWITH_ASSERT=1";;
254 no) sim_assert="-DWITH_ASSERT=0";;
255 *) sim_assert="";;
ba62bb1c 256esac
2bc7869d 257if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
ba62bb1c
MM
258 echo "Setting assert flags = $sim_assert" 6>&1
259fi],[sim_assert=""])dnl
c494cadd
MM
260
261AC_ARG_ENABLE(sim-float,
73c4941b 262[ --enable-sim-float Specify whether to use host floating point or simulate.],
c494cadd
MM
263[case "${enableval}" in
264 yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
265 no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
266 *) sim_float="";;
ba62bb1c 267esac
2bc7869d 268if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
ba62bb1c
MM
269 echo "Setting float flags = $sim_float" 6>&1
270fi],[sim_float=""])dnl
c494cadd
MM
271
272AC_ARG_ENABLE(sim-monitor,
73c4941b 273[ --enable-sim-monitor=mon Specify whether to enable monitoring events.],
c494cadd
MM
274[case "${enableval}" in
275 yes) sim_mon="-DWITH_MON='MONITOR_INSTRUCTION_ISSUE | MONITOR_LOAD_STORE_UNIT'";;
276 no) sim_mon="-DWITH_MON=0";;
277 instruction) sim_mon="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";;
278 memory) sim_mon="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";;
279 *) sim_mon="-DWITH_MON='$enableval'";;
ba62bb1c 280esac
2bc7869d 281if test x"$silent" != x"yes" && test x"$sim_mon" != x""; then
ba62bb1c
MM
282 echo "Setting monitor flags = $sim_mon" 6>&1
283fi],[sim_mon=""])dnl
c494cadd 284
73c4941b
MM
285AC_ARG_ENABLE(sim-function-unit,
286[ --enable-sim-function-unit Specify whether detailed functional unit support is built.],
287[case "${enableval}" in
288 yes) sim_func="-DWITH_FUNCTION_UNIT=1";;
289 no) sim_func="-DWITH_FUNCTION_UNIT=0";;
290 *) sim_func="";;
ba62bb1c 291esac
2bc7869d 292if test x"$silent" != x"yes" && test x"$sim_func" != x""; then
ba62bb1c
MM
293 echo "Setting function-unit flags = $sim_func" 6>&1
294fi],[sim_func=""])dnl
73c4941b
MM
295
296AC_ARG_ENABLE(sim-model,
297[ --enable-sim-model=which Specify PowerPC to model.],
298[case "${enableval}" in
299 yes) sim_model="";;
300 no) sim_model="";;
301 *) sim_model="-DWITH_PPC_MODEL=${enableval}";;
ba62bb1c 302esac
2bc7869d 303if test x"$silent" != x"yes" && test x"$sim_model" != x""; then
ba62bb1c
MM
304 echo "Setting model flags = $sim_model" 6>&1
305fi],[sim_model=""])dnl
73c4941b
MM
306
307AC_ARG_ENABLE(sim-default-model,
308[ --enable-sim-default-model=which Specify default PowerPC to model.],
309[case "${enableval}" in
310 yes) sim_default_model="";;
311 no) sim_default_model="";;
312 *) sim_default_model="-DWITH_DEFAULT_PPC_MODEL=${enableval}";;
ba62bb1c 313esac
2bc7869d 314if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
ba62bb1c
MM
315 echo "Setting default-model flags = $sim_default_model" 6>&1
316fi],[sim_model=""])dnl
8b3797aa 317
cb7a6892
MM
318AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..)
319AC_CANONICAL_SYSTEM
320AC_ARG_PROGRAM
321
322. ${srcdir}/../../bfd/configure.host
323
ba62bb1c
MM
324AC_CONFIG_HEADER(config.h:config.in)
325
8b3797aa
MM
326AC_PROG_CC
327AC_SUBST(CFLAGS)
328AC_SUBST(HDEFINES)
329AR=${AR-ar}
330AC_SUBST(AR)
331AC_PROG_RANLIB
c494cadd 332AC_SUBST(sim_cflags)
73c4941b 333AC_SUBST(sim_warnings)
c494cadd
MM
334AC_SUBST(sim_config)
335AC_SUBST(sim_opcode)
336AC_SUBST(sim_switch)
337AC_SUBST(sim_dup)
338AC_SUBST(sim_filter)
339AC_SUBST(sim_icache)
340AC_SUBST(sim_inline)
341AC_SUBST(sim_bswap)
342AC_SUBST(sim_endian)
343AC_SUBST(sim_hostendian)
344AC_SUBST(sim_smp)
345AC_SUBST(sim_bitsize)
346AC_SUBST(sim_hostbitsize)
347AC_SUBST(sim_env)
348AC_SUBST(sim_timebase)
349AC_SUBST(sim_alignment)
350AC_SUBST(sim_float)
351AC_SUBST(sim_trace)
352AC_SUBST(sim_assert)
353AC_SUBST(sim_monitor)
73c4941b
MM
354AC_SUBST(sim_func)
355AC_SUBST(sim_model)
356AC_SUBST(sim_default_model)
c494cadd
MM
357
358AC_CHECK_FUNCS(getrusage)
8b3797aa
MM
359
360# Put a plausible default for CC_FOR_BUILD in Makefile.
361AC_C_CROSS
362if test "x$cross_compiling" = "xno"; then
363 CC_FOR_BUILD='$(CC)'
cb7a6892 364else
8b3797aa 365 CC_FOR_BUILD=gcc
cb7a6892 366fi
8b3797aa 367AC_SUBST(CC_FOR_BUILD)
cb7a6892 368
c494cadd 369AC_CHECK_HEADERS(string.h strings.h stdlib.h time.h sys/times.h unistd.h sys/resource.h)
cb7a6892 370
8b3797aa
MM
371AC_OUTPUT(Makefile,
372[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])
This page took 0.094481 seconds and 4 git commands to generate.