Fixup readline and sim including of override.m4
[deliverable/binutils-gdb.git] / sim / common / aclocal.m4
CommitLineData
c906108c
SS
1# This file contains common code used by all simulators.
2#
3# SIM_AC_COMMON invokes AC macros used by all simulators and by the common
4# directory. It is intended to be invoked before any target specific stuff.
5# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
6# It is intended to be invoked last.
7#
8# The simulator's configure.in should look like:
9#
10# dnl Process this file with autoconf to produce a configure script.
11# sinclude(../common/aclocal.m4)
12# AC_PREREQ(2.5)dnl
13# AC_INIT(Makefile.in)
14#
15# SIM_AC_COMMON
16#
17# ... target specific stuff ...
18#
19# SIM_AC_OUTPUT
20
d6416cdc
RW
21# Include global overrides and fixes for Autoconf.
22m4_include(../../config/override.m4)
23
6878aceb 24AC_DEFUN([SIM_AC_COMMON],
c906108c
SS
25[
26# autoconf.info says this should be called right after AC_INIT.
27AC_CONFIG_HEADER(ifelse([$1],,config.h,[$1]):config.in)
c906108c
SS
28AC_CANONICAL_SYSTEM
29AC_ARG_PROGRAM
30AC_PROG_CC
31AC_PROG_INSTALL
32
33# Put a plausible default for CC_FOR_BUILD in Makefile.
34if test "x$cross_compiling" = "xno"; then
35 CC_FOR_BUILD='$(CC)'
36else
37 CC_FOR_BUILD=gcc
38fi
39AC_SUBST(CC_FOR_BUILD)
40
41AC_SUBST(CFLAGS)
42AC_SUBST(HDEFINES)
43AR=${AR-ar}
44AC_SUBST(AR)
45AC_PROG_RANLIB
46
47dnl We don't use gettext, but bfd does. So we do the appropriate checks
48dnl to see if there are intl libraries we should link against.
49ALL_LINGUAS=
e85e3205 50ZW_GNU_GETTEXT_SISTER_DIR(../../intl)
c906108c
SS
51
52# Check for common headers.
53# FIXME: Seems to me this can cause problems for i386-windows hosts.
54# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
55AC_CHECK_HEADERS(stdlib.h string.h strings.h unistd.h time.h)
56AC_CHECK_HEADERS(sys/time.h sys/resource.h)
57AC_CHECK_HEADERS(fcntl.h fpu_control.h)
58AC_CHECK_HEADERS(dlfcn.h errno.h sys/stat.h)
59AC_CHECK_FUNCS(getrusage time sigaction __setfpucw)
60
61# Check for socket libraries
62AC_CHECK_LIB(socket, bind)
63AC_CHECK_LIB(nsl, gethostbyname)
64
65. ${srcdir}/../../bfd/configure.host
66
67dnl Standard (and optional) simulator options.
68dnl Eventually all simulators will support these.
69dnl Do not add any here that cannot be supported by all simulators.
70dnl Do not add similar but different options to a particular simulator,
71dnl all shall eventually behave the same way.
72
73
74dnl We don't use automake, but we still want to support
75dnl --enable-maintainer-mode.
76USE_MAINTAINER_MODE=no
77AC_ARG_ENABLE(maintainer-mode,
78[ --enable-maintainer-mode Enable developer functionality.],
79[case "${enableval}" in
80 yes) MAINT="" USE_MAINTAINER_MODE=yes ;;
81 no) MAINT="#" ;;
82 *) AC_MSG_ERROR("--enable-maintainer-mode does not take a value"); MAINT="#" ;;
83esac
84if test x"$silent" != x"yes" && test x"$MAINT" = x""; then
85 echo "Setting maintainer mode" 6>&1
86fi],[MAINT="#"])dnl
87AC_SUBST(MAINT)
88
89
90dnl This is a generic option to enable special byte swapping
91dnl insns on *any* cpu.
92AC_ARG_ENABLE(sim-bswap,
93[ --enable-sim-bswap Use Host specific BSWAP instruction.],
94[case "${enableval}" in
95 yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
96 no) sim_bswap="-DWITH_BSWAP=0";;
97 *) AC_MSG_ERROR("--enable-sim-bswap does not take a value"); sim_bswap="";;
98esac
99if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
100 echo "Setting bswap flags = $sim_bswap" 6>&1
101fi],[sim_bswap=""])dnl
102AC_SUBST(sim_bswap)
103
104
105AC_ARG_ENABLE(sim-cflags,
106[ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
107[case "${enableval}" in
108 yes) sim_cflags="-O2 -fomit-frame-pointer";;
109 trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";;
110 no) sim_cflags="";;
111 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
112esac
113if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
114 echo "Setting sim cflags = $sim_cflags" 6>&1
115fi],[sim_cflags=""])dnl
116AC_SUBST(sim_cflags)
117
118
119dnl --enable-sim-debug is for developers of the simulator
120dnl the allowable values are work-in-progress
121AC_ARG_ENABLE(sim-debug,
122[ --enable-sim-debug=opts Enable debugging flags],
123[case "${enableval}" in
124 yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
125 no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
126 *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
127esac
128if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
129 echo "Setting sim debug = $sim_debug" 6>&1
130fi],[sim_debug=""])dnl
131AC_SUBST(sim_debug)
132
133
134dnl --enable-sim-stdio is for users of the simulator
135dnl It determines if IO from the program is routed through STDIO (buffered)
136AC_ARG_ENABLE(sim-stdio,
137[ --enable-sim-stdio Specify whether to use stdio for console input/output.],
138[case "${enableval}" in
139 yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
140 no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
141 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
142esac
143if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
144 echo "Setting stdio flags = $sim_stdio" 6>&1
145fi],[sim_stdio=""])dnl
146AC_SUBST(sim_stdio)
147
148
149dnl --enable-sim-trace is for users of the simulator
150dnl The argument is either a bitmask of things to enable [exactly what is
151dnl up to the simulator], or is a comma separated list of names of tracing
152dnl elements to enable. The latter is only supported on simulators that
153dnl use WITH_TRACE.
154AC_ARG_ENABLE(sim-trace,
155[ --enable-sim-trace=opts Enable tracing flags],
156[case "${enableval}" in
157 yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
158 no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
159 [[-0-9]]*)
160 sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
161 [[a-z]]*)
162 sim_trace=""
163 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
164 if test x"$sim_trace" = x; then
165 sim_trace="-DWITH_TRACE='(TRACE_$x"
166 else
167 sim_trace="${sim_trace}|TRACE_$x"
168 fi
169 done
170 sim_trace="$sim_trace)'" ;;
171esac
172if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
173 echo "Setting sim trace = $sim_trace" 6>&1
174fi],[sim_trace=""])dnl
175AC_SUBST(sim_trace)
176
177
178dnl --enable-sim-profile
179dnl The argument is either a bitmask of things to enable [exactly what is
180dnl up to the simulator], or is a comma separated list of names of profiling
181dnl elements to enable. The latter is only supported on simulators that
182dnl use WITH_PROFILE.
183AC_ARG_ENABLE(sim-profile,
184[ --enable-sim-profile=opts Enable profiling flags],
185[case "${enableval}" in
186 yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
187 no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
188 [[-0-9]]*)
189 sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
190 [[a-z]]*)
191 sim_profile=""
192 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
193 if test x"$sim_profile" = x; then
194 sim_profile="-DWITH_PROFILE='(PROFILE_$x"
195 else
196 sim_profile="${sim_profile}|PROFILE_$x"
197 fi
198 done
199 sim_profile="$sim_profile)'" ;;
200esac
201if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
202 echo "Setting sim profile = $sim_profile" 6>&1
eb2d80b4 203fi],[sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1"])dnl
c906108c
SS
204AC_SUBST(sim_profile)
205
206
207dnl Types used by common code
208AC_TYPE_SIGNAL
209
210dnl Detect exe extension
cd0fc7c3 211AC_EXEEXT
c906108c
SS
212
213dnl These are available to append to as desired.
214sim_link_files=
215sim_link_links=
216
217dnl Create tconfig.h either from simulator's tconfig.in or default one
218dnl in common.
219sim_link_links=tconfig.h
220if test -f ${srcdir}/tconfig.in
221then
222 sim_link_files=tconfig.in
223else
224 sim_link_files=../common/tconfig.in
225fi
226
227# targ-vals.def points to the libc macro description file.
228case "${target}" in
229*-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
230esac
231sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
232sim_link_links="${sim_link_links} targ-vals.def"
233
234]) dnl End of SIM_AC_COMMON
235
236
237dnl Additional SIM options that can (optionally) be configured
238dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined.
239dnl Simulators that wish to use the relevant option specify the macro
240dnl in the simulator specific configure.in file between the SIM_AC_COMMON
241dnl and SIM_AC_OUTPUT lines.
242
243
244dnl Specify the running environment.
245dnl If the simulator invokes this in its configure.in then without this option
246dnl the default is the user environment and all are runtime selectable.
247dnl If the simulator doesn't invoke this, only the user environment is
248dnl supported.
249dnl ??? Until there is demonstrable value in doing something more complicated,
250dnl let's not.
6878aceb 251AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT],
c906108c
SS
252[
253AC_ARG_ENABLE(sim-environment,
254[ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.],
255[case "${enableval}" in
256 all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
257 user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
258 virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
259 operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
260 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-environment");
261 sim_environment="";;
262esac
263if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
264 echo "Setting sim environment = $sim_environment" 6>&1
265fi],
266[sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"])dnl
267])
268AC_SUBST(sim_environment)
269
270
271dnl Specify the alignment restrictions of the target architecture.
272dnl Without this option all possible alignment restrictions are accommodated.
273dnl arg[1] is hardwired target alignment
274dnl arg[2] is default target alignment
6878aceb 275AC_DEFUN([SIM_AC_OPTION_ALIGNMENT],
c906108c
SS
276wire_alignment="[$1]"
277default_alignment="[$2]"
278[
279AC_ARG_ENABLE(sim-alignment,
280[ --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.],
281[case "${enableval}" in
282 strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
283 nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
284 forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
285 yes) if test x"$wire_alignment" != x; then
286 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
287 else
288 if test x"$default_alignment" != x; then
289 sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
290 else
291 echo "No hard-wired alignment for target $target" 1>&6
292 sim_alignment="-DWITH_ALIGNMENT=0"
293 fi
294 fi;;
295 no) if test x"$default_alignment" != x; then
296 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
297 else
298 if test x"$wire_alignment" != x; then
299 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
300 else
301 echo "No default alignment for target $target" 1>&6
302 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
303 fi
304 fi;;
305 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
306esac
307if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
308 echo "Setting alignment flags = $sim_alignment" 6>&1
309fi],
310[if test x"$default_alignment" != x; then
311 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
312else
313 if test x"$wire_alignment" != x; then
314 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
315 else
316 sim_alignment=
317 fi
318fi])dnl
319])dnl
320AC_SUBST(sim_alignment)
321
322
323dnl Conditionally compile in assertion statements.
6878aceb 324AC_DEFUN([SIM_AC_OPTION_ASSERT],
c906108c
SS
325[
326AC_ARG_ENABLE(sim-assert,
327[ --enable-sim-assert Specify whether to perform random assertions.],
328[case "${enableval}" in
329 yes) sim_assert="-DWITH_ASSERT=1";;
330 no) sim_assert="-DWITH_ASSERT=0";;
331 *) AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";;
332esac
333if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
334 echo "Setting assert flags = $sim_assert" 6>&1
335fi],[sim_assert=""])dnl
336])
337AC_SUBST(sim_assert)
338
339
340
341dnl --enable-sim-bitsize is for developers of the simulator
342dnl It specifies the number of BITS in the target.
343dnl arg[1] is the number of bits in a word
344dnl arg[2] is the number assigned to the most significant bit
345dnl arg[3] is the number of bits in an address
346dnl arg[4] is the number of bits in an OpenFirmware cell.
347dnl FIXME: this information should be obtained from bfd/archure
6878aceb 348AC_DEFUN([SIM_AC_OPTION_BITSIZE],
c906108c
SS
349wire_word_bitsize="[$1]"
350wire_word_msb="[$2]"
351wire_address_bitsize="[$3]"
352wire_cell_bitsize="[$4]"
353[AC_ARG_ENABLE(sim-bitsize,
354[ --enable-sim-bitsize=N Specify target bitsize (32 or 64).],
355[sim_bitsize=
356case "${enableval}" in
357 64,63 | 64,63,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63";;
358 32,31 | 32,31,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31";;
359 64,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
360 32,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
361 32) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
362 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31"
363 else
364 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0"
365 fi ;;
366 64) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
367 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63"
368 else
369 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=0"
370 fi ;;
371 *) AC_MSG_ERROR("--enable-sim-bitsize was given $enableval. Expected 32 or 64") ;;
372esac
373# address bitsize
374tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9]]*,*//"`
375case x"${tmp}" in
376 x ) ;;
377 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=32" ;;
378 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=64" ;;
379 * ) AC_MSG_ERROR("--enable-sim-bitsize was given address size $enableval. Expected 32 or 64") ;;
380esac
381# cell bitsize
382tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9*]]*,*[[0-9]]*,*//"`
383case x"${tmp}" in
384 x ) ;;
385 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=32" ;;
386 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=64" ;;
387 * ) AC_MSG_ERROR("--enable-sim-bitsize was given cell size $enableval. Expected 32 or 64") ;;
388esac
389if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
390 echo "Setting bitsize flags = $sim_bitsize" 6>&1
391fi],
392[sim_bitsize=""
393if test x"$wire_word_bitsize" != x; then
394 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_BITSIZE=$wire_word_bitsize"
395fi
396if test x"$wire_word_msb" != x; then
397 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_MSB=$wire_word_msb"
398fi
399if test x"$wire_address_bitsize" != x; then
400 sim_bitsize="$sim_bitsize -DWITH_TARGET_ADDRESS_BITSIZE=$wire_address_bitsize"
401fi
402if test x"$wire_cell_bitsize" != x; then
403 sim_bitsize="$sim_bitsize -DWITH_TARGET_CELL_BITSIZE=$wire_cell_bitsize"
404fi])dnl
405])
406AC_SUBST(sim_bitsize)
407
408
409
410dnl --enable-sim-endian={yes,no,big,little} is for simulators
411dnl that support both big and little endian targets.
412dnl arg[1] is hardwired target endianness.
413dnl arg[2] is default target endianness.
6878aceb 414AC_DEFUN([SIM_AC_OPTION_ENDIAN],
c906108c
SS
415[
416wire_endian="[$1]"
417default_endian="[$2]"
418AC_ARG_ENABLE(sim-endian,
419[ --enable-sim-endian=endian Specify target byte endian orientation.],
420[case "${enableval}" in
421 b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
422 l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
423 yes) if test x"$wire_endian" != x; then
424 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
425 else
426 if test x"$default_endian" != x; then
427 sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
428 else
429 echo "No hard-wired endian for target $target" 1>&6
430 sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
431 fi
432 fi;;
433 no) if test x"$default_endian" != x; then
434 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
435 else
436 if test x"$wire_endian" != x; then
437 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
438 else
439 echo "No default endian for target $target" 1>&6
440 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
441 fi
442 fi;;
443 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-endian"); sim_endian="";;
444esac
445if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
446 echo "Setting endian flags = $sim_endian" 6>&1
447fi],
448[if test x"$default_endian" != x; then
449 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
450else
451 if test x"$wire_endian" != x; then
452 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
453 else
454 sim_endian=
455 fi
456fi])dnl
457])
458AC_SUBST(sim_endian)
459
460
461dnl --enable-sim-hostendian is for users of the simulator when
462dnl they find that AC_C_BIGENDIAN does not function correctly
463dnl (for instance in a canadian cross)
6878aceb 464AC_DEFUN([SIM_AC_OPTION_HOSTENDIAN],
c906108c
SS
465[
466AC_ARG_ENABLE(sim-hostendian,
467[ --enable-sim-hostendian=end Specify host byte endian orientation.],
468[case "${enableval}" in
469 no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
470 b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
471 l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
472 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
473esac
474if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
475 echo "Setting hostendian flags = $sim_hostendian" 6>&1
476fi],[
477if test "x$cross_compiling" = "xno"; then
478 AC_C_BIGENDIAN
479 if test $ac_cv_c_bigendian = yes; then
480 sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
481 else
482 sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
483 fi
484else
485 sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
486fi])dnl
487])
488AC_SUBST(sim_hostendian)
489
490
491dnl --enable-sim-float is for developers of the simulator
492dnl It specifies the presence of hardware floating point
493dnl And optionally the bitsize of the floating point register.
494dnl arg[1] specifies the presence (or absence) of floating point hardware
495dnl arg[2] specifies the number of bits in a floating point register
6878aceb 496AC_DEFUN([SIM_AC_OPTION_FLOAT],
c906108c
SS
497[
498default_sim_float="[$1]"
499default_sim_float_bitsize="[$2]"
500AC_ARG_ENABLE(sim-float,
501[ --enable-sim-float Specify that the target processor has floating point hardware.],
502[case "${enableval}" in
503 yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
504 no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
505 32) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=32";;
506 64) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=64";;
507 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-float"); sim_float="";;
508esac
509if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
510 echo "Setting float flags = $sim_float" 6>&1
511fi],[
512sim_float=
513if test x"${default_sim_float}" != x""; then
514 sim_float="-DWITH_FLOATING_POINT=${default_sim_float}"
515fi
516if test x"${default_sim_float_bitsize}" != x""; then
517 sim_float="$sim_float -DWITH_TARGET_FLOATING_POINT_BITSIZE=${default_sim_float_bitsize}"
518fi
519])dnl
520])
521AC_SUBST(sim_float)
522
523
524dnl The argument is the default cache size if none is specified.
6878aceb 525AC_DEFUN([SIM_AC_OPTION_SCACHE],
c906108c
SS
526[
527default_sim_scache="ifelse([$1],,0,[$1])"
528AC_ARG_ENABLE(sim-scache,
529[ --enable-sim-scache=size Specify simulator execution cache size.],
530[case "${enableval}" in
531 yes) sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
532 no) sim_scache="-DWITH_SCACHE=0" ;;
9397fcbf 533 [[0-9]]*) sim_scache="-DWITH_SCACHE=${enableval}";;
c906108c
SS
534 *) AC_MSG_ERROR("Bad value $enableval passed to --enable-sim-scache");
535 sim_scache="";;
536esac
537if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
538 echo "Setting scache size = $sim_scache" 6>&1
539fi],[sim_scache="-DWITH_SCACHE=${default_sim_scache}"])
540])
541AC_SUBST(sim_scache)
542
543
544dnl The argument is the default model if none is specified.
6878aceb 545AC_DEFUN([SIM_AC_OPTION_DEFAULT_MODEL],
c906108c
SS
546[
547default_sim_default_model="ifelse([$1],,0,[$1])"
548AC_ARG_ENABLE(sim-default-model,
549[ --enable-sim-default-model=model Specify default model to simulate.],
550[case "${enableval}" in
551 yes|no) AC_MSG_ERROR("Missing argument to --enable-sim-default-model");;
552 *) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
553esac
554if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
555 echo "Setting default model = $sim_default_model" 6>&1
556fi],[sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"])
557])
558AC_SUBST(sim_default_model)
559
560
561dnl --enable-sim-hardware is for users of the simulator
562dnl arg[1] Enable sim-hw by default? ("yes" or "no")
563dnl arg[2] is a space separated list of devices that override the defaults
564dnl arg[3] is a space separated list of extra target specific devices.
6878aceb 565AC_DEFUN([SIM_AC_OPTION_HARDWARE],
c906108c
SS
566[
567if test x"[$1]" = x"yes"; then
568 sim_hw_p=yes
569else
570 sim_hw_p=no
571fi
572if test "[$2]"; then
573 hardware="core pal glue"
574else
575 hardware="core pal glue [$3]"
576fi
577sim_hw_cflags="-DWITH_HW=1"
578sim_hw="$hardware"
579sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([[^ ]][[^ ]]*\)/dv-\1.o/g'`"
580AC_ARG_ENABLE(sim-hardware,
581[ --enable-sim-hardware=LIST Specify the hardware to be included in the build.],
582[
583case "${enableval}" in
584 yes) sim_hw_p=yes;;
585 no) sim_hw_p=no;;
586 ,*) sim_hw_p=yes; hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";;
587 *,) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";;
588 *) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';;
589esac
590if test "$sim_hw_p" != yes; then
591 sim_hw_objs=
592 sim_hw_cflags="-DWITH_HW=0"
593 sim_hw=
594else
595 sim_hw_cflags="-DWITH_HW=1"
596 # remove duplicates
597 sim_hw=""
598 sim_hw_objs="\$(SIM_COMMON_HW_OBJS)"
ea696909
HPN
599 for i in $hardware ; do
600 case " $sim_hw " in
c906108c
SS
601 *" $i "*) ;;
602 *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";;
603 esac
604 done
605fi
606if test x"$silent" != x"yes" && test "$sim_hw_p" = "yes"; then
607 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
608fi],[
609if test "$sim_hw_p" != yes; then
610 sim_hw_objs=
611 sim_hw_cflags="-DWITH_HW=0"
612 sim_hw=
613fi
614if test x"$silent" != x"yes"; then
615 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
616fi])dnl
617])
618AC_SUBST(sim_hw_cflags)
619AC_SUBST(sim_hw_objs)
620AC_SUBST(sim_hw)
621
622
623dnl --enable-sim-inline is for users that wish to ramp up the simulator's
624dnl performance by inlining functions.
625dnl Guarantee that unconfigured simulators do not do any inlining
626sim_inline="-DDEFAULT_INLINE=0"
6878aceb 627AC_DEFUN([SIM_AC_OPTION_INLINE],
c906108c
SS
628[
629default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
630AC_ARG_ENABLE(sim-inline,
631[ --enable-sim-inline=inlines Specify which functions should be inlined.],
632[sim_inline=""
633case "$enableval" in
634 no) sim_inline="-DDEFAULT_INLINE=0";;
635 0) sim_inline="-DDEFAULT_INLINE=0";;
636 yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
637 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
638 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
639 new_flag=""
640 case "$x" in
641 *_INLINE=*) new_flag="-D$x";;
642 *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
643 *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
644 *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
645 esac
646 if test x"$sim_inline" = x""; then
647 sim_inline="$new_flag"
648 else
649 sim_inline="$sim_inline $new_flag"
650 fi
651 done;;
652esac
653if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
654 echo "Setting inline flags = $sim_inline" 6>&1
655fi],[
656if test "x$cross_compiling" = "xno"; then
657 if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then
658 sim_inline="${default_sim_inline}"
659 if test x"$silent" != x"yes"; then
660 echo "Setting inline flags = $sim_inline" 6>&1
661 fi
662 else
663 sim_inline=""
664 fi
665else
666 sim_inline="-DDEFAULT_INLINE=0"
667fi])dnl
668])
669AC_SUBST(sim_inline)
670
671
6878aceb 672AC_DEFUN([SIM_AC_OPTION_PACKAGES],
c906108c
SS
673[
674AC_ARG_ENABLE(sim-packages,
675[ --enable-sim-packages=list Specify the packages to be included in the build.],
676[packages=disklabel
677case "${enableval}" in
678 yes) ;;
679 no) AC_MSG_ERROR("List of packages must be specified for --enable-sim-packages"); packages="";;
680 ,*) packages="${packages}${enableval}";;
681 *,) packages="${enableval}${packages}";;
682 *) packages="${enableval}"'';;
683esac
684sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
685sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
686if test x"$silent" != x"yes" && test x"$packages" != x""; then
687 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
688fi],[packages=disklabel
689sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
690sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
691if test x"$silent" != x"yes"; then
692 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
693fi])dnl
694])
695AC_SUBST(sim_packages)
696
697
6878aceb 698AC_DEFUN([SIM_AC_OPTION_REGPARM],
c906108c
SS
699[
700AC_ARG_ENABLE(sim-regparm,
701[ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
702[case "${enableval}" in
703 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
704 no) sim_regparm="" ;;
705 yes) sim_regparm="-DWITH_REGPARM=3";;
706 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-regparm"); sim_regparm="";;
707esac
708if test x"$silent" != x"yes" && test x"$sim_regparm" != x""; then
709 echo "Setting regparm flags = $sim_regparm" 6>&1
710fi],[sim_regparm=""])dnl
711])
712AC_SUBST(sim_regparm)
713
714
6878aceb 715AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS],
c906108c
SS
716[
717default_sim_reserved_bits="ifelse([$1],,1,[$1])"
718AC_ARG_ENABLE(sim-reserved-bits,
719[ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
720[case "${enableval}" in
721 yes) sim_reserved_bits="-DWITH_RESERVED_BITS=1";;
722 no) sim_reserved_bits="-DWITH_RESERVED_BITS=0";;
723 *) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved_bits="";;
724esac
725if test x"$silent" != x"yes" && test x"$sim_reserved_bits" != x""; then
726 echo "Setting reserved flags = $sim_reserved_bits" 6>&1
727fi],[sim_reserved_bits="-DWITH_RESERVED_BITS=${default_sim_reserved_bits}"])dnl
728])
729AC_SUBST(sim_reserved_bits)
730
731
6878aceb 732AC_DEFUN([SIM_AC_OPTION_SMP],
c906108c
SS
733[
734default_sim_smp="ifelse([$1],,5,[$1])"
735AC_ARG_ENABLE(sim-smp,
736[ --enable-sim-smp=n Specify number of processors to configure for (default ${default_sim_smp}).],
737[case "${enableval}" in
738 yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
739 no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
740 *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
741esac
742if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
743 echo "Setting smp flags = $sim_smp" 6>&1
744fi],[sim_smp="-DWITH_SMP=${default_sim_smp}" ; sim_igen_smp="-N ${default_sim_smp}"
745if test x"$silent" != x"yes"; then
746 echo "Setting smp flags = $sim_smp" 6>&1
747fi])dnl
748])
749AC_SUBST(sim_smp)
750
751
6878aceb 752AC_DEFUN([SIM_AC_OPTION_STDCALL],
c906108c
SS
753[
754AC_ARG_ENABLE(sim-stdcall,
755[ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
756[case "${enableval}" in
757 no) sim_stdcall="" ;;
758 std*) sim_stdcall="-DWITH_STDCALL=1";;
759 yes) sim_stdcall="-DWITH_STDCALL=1";;
760 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-stdcall"); sim_stdcall="";;
761esac
762if test x"$silent" != x"yes" && test x"$sim_stdcall" != x""; then
763 echo "Setting function call flags = $sim_stdcall" 6>&1
764fi],[sim_stdcall=""])dnl
765])
766AC_SUBST(sim_stdcall)
767
768
6878aceb 769AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN],
c906108c
SS
770[
771default_sim_xor_endian="ifelse([$1],,8,[$1])"
772AC_ARG_ENABLE(sim-xor-endian,
773[ --enable-sim-xor-endian=n Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).],
774[case "${enableval}" in
775 yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
776 no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
777 *) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
778esac
779if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then
780 echo "Setting xor-endian flag = $sim_xor_endian" 6>&1
781fi],[sim_xor_endian="-DWITH_XOR_ENDIAN=${default_sim_xor_endian}"])dnl
782])
783AC_SUBST(sim_xor_endian)
784
785
786dnl --enable-build-warnings is for developers of the simulator.
787dnl it enables extra GCC specific warnings.
6878aceb 788AC_DEFUN([SIM_AC_OPTION_WARNINGS],
c906108c 789[
c8cca39f
AC
790# NOTE: Don't add -Wall or -Wunused, they both include
791# -Wunused-parameter which reports bogus warnings.
792# NOTE: If you add to this list, remember to update
793# gdb/doc/gdbint.texinfo.
794build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
51216631
JB
795-Wformat -Wparentheses -Wpointer-arith"
796# GCC supports -Wuninitialized only with -O or -On, n != 0.
797if test x${CFLAGS+set} = xset; then
798 case "${CFLAGS}" in
799 *"-O0"* ) ;;
800 *"-O"* )
801 build_warnings="${build_warnings} -Wuninitialized"
802 ;;
803 esac
804else
805 build_warnings="${build_warnings} -Wuninitialized"
806fi
c8cca39f
AC
807# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
808# -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
809# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
810# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
811# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
812# -Woverloaded-virtual -Winline -Werror"
c906108c 813AC_ARG_ENABLE(build-warnings,
c8cca39f
AC
814[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
815[case "${enableval}" in
c906108c
SS
816 yes) ;;
817 no) build_warnings="-w";;
818 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
c8cca39f 819 build_warnings="${build_warnings} ${t}";;
c906108c 820 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
c8cca39f
AC
821 build_warnings="${t} ${build_warnings}";;
822 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
c906108c
SS
823esac
824if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
c8cca39f
AC
825 echo "Setting compiler warning flags = $build_warnings" 6>&1
826fi])dnl
827AC_ARG_ENABLE(sim-build-warnings,
828[ --enable-gdb-build-warnings Enable SIM specific build-time compiler warnings if gcc is used],
829[case "${enableval}" in
830 yes) ;;
831 no) build_warnings="-w";;
832 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
833 build_warnings="${build_warnings} ${t}";;
834 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
835 build_warnings="${t} ${build_warnings}";;
836 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
837esac
838if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
839 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
840fi])dnl
d4f3574e
SS
841WARN_CFLAGS=""
842WERROR_CFLAGS=""
843if test "x${build_warnings}" != x -a "x$GCC" = xyes
844then
c8cca39f
AC
845 AC_MSG_CHECKING(compiler warning flags)
846 # Separate out the -Werror flag as some files just cannot be
847 # compiled with it enabled.
848 for w in ${build_warnings}; do
849 case $w in
850 -Werr*) WERROR_CFLAGS=-Werror ;;
851 *) # Check that GCC accepts it
852 saved_CFLAGS="$CFLAGS"
853 CFLAGS="$CFLAGS $w"
854 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
855 CFLAGS="$saved_CFLAGS"
856 esac
857 done
858 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
859fi
c906108c 860])
d4f3574e
SS
861AC_SUBST(WARN_CFLAGS)
862AC_SUBST(WERROR_CFLAGS)
c906108c
SS
863
864
865dnl Generate the Makefile in a target specific directory.
866dnl Substitutions aren't performed on the file in AC_SUBST_FILE,
867dnl so this is a cover macro to tuck the details away of how we cope.
868dnl We cope by having autoconf generate two files and then merge them into
869dnl one afterwards. The two pieces of the common fragment are inserted into
870dnl the target's fragment at the appropriate points.
871
6878aceb 872AC_DEFUN([SIM_AC_OUTPUT],
c906108c
SS
873[
874AC_LINK_FILES($sim_link_files, $sim_link_links)
119860e5
HPN
875dnl Make @cgen_breaks@ non-null only if the sim uses CGEN.
876cgen_breaks=""
877if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then
878cgen_breaks="break cgen_rtx_error";
879fi
880AC_SUBST(cgen_breaks)
38f48d72
AC
881AC_CONFIG_FILES(Makefile.sim:Makefile.in)
882AC_CONFIG_FILES(Make-common.sim:../common/Make-common.in)
883AC_CONFIG_FILES(.gdbinit:../common/gdbinit.in)
884AC_CONFIG_COMMANDS([Makefile],
885[echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
886 rm -f Makesim1.tmp Makesim2.tmp Makefile
887 sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
888 sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
889 sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
c906108c
SS
890 -e '/^## COMMON_POST_/ r Makesim2.tmp' \
891 <Makefile.sim >Makefile
38f48d72 892 rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
c906108c 893])
38f48d72
AC
894AC_CONFIG_COMMANDS([stamp-h], [echo > stamp-h])
895AC_OUTPUT
c906108c
SS
896])
897
20e95c23 898sinclude(../../config/gettext-sister.m4)
6efef468 899sinclude(../../config/acx.m4)
c906108c
SS
900
901dnl --enable-cgen-maint support
6878aceb 902AC_DEFUN([SIM_AC_OPTION_CGEN_MAINT],
c906108c
SS
903[
904cgen_maint=no
905dnl Default is to use one in build tree.
b2ac51e4 906cgen=guile
c906108c
SS
907cgendir='$(srcdir)/../../cgen'
908dnl Having --enable-maintainer-mode take arguments is another way to go.
909dnl ??? One can argue --with is more appropriate if one wants to specify
910dnl a directory name, but what we're doing here is an enable/disable kind
911dnl of thing and specifying both --enable and --with is klunky.
912dnl If you reeely want this to be --with, go ahead and change it.
913AC_ARG_ENABLE(cgen-maint,
914[ --enable-cgen-maint[=DIR] build cgen generated files],
915[case "${enableval}" in
916 yes) cgen_maint=yes ;;
917 no) cgen_maint=no ;;
918 *)
919 # argument is cgen install directory (not implemented yet).
920 # Having a `share' directory might be more appropriate for the .scm,
921 # .cpu, etc. files.
922 cgendir=${cgen_maint}/lib/cgen
b2ac51e4 923 cgen=guile
c906108c
SS
924 ;;
925esac])dnl
926dnl AM_CONDITIONAL(CGEN_MAINT, test x${cgen_maint} != xno)
927if test x${cgen_maint} != xno ; then
928 CGEN_MAINT=''
929else
930 CGEN_MAINT='#'
931fi
932AC_SUBST(CGEN_MAINT)
933AC_SUBST(cgendir)
934AC_SUBST(cgen)
935])
697afb65
HPN
936dnl FIXME: When upgrading to modern autoconf, remove
937dnl SIM_CHECK_MEMBER and SIM_CHECK_MEMBERS et al and use
938dnl AC_CHECK_MEMBERS from autoconf.
939dnl
940dnl Translated from a FC2 autoconf-2.59-3 installation.
941dnl AC_CHECK_MEMBER(AGGREGATE.MEMBER,
942dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
943dnl [INCLUDES])
944dnl
945dnl ---------------------------------------------------------
946dnl AGGREGATE.MEMBER is for instance `struct passwd.pw_gecos', shell
947dnl variables are not a valid argument.
948AC_DEFUN([SIM_CHECK_MEMBER],
949dnl Extract the aggregate name, and the member name
950[AC_CACHE_CHECK([for $1], [ac_]patsubst([$1], [[\. ]], [_]),
951[ac_]patsubst([$1], [[\. ]], [_])[=no;]
952AC_TRY_COMPILE([$4],[
953dnl AGGREGATE ac_aggr;
954static ]patsubst([$1], [\..*])[ ac_aggr;
955dnl ac_aggr.MEMBER;
956if (ac_aggr.]patsubst([$1], [^[^.]*\.])[)
957return 0;],[ac_]patsubst([$1], [[\. ]], [_])[=yes;],
958AC_TRY_COMPILE([$4],[
959dnl AGGREGATE ac_aggr;
960static ]patsubst([$1], [\..*])[ ac_aggr;
961dnl ac_aggr.MEMBER;
962if (sizeof ac_aggr.]patsubst([$1], [^[^.]*\.])[)
963return 0;],
964[ac_]patsubst([$1], [[\. ]], [_])[=yes;],
965[ac_]patsubst([$1], [[\. ]], [_])[=no;]))
966[if test [$]ac_]patsubst([$1], [[\. ]], [_])[ = yes; then :; [$2]
967else :; [$3]
968fi])
969])dnl SIM_CHECK_MEMBER
970dnl
971dnl Translated from a FC2 autoconf-2.59-3 installation.
972dnl SIM_CHECK_MEMBERS([AGGREGATE.MEMBER, ...])
973dnl except we just work with a limited set of fixed includes.
974dnl
975AC_DEFUN([SIM_CHECK_MEMBERS_1],
976[ifelse($#, 1,
977[SIM_CHECK_MEMBER([$1],
978AC_DEFINE_UNQUOTED([HAVE_]translit([$1], [a-z .], [A-Z__]), 1,
979[Define to 1 if ]patsubst([$1],
980[^[^.]*\.])[ is a member of ]patsubst([$1], [\..*])[. ]),,
981[#ifdef HAVE_SYS_TYPES_H
982#include <sys/types.h>
983#endif
984#ifdef HAVE_SYS_STAT_H
985#include <sys/stat.h>
986#endif])],
987[SIM_CHECK_MEMBER([$1],
988AC_DEFINE_UNQUOTED([HAVE_]translit([$1], [a-z .], [A-Z__]), 1,
989[Define to 1 if ]patsubst([$1],
990[^[^.]*\.])[ is a member of ]patsubst([$1], [\..*])[. ]),,
991[#ifdef HAVE_SYS_TYPES_H
992#include <sys/types.h>
993#endif
994#ifdef HAVE_SYS_STAT_H
995#include <sys/stat.h>
996#endif])
997SIM_CHECK_MEMBERS_1(builtin(shift,$@))])])dnl SIM_CHECK_MEMBERS
998dnl
999AC_DEFUN([SIM_CHECK_MEMBERS],
1000[ifelse($#, 1, [SIM_CHECK_MEMBERS_1($1)],
1001[errprint(__file__:__line__:
1002[This SIM_CHECK_MEMBERS only supports one argument,]
1003[the list of struct tests])])])dnl SIM_CHECK_MEMBERS
This page took 0.625933 seconds and 4 git commands to generate.