]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/common/acinclude.m4
sim: use AM_MAINTAINER_MODE
[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#
8# The simulator's configure.in should look like:
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,
122[ --enable-sim-bswap Use Host specific BSWAP instruction.],
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,
135[ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
136[case "${enableval}" in
137 yes) sim_cflags="-O2 -fomit-frame-pointer";;
138 trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";;
139 no) sim_cflags="";;
140 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
141esac
142if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
143 echo "Setting sim cflags = $sim_cflags" 6>&1
144fi],[sim_cflags=""])dnl
145AC_SUBST(sim_cflags)
146
147
148dnl --enable-sim-debug is for developers of the simulator
149dnl the allowable values are work-in-progress
150AC_ARG_ENABLE(sim-debug,
151[ --enable-sim-debug=opts Enable debugging flags],
152[case "${enableval}" in
153 yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
154 no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
155 *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
156esac
157if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
158 echo "Setting sim debug = $sim_debug" 6>&1
159fi],[sim_debug=""])dnl
160AC_SUBST(sim_debug)
161
162
163dnl --enable-sim-stdio is for users of the simulator
164dnl It determines if IO from the program is routed through STDIO (buffered)
165AC_ARG_ENABLE(sim-stdio,
166[ --enable-sim-stdio Specify whether to use stdio for console input/output.],
167[case "${enableval}" in
168 yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
169 no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
170 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
171esac
172if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
173 echo "Setting stdio flags = $sim_stdio" 6>&1
174fi],[sim_stdio=""])dnl
175AC_SUBST(sim_stdio)
176
177
178dnl --enable-sim-trace is for users of the simulator
179dnl The argument is either a bitmask of things to enable [exactly what is
180dnl up to the simulator], or is a comma separated list of names of tracing
181dnl elements to enable. The latter is only supported on simulators that
182dnl use WITH_TRACE.
183AC_ARG_ENABLE(sim-trace,
184[ --enable-sim-trace=opts Enable tracing flags],
185[case "${enableval}" in
186 yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
187 no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
188 [[-0-9]]*)
189 sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
509deab2 190 [[[:lower:]]]*)
9c082ca8
MF
191 sim_trace=""
192 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
193 if test x"$sim_trace" = x; then
194 sim_trace="-DWITH_TRACE='(TRACE_$x"
195 else
196 sim_trace="${sim_trace}|TRACE_$x"
197 fi
198 done
199 sim_trace="$sim_trace)'" ;;
200esac
201if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
202 echo "Setting sim trace = $sim_trace" 6>&1
203fi],[sim_trace=""])dnl
204AC_SUBST(sim_trace)
205
206
207dnl --enable-sim-profile
208dnl The argument is either a bitmask of things to enable [exactly what is
209dnl up to the simulator], or is a comma separated list of names of profiling
210dnl elements to enable. The latter is only supported on simulators that
211dnl use WITH_PROFILE.
212AC_ARG_ENABLE(sim-profile,
213[ --enable-sim-profile=opts Enable profiling flags],
214[case "${enableval}" in
215 yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
216 no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
217 [[-0-9]]*)
218 sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
219 [[a-z]]*)
220 sim_profile=""
221 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
222 if test x"$sim_profile" = x; then
223 sim_profile="-DWITH_PROFILE='(PROFILE_$x"
224 else
225 sim_profile="${sim_profile}|PROFILE_$x"
226 fi
227 done
228 sim_profile="$sim_profile)'" ;;
229esac
230if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
231 echo "Setting sim profile = $sim_profile" 6>&1
232fi],[sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1"])dnl
233AC_SUBST(sim_profile)
234
235ACX_PKGVERSION([GDB])
236ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
237AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
238AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
239
240dnl Types used by common code
241AC_TYPE_SIGNAL
242
243dnl Detect exe extension
244AC_EXEEXT
245
246dnl These are available to append to as desired.
247sim_link_files=
248sim_link_links=
249
250dnl Create tconfig.h either from simulator's tconfig.in or default one
251dnl in common.
252sim_link_links=tconfig.h
253if test -f ${srcdir}/tconfig.in
254then
255 sim_link_files=tconfig.in
256else
257 sim_link_files=../common/tconfig.in
258fi
259
260# targ-vals.def points to the libc macro description file.
261case "${target}" in
262*-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
263esac
264sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
265sim_link_links="${sim_link_links} targ-vals.def"
266
267]) dnl End of SIM_AC_COMMON
268
269
270dnl Additional SIM options that can (optionally) be configured
271dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined.
272dnl Simulators that wish to use the relevant option specify the macro
273dnl in the simulator specific configure.in file between the SIM_AC_COMMON
274dnl and SIM_AC_OUTPUT lines.
275
276
277dnl Specify the running environment.
278dnl If the simulator invokes this in its configure.in then without this option
279dnl the default is the user environment and all are runtime selectable.
280dnl If the simulator doesn't invoke this, only the user environment is
281dnl supported.
282dnl ??? Until there is demonstrable value in doing something more complicated,
283dnl let's not.
284AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT],
285[
286AC_ARG_ENABLE(sim-environment,
287[ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.],
288[case "${enableval}" in
289 all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
290 user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
291 virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
292 operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
293 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-environment");
294 sim_environment="";;
295esac
296if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
297 echo "Setting sim environment = $sim_environment" 6>&1
298fi],
299[sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"])dnl
300])
301AC_SUBST(sim_environment)
302
303
304dnl Specify the alignment restrictions of the target architecture.
305dnl Without this option all possible alignment restrictions are accommodated.
306dnl arg[1] is hardwired target alignment
307dnl arg[2] is default target alignment
308AC_DEFUN([SIM_AC_OPTION_ALIGNMENT],
309wire_alignment="[$1]"
310default_alignment="[$2]"
311[
312AC_ARG_ENABLE(sim-alignment,
313[ --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.],
314[case "${enableval}" in
315 strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
316 nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
317 forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
318 yes) if test x"$wire_alignment" != x; then
319 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
320 else
321 if test x"$default_alignment" != x; then
322 sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
323 else
324 echo "No hard-wired alignment for target $target" 1>&6
325 sim_alignment="-DWITH_ALIGNMENT=0"
326 fi
327 fi;;
328 no) if test x"$default_alignment" != x; then
329 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
330 else
331 if test x"$wire_alignment" != x; then
332 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
333 else
334 echo "No default alignment for target $target" 1>&6
335 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
336 fi
337 fi;;
338 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
339esac
340if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
341 echo "Setting alignment flags = $sim_alignment" 6>&1
342fi],
343[if test x"$default_alignment" != x; then
344 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
345else
346 if test x"$wire_alignment" != x; then
347 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
348 else
349 sim_alignment=
350 fi
351fi])dnl
352])dnl
353AC_SUBST(sim_alignment)
354
355
356dnl Conditionally compile in assertion statements.
357AC_DEFUN([SIM_AC_OPTION_ASSERT],
358[
359AC_ARG_ENABLE(sim-assert,
360[ --enable-sim-assert Specify whether to perform random assertions.],
361[case "${enableval}" in
362 yes) sim_assert="-DWITH_ASSERT=1";;
363 no) sim_assert="-DWITH_ASSERT=0";;
364 *) AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";;
365esac
366if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
367 echo "Setting assert flags = $sim_assert" 6>&1
368fi],[sim_assert=""])dnl
369])
370AC_SUBST(sim_assert)
371
372
373
374dnl --enable-sim-bitsize is for developers of the simulator
375dnl It specifies the number of BITS in the target.
376dnl arg[1] is the number of bits in a word
377dnl arg[2] is the number assigned to the most significant bit
378dnl arg[3] is the number of bits in an address
379dnl arg[4] is the number of bits in an OpenFirmware cell.
380dnl FIXME: this information should be obtained from bfd/archure
381AC_DEFUN([SIM_AC_OPTION_BITSIZE],
382wire_word_bitsize="[$1]"
383wire_word_msb="[$2]"
384wire_address_bitsize="[$3]"
385wire_cell_bitsize="[$4]"
386[AC_ARG_ENABLE(sim-bitsize,
387[ --enable-sim-bitsize=N Specify target bitsize (32 or 64).],
388[sim_bitsize=
389case "${enableval}" in
390 64,63 | 64,63,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63";;
391 32,31 | 32,31,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31";;
392 64,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
393 32,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
394 32) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
395 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31"
396 else
397 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0"
398 fi ;;
399 64) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
400 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63"
401 else
402 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=0"
403 fi ;;
404 *) AC_MSG_ERROR("--enable-sim-bitsize was given $enableval. Expected 32 or 64") ;;
405esac
406# address bitsize
407tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9]]*,*//"`
408case x"${tmp}" in
409 x ) ;;
410 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=32" ;;
411 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=64" ;;
412 * ) AC_MSG_ERROR("--enable-sim-bitsize was given address size $enableval. Expected 32 or 64") ;;
413esac
414# cell bitsize
415tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9*]]*,*[[0-9]]*,*//"`
416case x"${tmp}" in
417 x ) ;;
418 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=32" ;;
419 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=64" ;;
420 * ) AC_MSG_ERROR("--enable-sim-bitsize was given cell size $enableval. Expected 32 or 64") ;;
421esac
422if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
423 echo "Setting bitsize flags = $sim_bitsize" 6>&1
424fi],
425[sim_bitsize=""
426if test x"$wire_word_bitsize" != x; then
427 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_BITSIZE=$wire_word_bitsize"
428fi
429if test x"$wire_word_msb" != x; then
430 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_MSB=$wire_word_msb"
431fi
432if test x"$wire_address_bitsize" != x; then
433 sim_bitsize="$sim_bitsize -DWITH_TARGET_ADDRESS_BITSIZE=$wire_address_bitsize"
434fi
435if test x"$wire_cell_bitsize" != x; then
436 sim_bitsize="$sim_bitsize -DWITH_TARGET_CELL_BITSIZE=$wire_cell_bitsize"
437fi])dnl
438])
439AC_SUBST(sim_bitsize)
440
441
442
443dnl --enable-sim-endian={yes,no,big,little} is for simulators
444dnl that support both big and little endian targets.
445dnl arg[1] is hardwired target endianness.
446dnl arg[2] is default target endianness.
447AC_DEFUN([SIM_AC_OPTION_ENDIAN],
448[
449wire_endian="[$1]"
450default_endian="[$2]"
451AC_ARG_ENABLE(sim-endian,
452[ --enable-sim-endian=endian Specify target byte endian orientation.],
453[case "${enableval}" in
454 b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
455 l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
456 yes) if test x"$wire_endian" != x; then
457 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
458 else
459 if test x"$default_endian" != x; then
460 sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
461 else
462 echo "No hard-wired endian for target $target" 1>&6
463 sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
464 fi
465 fi;;
466 no) if test x"$default_endian" != x; then
467 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
468 else
469 if test x"$wire_endian" != x; then
470 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
471 else
472 echo "No default endian for target $target" 1>&6
473 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
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
482 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
483else
484 if test x"$wire_endian" != x; then
485 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
486 else
487 sim_endian=
488 fi
489fi])dnl
490])
491AC_SUBST(sim_endian)
492
493
494dnl --enable-sim-hostendian is for users of the simulator when
495dnl they find that AC_C_BIGENDIAN does not function correctly
496dnl (for instance in a canadian cross)
497AC_DEFUN([SIM_AC_OPTION_HOSTENDIAN],
498[
499AC_ARG_ENABLE(sim-hostendian,
500[ --enable-sim-hostendian=end Specify host byte endian orientation.],
501[case "${enableval}" in
502 no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
503 b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
504 l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
505 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
506esac
507if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
508 echo "Setting hostendian flags = $sim_hostendian" 6>&1
509fi],[
510if test "x$cross_compiling" = "xno"; then
511 AC_C_BIGENDIAN
512 if test $ac_cv_c_bigendian = yes; then
513 sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
514 else
515 sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
516 fi
517else
518 sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
519fi])dnl
520])
521AC_SUBST(sim_hostendian)
522
523
524dnl --enable-sim-float is for developers of the simulator
525dnl It specifies the presence of hardware floating point
526dnl And optionally the bitsize of the floating point register.
527dnl arg[1] specifies the presence (or absence) of floating point hardware
528dnl arg[2] specifies the number of bits in a floating point register
529AC_DEFUN([SIM_AC_OPTION_FLOAT],
530[
531default_sim_float="[$1]"
532default_sim_float_bitsize="[$2]"
533AC_ARG_ENABLE(sim-float,
534[ --enable-sim-float Specify that the target processor has floating point hardware.],
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,
562[ --enable-sim-scache=size Specify simulator execution cache size.],
563[case "${enableval}" in
564 yes) sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
565 no) sim_scache="-DWITH_SCACHE=0" ;;
566 [[0-9]]*) sim_scache="-DWITH_SCACHE=${enableval}";;
567 *) AC_MSG_ERROR("Bad value $enableval passed to --enable-sim-scache");
568 sim_scache="";;
569esac
570if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
571 echo "Setting scache size = $sim_scache" 6>&1
572fi],[sim_scache="-DWITH_SCACHE=${default_sim_scache}"])
573])
574AC_SUBST(sim_scache)
575
576
577dnl The argument is the default model if none is specified.
578AC_DEFUN([SIM_AC_OPTION_DEFAULT_MODEL],
579[
580default_sim_default_model="ifelse([$1],,0,[$1])"
581AC_ARG_ENABLE(sim-default-model,
582[ --enable-sim-default-model=model Specify default model to simulate.],
583[case "${enableval}" in
584 yes|no) AC_MSG_ERROR("Missing argument to --enable-sim-default-model");;
585 *) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
586esac
587if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
588 echo "Setting default model = $sim_default_model" 6>&1
589fi],[sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"])
590])
591AC_SUBST(sim_default_model)
592
593
594dnl --enable-sim-hardware is for users of the simulator
3fd38161 595dnl arg[1] Enable sim-hw by default? ("yes", "no", or "always")
9c082ca8
MF
596dnl arg[2] is a space separated list of devices that override the defaults
597dnl arg[3] is a space separated list of extra target specific devices.
598AC_DEFUN([SIM_AC_OPTION_HARDWARE],
599[
3fd38161 600if test x"[$1]" != x"no"; then
1517bd27 601 enable_sim_hardware=yes
9c082ca8 602else
1517bd27 603 enable_sim_hardware=no
9c082ca8 604fi
1517bd27 605
9c082ca8
MF
606if test "[$2]"; then
607 hardware="[$2]"
608else
609 hardware="cfi core pal glue"
610fi
611hardware="$hardware [$3]"
1517bd27 612
9c082ca8
MF
613sim_hw_cflags="-DWITH_HW=1"
614sim_hw="$hardware"
615sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([[^ ]][[^ ]]*\)/dv-\1.o/g'`"
1517bd27 616
9c082ca8 617AC_ARG_ENABLE(sim-hardware,
1517bd27
MF
618 [AS_HELP_STRING([--enable-sim-hardware=LIST],
619 [Specify the hardware to be included in the build.])])
620case ${enable_sim_hardware} in
621 yes) sim_hw_p=yes;;
622 no) sim_hw_p=no;;
9c082ca8
MF
623 ,*) sim_hw_p=yes; hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";;
624 *,) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";;
1517bd27 625 *) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';;
9c082ca8 626esac
1517bd27 627
9c082ca8 628if test "$sim_hw_p" != yes; then
1517bd27
MF
629 if test "[$1]" = "always"; then
630 AC_MSG_ERROR([Sorry, but this simulator requires that hardware support
631be enabled. Please configure without --disable-hw-support.])
632 fi
9c082ca8
MF
633 sim_hw_objs=
634 sim_hw_cflags="-DWITH_HW=0"
635 sim_hw=
636else
637 sim_hw_cflags="-DWITH_HW=1"
638 # remove duplicates
639 sim_hw=""
640 sim_hw_objs="\$(SIM_COMMON_HW_OBJS)"
641 for i in $hardware ; do
642 case " $sim_hw " in
643 *" $i "*) ;;
644 *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";;
645 esac
646 done
3fd38161
JS
647 # mingw does not support sockser
648 SIM_DV_SOCKSER_O=""
649 case ${host} in
650 *mingw*) ;;
651 *) SIM_DV_SOCKSER_O="dv-sockser.o"
652 AC_DEFINE_UNQUOTED(
653 [HAVE_DV_SOCKSER], 1, [Define if dv-sockser is usable.])
654 ;;
655 esac
656 AC_SUBST(SIM_DV_SOCKSER_O)
1517bd27
MF
657 if test x"$silent" != x"yes"; then
658 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
3fd38161 659 fi
1517bd27
MF
660 dnl Some devices require extra libraries.
661 case " $hardware " in
662 *" cfi "*) AC_CHECK_LIB(m, log2);;
663 esac
9c082ca8 664fi
9c082ca8
MF
665])
666AC_SUBST(sim_hw_cflags)
667AC_SUBST(sim_hw_objs)
668AC_SUBST(sim_hw)
669
670
671dnl --enable-sim-inline is for users that wish to ramp up the simulator's
672dnl performance by inlining functions.
673dnl Guarantee that unconfigured simulators do not do any inlining
674sim_inline="-DDEFAULT_INLINE=0"
675AC_DEFUN([SIM_AC_OPTION_INLINE],
676[
677default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
678AC_ARG_ENABLE(sim-inline,
679[ --enable-sim-inline=inlines Specify which functions should be inlined.],
680[sim_inline=""
681case "$enableval" in
682 no) sim_inline="-DDEFAULT_INLINE=0";;
683 0) sim_inline="-DDEFAULT_INLINE=0";;
684 yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
685 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
686 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
687 new_flag=""
688 case "$x" in
689 *_INLINE=*) new_flag="-D$x";;
690 *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
691 *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
692 *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
693 esac
694 if test x"$sim_inline" = x""; then
695 sim_inline="$new_flag"
696 else
697 sim_inline="$sim_inline $new_flag"
698 fi
699 done;;
700esac
701if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
702 echo "Setting inline flags = $sim_inline" 6>&1
703fi],[
704if test "x$cross_compiling" = "xno"; then
705 if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then
706 sim_inline="${default_sim_inline}"
707 if test x"$silent" != x"yes"; then
708 echo "Setting inline flags = $sim_inline" 6>&1
709 fi
710 else
711 sim_inline=""
712 fi
713else
714 sim_inline="-DDEFAULT_INLINE=0"
715fi])dnl
716])
717AC_SUBST(sim_inline)
718
719
720AC_DEFUN([SIM_AC_OPTION_PACKAGES],
721[
722AC_ARG_ENABLE(sim-packages,
723[ --enable-sim-packages=list Specify the packages to be included in the build.],
724[packages=disklabel
725case "${enableval}" in
726 yes) ;;
727 no) AC_MSG_ERROR("List of packages must be specified for --enable-sim-packages"); packages="";;
728 ,*) packages="${packages}${enableval}";;
729 *,) packages="${enableval}${packages}";;
730 *) packages="${enableval}"'';;
731esac
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" && test x"$packages" != x""; then
735 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
736fi],[packages=disklabel
737sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
738sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
739if test x"$silent" != x"yes"; then
740 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
741fi])dnl
742])
743AC_SUBST(sim_packages)
744
745
746AC_DEFUN([SIM_AC_OPTION_REGPARM],
747[
748AC_ARG_ENABLE(sim-regparm,
749[ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
750[case "${enableval}" in
751 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
752 no) sim_regparm="" ;;
753 yes) sim_regparm="-DWITH_REGPARM=3";;
754 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-regparm"); sim_regparm="";;
755esac
756if test x"$silent" != x"yes" && test x"$sim_regparm" != x""; then
757 echo "Setting regparm flags = $sim_regparm" 6>&1
758fi],[sim_regparm=""])dnl
759])
760AC_SUBST(sim_regparm)
761
762
763AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS],
764[
765default_sim_reserved_bits="ifelse([$1],,1,[$1])"
766AC_ARG_ENABLE(sim-reserved-bits,
767[ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
768[case "${enableval}" in
769 yes) sim_reserved_bits="-DWITH_RESERVED_BITS=1";;
770 no) sim_reserved_bits="-DWITH_RESERVED_BITS=0";;
771 *) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved_bits="";;
772esac
773if test x"$silent" != x"yes" && test x"$sim_reserved_bits" != x""; then
774 echo "Setting reserved flags = $sim_reserved_bits" 6>&1
775fi],[sim_reserved_bits="-DWITH_RESERVED_BITS=${default_sim_reserved_bits}"])dnl
776])
777AC_SUBST(sim_reserved_bits)
778
779
780AC_DEFUN([SIM_AC_OPTION_SMP],
781[
782default_sim_smp="ifelse([$1],,5,[$1])"
783AC_ARG_ENABLE(sim-smp,
784[ --enable-sim-smp=n Specify number of processors to configure for (default ${default_sim_smp}).],
785[case "${enableval}" in
786 yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
787 no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
788 *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
789esac
790if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
791 echo "Setting smp flags = $sim_smp" 6>&1
792fi],[sim_smp="-DWITH_SMP=${default_sim_smp}" ; sim_igen_smp="-N ${default_sim_smp}"
793if test x"$silent" != x"yes"; then
794 echo "Setting smp flags = $sim_smp" 6>&1
795fi])dnl
796])
797AC_SUBST(sim_smp)
798
799
800AC_DEFUN([SIM_AC_OPTION_STDCALL],
801[
802AC_ARG_ENABLE(sim-stdcall,
803[ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
804[case "${enableval}" in
805 no) sim_stdcall="" ;;
806 std*) sim_stdcall="-DWITH_STDCALL=1";;
807 yes) sim_stdcall="-DWITH_STDCALL=1";;
808 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-stdcall"); sim_stdcall="";;
809esac
810if test x"$silent" != x"yes" && test x"$sim_stdcall" != x""; then
811 echo "Setting function call flags = $sim_stdcall" 6>&1
812fi],[sim_stdcall=""])dnl
813])
814AC_SUBST(sim_stdcall)
815
816
817AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN],
818[
819default_sim_xor_endian="ifelse([$1],,8,[$1])"
820AC_ARG_ENABLE(sim-xor-endian,
821[ --enable-sim-xor-endian=n Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).],
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
MF
857
858# The entries after -Wno-pointer-sign are disabled warnings which may
859# be enabled in the future, which can not currently be used to build
860# GDB.
861# NOTE: If you change this list, remember to update
862# gdb/doc/gdbint.texinfo.
863build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
d3685d60 864-Wno-pointer-sign \
ac0aacdf
MF
865-Wno-unused -Wunused-value -Wunused-function \
866-Wno-switch -Wno-char-subscripts -Wmissing-prototypes"
867
868# Enable -Wno-format by default when using gcc on mingw since many
869# GCC versions complain about %I64.
870case "${host}" in
871 *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
d3685d60 872 *) build_warnings="$build_warnings -Wformat-nonliteral" ;;
ac0aacdf
MF
873esac
874
9c082ca8 875AC_ARG_ENABLE(build-warnings,
ac0aacdf 876AS_HELP_STRING([--enable-build-warnings], [enable build-time compiler warnings if gcc is used]),
9c082ca8
MF
877[case "${enableval}" in
878 yes) ;;
879 no) build_warnings="-w";;
880 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
881 build_warnings="${build_warnings} ${t}";;
882 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
883 build_warnings="${t} ${build_warnings}";;
884 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
885esac
886if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
887 echo "Setting compiler warning flags = $build_warnings" 6>&1
888fi])dnl
889AC_ARG_ENABLE(sim-build-warnings,
ac0aacdf 890AS_HELP_STRING([--enable-sim-build-warnings], [enable SIM specific build-time compiler warnings if gcc is used]),
9c082ca8
MF
891[case "${enableval}" in
892 yes) ;;
893 no) build_warnings="-w";;
894 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
895 build_warnings="${build_warnings} ${t}";;
896 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
897 build_warnings="${t} ${build_warnings}";;
898 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
899esac
900if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
901 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
902fi])dnl
903WARN_CFLAGS=""
9c082ca8
MF
904if test "x${build_warnings}" != x -a "x$GCC" = xyes
905then
906 AC_MSG_CHECKING(compiler warning flags)
907 # Separate out the -Werror flag as some files just cannot be
908 # compiled with it enabled.
909 for w in ${build_warnings}; do
910 case $w in
911 -Werr*) WERROR_CFLAGS=-Werror ;;
912 *) # Check that GCC accepts it
913 saved_CFLAGS="$CFLAGS"
914 CFLAGS="$CFLAGS $w"
915 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
916 CFLAGS="$saved_CFLAGS"
917 esac
918 done
ac0aacdf 919 AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
9c082ca8
MF
920fi
921])
922AC_SUBST(WARN_CFLAGS)
923AC_SUBST(WERROR_CFLAGS)
924
925
926dnl Generate the Makefile in a target specific directory.
927dnl Substitutions aren't performed on the file in AC_SUBST_FILE,
928dnl so this is a cover macro to tuck the details away of how we cope.
929dnl We cope by having autoconf generate two files and then merge them into
930dnl one afterwards. The two pieces of the common fragment are inserted into
931dnl the target's fragment at the appropriate points.
932
933AC_DEFUN([SIM_AC_OUTPUT],
934[
935AC_LINK_FILES($sim_link_files, $sim_link_links)
936dnl Make @cgen_breaks@ non-null only if the sim uses CGEN.
937cgen_breaks=""
938if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then
939cgen_breaks="break cgen_rtx_error";
940fi
941AC_SUBST(cgen_breaks)
942AC_CONFIG_FILES(Makefile.sim:Makefile.in)
943AC_CONFIG_FILES(Make-common.sim:../common/Make-common.in)
944AC_CONFIG_FILES(.gdbinit:../common/gdbinit.in)
945AC_CONFIG_COMMANDS([Makefile],
946[echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
947 rm -f Makesim1.tmp Makesim2.tmp Makefile
948 sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
949 sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
950 sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
951 -e '/^## COMMON_POST_/ r Makesim2.tmp' \
952 <Makefile.sim >Makefile
953 rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
954])
955AC_CONFIG_COMMANDS([stamp-h], [echo > stamp-h])
956AC_OUTPUT
957])
958
959sinclude(../../config/gettext-sister.m4)
960sinclude(../../config/acx.m4)
961
962dnl --enable-cgen-maint support
963AC_DEFUN([SIM_AC_OPTION_CGEN_MAINT],
964[
965cgen_maint=no
966dnl Default is to use one in build tree.
967cgen=guile
968cgendir='$(srcdir)/../../cgen'
969dnl Having --enable-maintainer-mode take arguments is another way to go.
970dnl ??? One can argue --with is more appropriate if one wants to specify
971dnl a directory name, but what we're doing here is an enable/disable kind
972dnl of thing and specifying both --enable and --with is klunky.
973dnl If you reeely want this to be --with, go ahead and change it.
974AC_ARG_ENABLE(cgen-maint,
975[ --enable-cgen-maint[=DIR] build cgen generated files],
976[case "${enableval}" in
977 yes) cgen_maint=yes ;;
978 no) cgen_maint=no ;;
979 *)
980 # argument is cgen install directory (not implemented yet).
981 # Having a `share' directory might be more appropriate for the .scm,
982 # .cpu, etc. files.
983 cgendir=${cgen_maint}/lib/cgen
984 cgen=guile
985 ;;
986esac])dnl
987dnl AM_CONDITIONAL(CGEN_MAINT, test x${cgen_maint} != xno)
988if test x${cgen_maint} != xno ; then
989 CGEN_MAINT=''
990else
991 CGEN_MAINT='#'
992fi
993AC_SUBST(CGEN_MAINT)
994AC_SUBST(cgendir)
995AC_SUBST(cgen)
996])