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