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