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