1 # This file contains common code used by all simulators.
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.
8 # The simulator's configure.in should look like:
10 # dnl Process this file with autoconf to produce a configure script.
11 # sinclude(../common/aclocal.m4)
13 # AC_INIT(Makefile.in)
17 # ... target specific stuff ...
21 AC_DEFUN(SIM_AC_COMMON,
23 # autoconf.info says this should be called right after AC_INIT.
24 AC_CONFIG_HEADER(ifelse([$1],,config.h,[$1]):config.in)
26 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..)
32 # Put a plausible default for CC_FOR_BUILD in Makefile.
33 if test "x$cross_compiling" = "xno"; then
38 AC_SUBST(CC_FOR_BUILD)
46 dnl We don't use gettext, but bfd does. So we do the appropriate checks
47 dnl to see if there are intl libraries we should link against.
51 # Check for common headers.
52 # FIXME: Seems to me this can cause problems for i386-windows hosts.
53 # At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
54 AC_CHECK_HEADERS(stdlib.h string.h strings.h unistd.h time.h)
55 AC_CHECK_HEADERS(sys/time.h sys/resource.h)
56 AC_CHECK_HEADERS(fcntl.h fpu_control.h)
57 AC_CHECK_FUNCS(getrusage time sigaction __setfpucw)
59 # Check for socket libraries
60 AC_CHECK_LIB(socket, bind)
61 AC_CHECK_LIB(nsl, gethostbyname)
63 . ${srcdir}/../../bfd/configure.host
65 dnl Standard (and optional) simulator options.
66 dnl Eventually all simulators will support these.
67 dnl Do not add any here that cannot be supported by all simulators.
68 dnl Do not add similar but different options to a particular simulator,
69 dnl all shall eventually behave the same way.
72 dnl We don't use automake, but we still want to support
73 dnl --enable-maintainer-mode.
74 USE_MAINTAINER_MODE=no
75 AC_ARG_ENABLE(maintainer-mode,
76 [ --enable-maintainer-mode Enable developer functionality.],
77 [case "${enableval}" in
78 yes) MAINT="" USE_MAINTAINER_MODE=yes ;;
80 *) AC_MSG_ERROR("--enable-maintainer-mode does not take a value"); MAINT="#" ;;
82 if test x"$silent" != x"yes" && test x"$MAINT" = x""; then
83 echo "Setting maintainer mode" 6>&1
88 dnl This is a generic option to enable special byte swapping
89 dnl insns on *any* cpu.
90 AC_ARG_ENABLE(sim-bswap,
91 [ --enable-sim-bswap Use Host specific BSWAP instruction.],
92 [case "${enableval}" in
93 yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
94 no) sim_bswap="-DWITH_BSWAP=0";;
95 *) AC_MSG_ERROR("--enable-sim-bswap does not take a value"); sim_bswap="";;
97 if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
98 echo "Setting bswap flags = $sim_bswap" 6>&1
99 fi],[sim_bswap=""])dnl
103 AC_ARG_ENABLE(sim-cflags,
104 [ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
105 [case "${enableval}" in
106 yes) sim_cflags="-O2 -fomit-frame-pointer";;
107 trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";;
109 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
111 if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
112 echo "Setting sim cflags = $sim_cflags" 6>&1
113 fi],[sim_cflags=""])dnl
117 dnl --enable-sim-debug is for developers of the simulator
118 dnl the allowable values are work-in-progress
119 AC_ARG_ENABLE(sim-debug,
120 [ --enable-sim-debug=opts Enable debugging flags],
121 [case "${enableval}" in
122 yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
123 no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
124 *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
126 if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
127 echo "Setting sim debug = $sim_debug" 6>&1
128 fi],[sim_debug=""])dnl
132 dnl --enable-sim-stdio is for users of the simulator
133 dnl It determines if IO from the program is routed through STDIO (buffered)
134 AC_ARG_ENABLE(sim-stdio,
135 [ --enable-sim-stdio Specify whether to use stdio for console input/output.],
136 [case "${enableval}" in
137 yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
138 no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
139 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
141 if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
142 echo "Setting stdio flags = $sim_stdio" 6>&1
143 fi],[sim_stdio=""])dnl
147 dnl --enable-sim-trace is for users of the simulator
148 dnl The argument is either a bitmask of things to enable [exactly what is
149 dnl up to the simulator], or is a comma separated list of names of tracing
150 dnl elements to enable. The latter is only supported on simulators that
152 AC_ARG_ENABLE(sim-trace,
153 [ --enable-sim-trace=opts Enable tracing flags],
154 [case "${enableval}" in
155 yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
156 no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
158 sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
161 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
162 if test x"$sim_trace" = x; then
163 sim_trace="-DWITH_TRACE='(TRACE_$x"
165 sim_trace="${sim_trace}|TRACE_$x"
168 sim_trace="$sim_trace)'" ;;
170 if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
171 echo "Setting sim trace = $sim_trace" 6>&1
172 fi],[sim_trace=""])dnl
176 dnl --enable-sim-profile
177 dnl The argument is either a bitmask of things to enable [exactly what is
178 dnl up to the simulator], or is a comma separated list of names of profiling
179 dnl elements to enable. The latter is only supported on simulators that
180 dnl use WITH_PROFILE.
181 AC_ARG_ENABLE(sim-profile,
182 [ --enable-sim-profile=opts Enable profiling flags],
183 [case "${enableval}" in
184 yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
185 no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
187 sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
190 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
191 if test x"$sim_profile" = x; then
192 sim_profile="-DWITH_PROFILE='(PROFILE_$x"
194 sim_profile="${sim_profile}|PROFILE_$x"
197 sim_profile="$sim_profile)'" ;;
199 if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
200 echo "Setting sim profile = $sim_profile" 6>&1
201 fi],[sim_profile=""])dnl
202 AC_SUBST(sim_profile)
205 dnl Types used by common code
208 dnl Detect exe extension
211 dnl These are available to append to as desired.
215 dnl Create tconfig.h either from simulator's tconfig.in or default one
217 sim_link_links=tconfig.h
218 if test -f ${srcdir}/tconfig.in
220 sim_link_files=tconfig.in
222 sim_link_files=../common/tconfig.in
225 # targ-vals.def points to the libc macro description file.
227 *-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
229 sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
230 sim_link_links="${sim_link_links} targ-vals.def"
232 ]) dnl End of SIM_AC_COMMON
235 dnl Additional SIM options that can (optionally) be configured
236 dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined.
237 dnl Simulators that wish to use the relevant option specify the macro
238 dnl in the simulator specific configure.in file between the SIM_AC_COMMON
239 dnl and SIM_AC_OUTPUT lines.
242 dnl Specify the running environment.
243 dnl If the simulator invokes this in its configure.in then without this option
244 dnl the default is the user environment and all are runtime selectable.
245 dnl If the simulator doesn't invoke this, only the user environment is
247 dnl ??? Until there is demonstrable value in doing something more complicated,
249 AC_DEFUN(SIM_AC_OPTION_ENVIRONMENT,
251 AC_ARG_ENABLE(sim-environment,
252 [ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.],
253 [case "${enableval}" in
254 all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
255 user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
256 virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
257 operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
258 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-environment");
261 if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
262 echo "Setting sim environment = $sim_environment" 6>&1
264 [sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"])dnl
266 AC_SUBST(sim_environment)
269 dnl Specify the alignment restrictions of the target architecture.
270 dnl Without this option all possible alignment restrictions are accommodated.
271 dnl arg[1] is hardwired target alignment
272 dnl arg[2] is default target alignment
273 AC_DEFUN(SIM_AC_OPTION_ALIGNMENT,
274 wire_alignment="[$1]"
275 default_alignment="[$2]"
277 AC_ARG_ENABLE(sim-alignment,
278 [ --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.],
279 [case "${enableval}" in
280 strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
281 nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
282 forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
283 yes) if test x"$wire_alignment" != x; then
284 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
286 if test x"$default_alignment" != x; then
287 sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
289 echo "No hard-wired alignment for target $target" 1>&6
290 sim_alignment="-DWITH_ALIGNMENT=0"
293 no) if test x"$default_alignment" != x; then
294 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
296 if test x"$wire_alignment" != x; then
297 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
299 echo "No default alignment for target $target" 1>&6
300 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
303 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
305 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
306 echo "Setting alignment flags = $sim_alignment" 6>&1
308 [if test x"$default_alignment" != x; then
309 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
311 if test x"$wire_alignment" != x; then
312 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
318 AC_SUBST(sim_alignment)
321 dnl Conditionally compile in assertion statements.
322 AC_DEFUN(SIM_AC_OPTION_ASSERT,
324 AC_ARG_ENABLE(sim-assert,
325 [ --enable-sim-assert Specify whether to perform random assertions.],
326 [case "${enableval}" in
327 yes) sim_assert="-DWITH_ASSERT=1";;
328 no) sim_assert="-DWITH_ASSERT=0";;
329 *) AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";;
331 if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
332 echo "Setting assert flags = $sim_assert" 6>&1
333 fi],[sim_assert=""])dnl
339 dnl --enable-sim-bitsize is for developers of the simulator
340 dnl It specifies the number of BITS in the target.
341 dnl arg[1] is the number of bits in a word
342 dnl arg[2] is the number assigned to the most significant bit
343 dnl arg[3] is the number of bits in an address
344 dnl arg[4] is the number of bits in an OpenFirmware cell.
345 dnl FIXME: this information should be obtained from bfd/archure
346 AC_DEFUN(SIM_AC_OPTION_BITSIZE,
347 wire_word_bitsize="[$1]"
349 wire_address_bitsize="[$3]"
350 wire_cell_bitsize="[$4]"
351 [AC_ARG_ENABLE(sim-bitsize,
352 [ --enable-sim-bitsize=N Specify target bitsize (32 or 64).],
354 case "${enableval}" in
355 64,63 | 64,63,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63";;
356 32,31 | 32,31,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31";;
357 64,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
358 32,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
359 32) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
360 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31"
362 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0"
364 64) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
365 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63"
367 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=0"
369 *) AC_MSG_ERROR("--enable-sim-bitsize was given $enableval. Expected 32 or 64") ;;
372 tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9]]*,*//"`
375 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=32" ;;
376 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=64" ;;
377 * ) AC_MSG_ERROR("--enable-sim-bitsize was given address size $enableval. Expected 32 or 64") ;;
380 tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9*]]*,*[[0-9]]*,*//"`
383 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=32" ;;
384 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=64" ;;
385 * ) AC_MSG_ERROR("--enable-sim-bitsize was given cell size $enableval. Expected 32 or 64") ;;
387 if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
388 echo "Setting bitsize flags = $sim_bitsize" 6>&1
391 if test x"$wire_word_bitsize" != x; then
392 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_BITSIZE=$wire_word_bitsize"
394 if test x"$wire_word_msb" != x; then
395 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_MSB=$wire_word_msb"
397 if test x"$wire_address_bitsize" != x; then
398 sim_bitsize="$sim_bitsize -DWITH_TARGET_ADDRESS_BITSIZE=$wire_address_bitsize"
400 if test x"$wire_cell_bitsize" != x; then
401 sim_bitsize="$sim_bitsize -DWITH_TARGET_CELL_BITSIZE=$wire_cell_bitsize"
404 AC_SUBST(sim_bitsize)
408 dnl --enable-sim-endian={yes,no,big,little} is for simulators
409 dnl that support both big and little endian targets.
410 dnl arg[1] is hardwired target endianness.
411 dnl arg[2] is default target endianness.
412 AC_DEFUN(SIM_AC_OPTION_ENDIAN,
415 default_endian="[$2]"
416 AC_ARG_ENABLE(sim-endian,
417 [ --enable-sim-endian=endian Specify target byte endian orientation.],
418 [case "${enableval}" in
419 b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
420 l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
421 yes) if test x"$wire_endian" != x; then
422 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
424 if test x"$default_endian" != x; then
425 sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
427 echo "No hard-wired endian for target $target" 1>&6
428 sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
431 no) if test x"$default_endian" != x; then
432 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
434 if test x"$wire_endian" != x; then
435 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
437 echo "No default endian for target $target" 1>&6
438 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
441 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-endian"); sim_endian="";;
443 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
444 echo "Setting endian flags = $sim_endian" 6>&1
446 [if test x"$default_endian" != x; then
447 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
449 if test x"$wire_endian" != x; then
450 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
459 dnl --enable-sim-hostendian is for users of the simulator when
460 dnl they find that AC_C_BIGENDIAN does not function correctly
461 dnl (for instance in a canadian cross)
462 AC_DEFUN(SIM_AC_OPTION_HOSTENDIAN,
464 AC_ARG_ENABLE(sim-hostendian,
465 [ --enable-sim-hostendian=end Specify host byte endian orientation.],
466 [case "${enableval}" in
467 no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
468 b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
469 l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
470 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
472 if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
473 echo "Setting hostendian flags = $sim_hostendian" 6>&1
475 if test "x$cross_compiling" = "xno"; then
477 if test $ac_cv_c_bigendian = yes; then
478 sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
480 sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
483 sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
486 AC_SUBST(sim_hostendian)
489 dnl --enable-sim-float is for developers of the simulator
490 dnl It specifies the presence of hardware floating point
491 dnl And optionally the bitsize of the floating point register.
492 dnl arg[1] specifies the presence (or absence) of floating point hardware
493 dnl arg[2] specifies the number of bits in a floating point register
494 AC_DEFUN(SIM_AC_OPTION_FLOAT,
496 default_sim_float="[$1]"
497 default_sim_float_bitsize="[$2]"
498 AC_ARG_ENABLE(sim-float,
499 [ --enable-sim-float Specify that the target processor has floating point hardware.],
500 [case "${enableval}" in
501 yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
502 no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
503 32) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=32";;
504 64) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=64";;
505 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-float"); sim_float="";;
507 if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
508 echo "Setting float flags = $sim_float" 6>&1
511 if test x"${default_sim_float}" != x""; then
512 sim_float="-DWITH_FLOATING_POINT=${default_sim_float}"
514 if test x"${default_sim_float_bitsize}" != x""; then
515 sim_float="$sim_float -DWITH_TARGET_FLOATING_POINT_BITSIZE=${default_sim_float_bitsize}"
522 dnl The argument is the default cache size if none is specified.
523 AC_DEFUN(SIM_AC_OPTION_SCACHE,
525 default_sim_scache="ifelse([$1],,0,[$1])"
526 AC_ARG_ENABLE(sim-scache,
527 [ --enable-sim-scache=size Specify simulator execution cache size.],
528 [case "${enableval}" in
529 yes) sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
530 no) sim_scache="-DWITH_SCACHE=0" ;;
531 [[0-9]]*) sim_cache=${enableval};;
532 *) AC_MSG_ERROR("Bad value $enableval passed to --enable-sim-scache");
535 if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
536 echo "Setting scache size = $sim_scache" 6>&1
537 fi],[sim_scache="-DWITH_SCACHE=${default_sim_scache}"])
542 dnl The argument is the default model if none is specified.
543 AC_DEFUN(SIM_AC_OPTION_DEFAULT_MODEL,
545 default_sim_default_model="ifelse([$1],,0,[$1])"
546 AC_ARG_ENABLE(sim-default-model,
547 [ --enable-sim-default-model=model Specify default model to simulate.],
548 [case "${enableval}" in
549 yes|no) AC_MSG_ERROR("Missing argument to --enable-sim-default-model");;
550 *) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
552 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
553 echo "Setting default model = $sim_default_model" 6>&1
554 fi],[sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"])
556 AC_SUBST(sim_default_model)
559 dnl --enable-sim-hardware is for users of the simulator
560 dnl arg[1] Enable sim-hw by default? ("yes" or "no")
561 dnl arg[2] is a space separated list of devices that override the defaults
562 dnl arg[3] is a space separated list of extra target specific devices.
563 AC_DEFUN(SIM_AC_OPTION_HARDWARE,
565 if test x"[$1]" = x"yes"; then
571 hardware="core pal glue"
573 hardware="core pal glue [$3]"
575 sim_hw_cflags="-DWITH_HW=1"
577 sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([[^ ]][[^ ]]*\)/dv-\1.o/g'`"
578 AC_ARG_ENABLE(sim-hardware,
579 [ --enable-sim-hardware=LIST Specify the hardware to be included in the build.],
581 case "${enableval}" in
584 ,*) sim_hw_p=yes; hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";;
585 *,) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";;
586 *) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';;
588 if test "$sim_hw_p" != yes; then
590 sim_hw_cflags="-DWITH_HW=0"
593 sim_hw_cflags="-DWITH_HW=1"
596 sim_hw_objs="\$(SIM_COMMON_HW_OBJS)"
597 for i in x $hardware ; do
601 *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";;
605 if test x"$silent" != x"yes" && test "$sim_hw_p" = "yes"; then
606 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
608 if test "$sim_hw_p" != yes; then
610 sim_hw_cflags="-DWITH_HW=0"
613 if test x"$silent" != x"yes"; then
614 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
617 AC_SUBST(sim_hw_cflags)
618 AC_SUBST(sim_hw_objs)
622 dnl --enable-sim-inline is for users that wish to ramp up the simulator's
623 dnl performance by inlining functions.
624 dnl Guarantee that unconfigured simulators do not do any inlining
625 sim_inline="-DDEFAULT_INLINE=0"
626 AC_DEFUN(SIM_AC_OPTION_INLINE,
628 default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
629 AC_ARG_ENABLE(sim-inline,
630 [ --enable-sim-inline=inlines Specify which functions should be inlined.],
633 no) sim_inline="-DDEFAULT_INLINE=0";;
634 0) sim_inline="-DDEFAULT_INLINE=0";;
635 yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
636 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
637 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
640 *_INLINE=*) new_flag="-D$x";;
641 *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
642 *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
643 *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
645 if test x"$sim_inline" = x""; then
646 sim_inline="$new_flag"
648 sim_inline="$sim_inline $new_flag"
652 if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
653 echo "Setting inline flags = $sim_inline" 6>&1
655 if test "x$cross_compiling" = "xno"; then
656 if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then
657 sim_inline="${default_sim_inline}"
658 if test x"$silent" != x"yes"; then
659 echo "Setting inline flags = $sim_inline" 6>&1
665 sim_inline="-DDEFAULT_INLINE=0"
671 AC_DEFUN(SIM_AC_OPTION_PACKAGES,
673 AC_ARG_ENABLE(sim-packages,
674 [ --enable-sim-packages=list Specify the packages to be included in the build.],
676 case "${enableval}" in
678 no) AC_MSG_ERROR("List of packages must be specified for --enable-sim-packages"); packages="";;
679 ,*) packages="${packages}${enableval}";;
680 *,) packages="${enableval}${packages}";;
681 *) packages="${enableval}"'';;
683 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
684 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
685 if test x"$silent" != x"yes" && test x"$packages" != x""; then
686 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
687 fi],[packages=disklabel
688 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
689 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
690 if test x"$silent" != x"yes"; then
691 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
694 AC_SUBST(sim_packages)
697 AC_DEFUN(SIM_AC_OPTION_REGPARM,
699 AC_ARG_ENABLE(sim-regparm,
700 [ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
701 [case "${enableval}" in
702 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
703 no) sim_regparm="" ;;
704 yes) sim_regparm="-DWITH_REGPARM=3";;
705 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-regparm"); sim_regparm="";;
707 if test x"$silent" != x"yes" && test x"$sim_regparm" != x""; then
708 echo "Setting regparm flags = $sim_regparm" 6>&1
709 fi],[sim_regparm=""])dnl
711 AC_SUBST(sim_regparm)
714 AC_DEFUN(SIM_AC_OPTION_RESERVED_BITS,
716 default_sim_reserved_bits="ifelse([$1],,1,[$1])"
717 AC_ARG_ENABLE(sim-reserved-bits,
718 [ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
719 [case "${enableval}" in
720 yes) sim_reserved_bits="-DWITH_RESERVED_BITS=1";;
721 no) sim_reserved_bits="-DWITH_RESERVED_BITS=0";;
722 *) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved_bits="";;
724 if test x"$silent" != x"yes" && test x"$sim_reserved_bits" != x""; then
725 echo "Setting reserved flags = $sim_reserved_bits" 6>&1
726 fi],[sim_reserved_bits="-DWITH_RESERVED_BITS=${default_sim_reserved_bits}"])dnl
728 AC_SUBST(sim_reserved_bits)
731 AC_DEFUN(SIM_AC_OPTION_SMP,
733 default_sim_smp="ifelse([$1],,5,[$1])"
734 AC_ARG_ENABLE(sim-smp,
735 [ --enable-sim-smp=n Specify number of processors to configure for (default ${default_sim_smp}).],
736 [case "${enableval}" in
737 yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
738 no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
739 *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
741 if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
742 echo "Setting smp flags = $sim_smp" 6>&1
743 fi],[sim_smp="-DWITH_SMP=${default_sim_smp}" ; sim_igen_smp="-N ${default_sim_smp}"
744 if test x"$silent" != x"yes"; then
745 echo "Setting smp flags = $sim_smp" 6>&1
751 AC_DEFUN(SIM_AC_OPTION_STDCALL,
753 AC_ARG_ENABLE(sim-stdcall,
754 [ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
755 [case "${enableval}" in
756 no) sim_stdcall="" ;;
757 std*) sim_stdcall="-DWITH_STDCALL=1";;
758 yes) sim_stdcall="-DWITH_STDCALL=1";;
759 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-stdcall"); sim_stdcall="";;
761 if test x"$silent" != x"yes" && test x"$sim_stdcall" != x""; then
762 echo "Setting function call flags = $sim_stdcall" 6>&1
763 fi],[sim_stdcall=""])dnl
765 AC_SUBST(sim_stdcall)
768 AC_DEFUN(SIM_AC_OPTION_XOR_ENDIAN,
770 default_sim_xor_endian="ifelse([$1],,8,[$1])"
771 AC_ARG_ENABLE(sim-xor-endian,
772 [ --enable-sim-xor-endian=n Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).],
773 [case "${enableval}" in
774 yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
775 no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
776 *) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
778 if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then
779 echo "Setting xor-endian flag = $sim_xor_endian" 6>&1
780 fi],[sim_xor_endian="-DWITH_XOR_ENDIAN=${default_sim_xor_endian}"])dnl
782 AC_SUBST(sim_xor_endian)
785 dnl --enable-build-warnings is for developers of the simulator.
786 dnl it enables extra GCC specific warnings.
787 AC_DEFUN(SIM_AC_OPTION_WARNINGS,
789 AC_ARG_ENABLE(build-warnings,
790 [ --enable-build-warnings[=LIST] Enable build-time compiler warnings],
791 [build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
792 case "${enableval}" in
794 no) build_warnings="-w";;
795 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
796 build_warnings="${build_warnings} ${t}";;
797 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
798 build_warnings="${t} ${build_warnings}";;
799 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
801 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
802 echo "Setting warning flags = $build_warnings" 6>&1
803 fi],[build_warnings=""])dnl
805 AC_SUBST(build_warnings)
808 dnl Generate the Makefile in a target specific directory.
809 dnl Substitutions aren't performed on the file in AC_SUBST_FILE,
810 dnl so this is a cover macro to tuck the details away of how we cope.
811 dnl We cope by having autoconf generate two files and then merge them into
812 dnl one afterwards. The two pieces of the common fragment are inserted into
813 dnl the target's fragment at the appropriate points.
815 AC_DEFUN(SIM_AC_OUTPUT,
817 AC_LINK_FILES($sim_link_files, $sim_link_links)
818 AC_OUTPUT(Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in,
819 [case "x$CONFIG_FILES" in
821 echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
822 rm -f Makesim1.tmp Makesim2.tmp Makefile
823 sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
824 sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
825 sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
826 -e '/^## COMMON_POST_/ r Makesim2.tmp' \
827 <Makefile.sim >Makefile
828 rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
831 case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac
835 # This file is derived from `gettext.m4'. The difference is that the
836 # included macros assume Cygnus-style source and build trees.
838 # Macro to add for using GNU gettext.
839 # Ulrich Drepper <drepper@cygnus.com>, 1995.
841 # This file file be copied and used freely without restrictions. It can
842 # be used in projects which are not available under the GNU Public License
843 # but which still want to provide support for the GNU gettext functionality.
844 # Please note that the actual code is *not* freely available.
848 AC_DEFUN(CY_WITH_NLS,
849 [AC_MSG_CHECKING([whether NLS is requested])
850 dnl Default is enabled NLS
852 [ --disable-nls do not use Native Language Support],
853 USE_NLS=$enableval, USE_NLS=yes)
854 AC_MSG_RESULT($USE_NLS)
857 USE_INCLUDED_LIBINTL=no
859 dnl If we use NLS figure out what method
860 if test "$USE_NLS" = "yes"; then
861 AC_DEFINE(ENABLE_NLS)
862 AC_MSG_CHECKING([whether included gettext is requested])
863 AC_ARG_WITH(included-gettext,
864 [ --with-included-gettext use the GNU gettext library included here],
865 nls_cv_force_use_gnu_gettext=$withval,
866 nls_cv_force_use_gnu_gettext=no)
867 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
869 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
870 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
871 dnl User does not insist on using GNU NLS library. Figure out what
872 dnl to use. If gettext or catgets are available (in this order) we
873 dnl use this. Else we have to fall back to GNU NLS library.
874 dnl catgets is only used if permitted by option --with-catgets.
879 AC_CHECK_HEADER(libintl.h,
880 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
881 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
882 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
884 if test "$gt_cv_func_gettext_libc" != "yes"; then
885 AC_CHECK_LIB(intl, bindtextdomain,
886 [AC_CACHE_CHECK([for gettext in libintl],
887 gt_cv_func_gettext_libintl,
888 [AC_TRY_LINK([], [return (int) gettext ("")],
889 gt_cv_func_gettext_libintl=yes,
890 gt_cv_func_gettext_libintl=no)])])
893 if test "$gt_cv_func_gettext_libc" = "yes" \
894 || test "$gt_cv_func_gettext_libintl" = "yes"; then
895 AC_DEFINE(HAVE_GETTEXT)
896 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
897 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
898 if test "$MSGFMT" != "no"; then
899 AC_CHECK_FUNCS(dcgettext)
900 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
901 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
902 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
903 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
904 return _nl_msg_cat_cntr],
914 dnl In the standard gettext, we would now check for catgets.
915 dnl However, we never want to use catgets for our releases.
917 if test "$CATOBJEXT" = "NONE"; then
918 dnl Neither gettext nor catgets in included in the C library.
919 dnl Fall back on GNU gettext library.
920 nls_cv_use_gnu_gettext=yes
924 if test "$nls_cv_use_gnu_gettext" = "yes"; then
925 dnl Mark actions used to generate GNU NLS library.
926 INTLOBJS="\$(GETTOBJS)"
927 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
928 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
929 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
930 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
931 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
933 USE_INCLUDED_LIBINTL=yes
937 INTLDEPS='$(top_builddir)/../intl/libintl.a'
939 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
940 nls_cv_header_intl=libintl.h
941 nls_cv_header_libgt=libgettext.h
944 dnl Test whether we really found GNU xgettext.
945 if test "$XGETTEXT" != ":"; then
946 dnl If it is no GNU xgettext we define it as : so that the
947 dnl Makefiles still can work.
948 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
952 [found xgettext programs is not GNU xgettext; ignore it])
957 # We need to process the po/ directory.
961 nls_cv_header_intl=libintl.h
962 nls_cv_header_libgt=libgettext.h
965 # If this is used in GNU gettext we have to set USE_NLS to `yes'
966 # because some of the sources are only built for this goal.
967 if test "$PACKAGE" = gettext; then
969 USE_INCLUDED_LIBINTL=yes
972 dnl These rules are solely for the distribution goal. While doing this
973 dnl we only have to keep exactly one list of the available catalogs
975 for lang in $ALL_LINGUAS; do
976 GMOFILES="$GMOFILES $lang.gmo"
977 POFILES="$POFILES $lang.po"
980 dnl Make all variables we use known to autoconf.
981 AC_SUBST(USE_INCLUDED_LIBINTL)
984 AC_SUBST(DATADIRNAME)
994 AC_DEFUN(CY_GNU_GETTEXT,
995 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
996 AC_REQUIRE([AC_PROG_CC])dnl
997 AC_REQUIRE([AC_PROG_RANLIB])dnl
998 AC_REQUIRE([AC_ISC_POSIX])dnl
999 AC_REQUIRE([AC_HEADER_STDC])dnl
1000 AC_REQUIRE([AC_C_CONST])dnl
1001 AC_REQUIRE([AC_C_INLINE])dnl
1002 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1003 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1004 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1005 AC_REQUIRE([AC_FUNC_MMAP])dnl
1007 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1008 unistd.h values.h sys/param.h])
1009 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1010 __argz_count __argz_stringify __argz_next])
1012 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1013 AC_CHECK_FUNCS(stpcpy)
1015 if test "${ac_cv_func_stpcpy}" = "yes"; then
1016 AC_DEFINE(HAVE_STPCPY)
1022 if test "x$CATOBJEXT" != "x"; then
1023 if test "x$ALL_LINGUAS" = "x"; then
1026 AC_MSG_CHECKING(for catalogs to be installed)
1028 for lang in ${LINGUAS=$ALL_LINGUAS}; do
1029 case "$ALL_LINGUAS" in
1030 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1033 LINGUAS=$NEW_LINGUAS
1034 AC_MSG_RESULT($LINGUAS)
1037 dnl Construct list of names of catalog files to be constructed.
1038 if test -n "$LINGUAS"; then
1039 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1043 dnl The reference to <locale.h> in the installed <libintl.h> file
1044 dnl must be resolved because we cannot expect the users of this
1045 dnl to define HAVE_LOCALE_H.
1046 if test $ac_cv_header_locale_h = yes; then
1047 INCLUDE_LOCALE_H="#include <locale.h>"
1050 /* The system does not provide the header <locale.h>. Take care yourself. */"
1052 AC_SUBST(INCLUDE_LOCALE_H)
1054 dnl Determine which catalog format we have (if any is needed)
1055 dnl For now we know about two different formats:
1056 dnl Linux libc-5 and the normal X/Open format
1057 if test -f $srcdir/po2tbl.sed.in; then
1058 if test "$CATOBJEXT" = ".cat"; then
1059 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1061 dnl Transform the SED scripts while copying because some dumb SEDs
1062 dnl cannot handle comments.
1063 sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
1065 dnl po2tbl.sed is always needed.
1066 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1067 $srcdir/po2tbl.sed.in > po2tbl.sed
1070 dnl In the intl/Makefile.in we have a special dependency which makes
1071 dnl only sense for gettext. We comment this out for non-gettext
1073 if test "$PACKAGE" = "gettext"; then
1083 MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
1084 AC_SUBST(MKINSTALLDIRS)
1086 dnl *** For now the libtool support in intl/Makefile is not for real.
1090 dnl Generate list of files to be processed by xgettext which will
1091 dnl be included in po/Makefile. But only do this if the po directory
1092 dnl exists in srcdir.
1093 if test -d $srcdir/po; then
1094 test -d po || mkdir po
1095 if test "x$srcdir" != "x."; then
1096 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1097 posrcprefix="$srcdir/"
1099 posrcprefix="../$srcdir/"
1105 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1106 < $srcdir/po/POTFILES.in > po/POTFILES
1110 # Search path for a program which passes the given test.
1111 # Ulrich Drepper <drepper@cygnus.com>, 1996.
1113 # This file file be copied and used freely without restrictions. It can
1114 # be used in projects which are not available under the GNU Public License
1115 # but which still want to provide support for the GNU gettext functionality.
1116 # Please note that the actual code is *not* freely available.
1120 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
1121 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
1122 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
1123 [# Extract the first word of "$2", so it can be a program name with args.
1124 set dummy $2; ac_word=[$]2
1125 AC_MSG_CHECKING([for $ac_word])
1126 AC_CACHE_VAL(ac_cv_path_$1,
1129 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
1132 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
1133 for ac_dir in ifelse([$5], , $PATH, [$5]); do
1134 test -z "$ac_dir" && ac_dir=.
1135 if test -f $ac_dir/$ac_word; then
1137 ac_cv_path_$1="$ac_dir/$ac_word"
1143 dnl If no 4th arg is given, leave the cache variable unset,
1144 dnl so AC_PATH_PROGS will keep looking.
1145 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
1150 if test -n "[$]$1"; then
1151 AC_MSG_RESULT([$]$1)
1158 # Check whether LC_MESSAGES is available in <locale.h>.
1159 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1161 # This file file be copied and used freely without restrictions. It can
1162 # be used in projects which are not available under the GNU Public License
1163 # but which still want to provide support for the GNU gettext functionality.
1164 # Please note that the actual code is *not* freely available.
1168 AC_DEFUN(AM_LC_MESSAGES,
1169 [if test $ac_cv_header_locale_h = yes; then
1170 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
1171 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1172 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
1173 if test $am_cv_val_LC_MESSAGES = yes; then
1174 AC_DEFINE(HAVE_LC_MESSAGES)
1178 # Check to see if we're running under Cygwin32, without using
1179 # AC_CANONICAL_*. If so, set output variable CYGWIN32 to "yes".
1180 # Otherwise set it to "no".
1183 dnl You might think we can do this by checking for a cygwin32-specific
1185 AC_DEFUN(AM_CYGWIN32,
1186 [AC_CACHE_CHECK(for Cygwin32 environment, am_cv_cygwin32,
1187 [AC_TRY_COMPILE(,[int main () { return __CYGWIN32__; }],
1188 am_cv_cygwin32=yes, am_cv_cygwin32=no)
1191 test "$am_cv_cygwin32" = yes && CYGWIN32=yes])
1193 # Check to see if we're running under Win32, without using
1194 # AC_CANONICAL_*. If so, set output variable EXEEXT to ".exe".
1195 # Otherwise set it to "".
1198 dnl This knows we add .exe if we're building in the Cygwin32
1199 dnl environment. But if we're not, then it compiles a test program
1200 dnl to see if there is a suffix for executables.
1202 dnl AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AM_CYGWIN32])
1203 AC_MSG_CHECKING([for executable suffix])
1204 [AC_CACHE_VAL(am_cv_exeext,
1205 [if test "$CYGWIN32" = yes; then
1208 cat > am_c_test.c << 'EOF'
1210 /* Nothing needed here */
1213 ${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
1214 am_cv_exeext=`ls am_c_test.* | grep -v am_c_test.c | sed -e s/am_c_test//`
1216 test x"${am_cv_exeext}" = x && am_cv_exeext=no
1219 test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
1220 AC_MSG_RESULT(${am_cv_exeext})