2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com>
[deliverable/binutils-gdb.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", "no", or "always")
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"no"; 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 # mingw does not support sockser
651 SIM_DV_SOCKSER_O=""
652 case ${host} in
653 *mingw*) ;;
654 *) SIM_DV_SOCKSER_O="dv-sockser.o"
655 AC_DEFINE_UNQUOTED(
656 [HAVE_DV_SOCKSER], 1, [Define if dv-sockser is usable.])
657 ;;
658 esac
659 AC_SUBST(SIM_DV_SOCKSER_O)
660 fi
661 if test x"$silent" != x"yes" && test "$sim_hw_p" = "yes"; then
662 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
663 fi],[
664 if test "$sim_hw_p" != yes; then
665 if test "[$1]" = "always"; then
666 AC_MSG_ERROR([Sorry, but this simulator requires that hardware support
667 be enabled. Please configure without --disable-hw-support.])
668 fi
669 sim_hw_objs=
670 sim_hw_cflags="-DWITH_HW=0"
671 sim_hw=
672 fi
673 if test x"$silent" != x"yes"; then
674 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
675 fi])
676 dnl Some devices require extra libraries.
677 case " $hardware " in
678 *" cfi "*) AC_CHECK_LIB(m, log2);;
679 esac
680 ])
681 AC_SUBST(sim_hw_cflags)
682 AC_SUBST(sim_hw_objs)
683 AC_SUBST(sim_hw)
684
685
686 dnl --enable-sim-inline is for users that wish to ramp up the simulator's
687 dnl performance by inlining functions.
688 dnl Guarantee that unconfigured simulators do not do any inlining
689 sim_inline="-DDEFAULT_INLINE=0"
690 AC_DEFUN([SIM_AC_OPTION_INLINE],
691 [
692 default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
693 AC_ARG_ENABLE(sim-inline,
694 [ --enable-sim-inline=inlines Specify which functions should be inlined.],
695 [sim_inline=""
696 case "$enableval" in
697 no) sim_inline="-DDEFAULT_INLINE=0";;
698 0) sim_inline="-DDEFAULT_INLINE=0";;
699 yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
700 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
701 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
702 new_flag=""
703 case "$x" in
704 *_INLINE=*) new_flag="-D$x";;
705 *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
706 *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
707 *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
708 esac
709 if test x"$sim_inline" = x""; then
710 sim_inline="$new_flag"
711 else
712 sim_inline="$sim_inline $new_flag"
713 fi
714 done;;
715 esac
716 if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
717 echo "Setting inline flags = $sim_inline" 6>&1
718 fi],[
719 if test "x$cross_compiling" = "xno"; then
720 if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then
721 sim_inline="${default_sim_inline}"
722 if test x"$silent" != x"yes"; then
723 echo "Setting inline flags = $sim_inline" 6>&1
724 fi
725 else
726 sim_inline=""
727 fi
728 else
729 sim_inline="-DDEFAULT_INLINE=0"
730 fi])dnl
731 ])
732 AC_SUBST(sim_inline)
733
734
735 AC_DEFUN([SIM_AC_OPTION_PACKAGES],
736 [
737 AC_ARG_ENABLE(sim-packages,
738 [ --enable-sim-packages=list Specify the packages to be included in the build.],
739 [packages=disklabel
740 case "${enableval}" in
741 yes) ;;
742 no) AC_MSG_ERROR("List of packages must be specified for --enable-sim-packages"); packages="";;
743 ,*) packages="${packages}${enableval}";;
744 *,) packages="${enableval}${packages}";;
745 *) packages="${enableval}"'';;
746 esac
747 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
748 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
749 if test x"$silent" != x"yes" && test x"$packages" != x""; then
750 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
751 fi],[packages=disklabel
752 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
753 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
754 if test x"$silent" != x"yes"; then
755 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
756 fi])dnl
757 ])
758 AC_SUBST(sim_packages)
759
760
761 AC_DEFUN([SIM_AC_OPTION_REGPARM],
762 [
763 AC_ARG_ENABLE(sim-regparm,
764 [ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
765 [case "${enableval}" in
766 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
767 no) sim_regparm="" ;;
768 yes) sim_regparm="-DWITH_REGPARM=3";;
769 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-regparm"); sim_regparm="";;
770 esac
771 if test x"$silent" != x"yes" && test x"$sim_regparm" != x""; then
772 echo "Setting regparm flags = $sim_regparm" 6>&1
773 fi],[sim_regparm=""])dnl
774 ])
775 AC_SUBST(sim_regparm)
776
777
778 AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS],
779 [
780 default_sim_reserved_bits="ifelse([$1],,1,[$1])"
781 AC_ARG_ENABLE(sim-reserved-bits,
782 [ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
783 [case "${enableval}" in
784 yes) sim_reserved_bits="-DWITH_RESERVED_BITS=1";;
785 no) sim_reserved_bits="-DWITH_RESERVED_BITS=0";;
786 *) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved_bits="";;
787 esac
788 if test x"$silent" != x"yes" && test x"$sim_reserved_bits" != x""; then
789 echo "Setting reserved flags = $sim_reserved_bits" 6>&1
790 fi],[sim_reserved_bits="-DWITH_RESERVED_BITS=${default_sim_reserved_bits}"])dnl
791 ])
792 AC_SUBST(sim_reserved_bits)
793
794
795 AC_DEFUN([SIM_AC_OPTION_SMP],
796 [
797 default_sim_smp="ifelse([$1],,5,[$1])"
798 AC_ARG_ENABLE(sim-smp,
799 [ --enable-sim-smp=n Specify number of processors to configure for (default ${default_sim_smp}).],
800 [case "${enableval}" in
801 yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
802 no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
803 *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
804 esac
805 if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
806 echo "Setting smp flags = $sim_smp" 6>&1
807 fi],[sim_smp="-DWITH_SMP=${default_sim_smp}" ; sim_igen_smp="-N ${default_sim_smp}"
808 if test x"$silent" != x"yes"; then
809 echo "Setting smp flags = $sim_smp" 6>&1
810 fi])dnl
811 ])
812 AC_SUBST(sim_smp)
813
814
815 AC_DEFUN([SIM_AC_OPTION_STDCALL],
816 [
817 AC_ARG_ENABLE(sim-stdcall,
818 [ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
819 [case "${enableval}" in
820 no) sim_stdcall="" ;;
821 std*) sim_stdcall="-DWITH_STDCALL=1";;
822 yes) sim_stdcall="-DWITH_STDCALL=1";;
823 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-stdcall"); sim_stdcall="";;
824 esac
825 if test x"$silent" != x"yes" && test x"$sim_stdcall" != x""; then
826 echo "Setting function call flags = $sim_stdcall" 6>&1
827 fi],[sim_stdcall=""])dnl
828 ])
829 AC_SUBST(sim_stdcall)
830
831
832 AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN],
833 [
834 default_sim_xor_endian="ifelse([$1],,8,[$1])"
835 AC_ARG_ENABLE(sim-xor-endian,
836 [ --enable-sim-xor-endian=n Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).],
837 [case "${enableval}" in
838 yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
839 no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
840 *) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
841 esac
842 if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then
843 echo "Setting xor-endian flag = $sim_xor_endian" 6>&1
844 fi],[sim_xor_endian="-DWITH_XOR_ENDIAN=${default_sim_xor_endian}"])dnl
845 ])
846 AC_SUBST(sim_xor_endian)
847
848
849 dnl --enable-build-warnings is for developers of the simulator.
850 dnl it enables extra GCC specific warnings.
851 AC_DEFUN([SIM_AC_OPTION_WARNINGS],
852 [
853 AC_ARG_ENABLE(werror,
854 AS_HELP_STRING([--enable-werror], [treat compile warnings as errors]),
855 [case "${enableval}" in
856 yes | y) ERROR_ON_WARNING="yes" ;;
857 no | n) ERROR_ON_WARNING="no" ;;
858 *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
859 esac])
860
861 # Enable -Werror by default when using gcc
862 if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
863 ERROR_ON_WARNING=yes
864 fi
865
866 WERROR_CFLAGS=""
867 if test "${ERROR_ON_WARNING}" = yes ; then
868 # NOTE: Disabled in the sim dir due to most sims generating warnings.
869 # WERROR_CFLAGS="-Werror"
870 true
871 fi
872
873 # The entries after -Wno-pointer-sign are disabled warnings which may
874 # be enabled in the future, which can not currently be used to build
875 # GDB.
876 # NOTE: If you change this list, remember to update
877 # gdb/doc/gdbint.texinfo.
878 build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
879 -Wformat-nonliteral -Wno-pointer-sign \
880 -Wno-unused -Wunused-value -Wunused-function \
881 -Wno-switch -Wno-char-subscripts -Wmissing-prototypes"
882
883 # Enable -Wno-format by default when using gcc on mingw since many
884 # GCC versions complain about %I64.
885 case "${host}" in
886 *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
887 esac
888
889 AC_ARG_ENABLE(build-warnings,
890 AS_HELP_STRING([--enable-build-warnings], [enable 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 compiler warning flags = $build_warnings" 6>&1
902 fi])dnl
903 AC_ARG_ENABLE(sim-build-warnings,
904 AS_HELP_STRING([--enable-sim-build-warnings], [enable SIM specific build-time compiler warnings if gcc is used]),
905 [case "${enableval}" in
906 yes) ;;
907 no) build_warnings="-w";;
908 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
909 build_warnings="${build_warnings} ${t}";;
910 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
911 build_warnings="${t} ${build_warnings}";;
912 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
913 esac
914 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
915 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
916 fi])dnl
917 WARN_CFLAGS=""
918 if test "x${build_warnings}" != x -a "x$GCC" = xyes
919 then
920 AC_MSG_CHECKING(compiler warning flags)
921 # Separate out the -Werror flag as some files just cannot be
922 # compiled with it enabled.
923 for w in ${build_warnings}; do
924 case $w in
925 -Werr*) WERROR_CFLAGS=-Werror ;;
926 *) # Check that GCC accepts it
927 saved_CFLAGS="$CFLAGS"
928 CFLAGS="$CFLAGS $w"
929 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
930 CFLAGS="$saved_CFLAGS"
931 esac
932 done
933 AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
934 fi
935 ])
936 AC_SUBST(WARN_CFLAGS)
937 AC_SUBST(WERROR_CFLAGS)
938
939
940 dnl Generate the Makefile in a target specific directory.
941 dnl Substitutions aren't performed on the file in AC_SUBST_FILE,
942 dnl so this is a cover macro to tuck the details away of how we cope.
943 dnl We cope by having autoconf generate two files and then merge them into
944 dnl one afterwards. The two pieces of the common fragment are inserted into
945 dnl the target's fragment at the appropriate points.
946
947 AC_DEFUN([SIM_AC_OUTPUT],
948 [
949 AC_LINK_FILES($sim_link_files, $sim_link_links)
950 dnl Make @cgen_breaks@ non-null only if the sim uses CGEN.
951 cgen_breaks=""
952 if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then
953 cgen_breaks="break cgen_rtx_error";
954 fi
955 AC_SUBST(cgen_breaks)
956 AC_CONFIG_FILES(Makefile.sim:Makefile.in)
957 AC_CONFIG_FILES(Make-common.sim:../common/Make-common.in)
958 AC_CONFIG_FILES(.gdbinit:../common/gdbinit.in)
959 AC_CONFIG_COMMANDS([Makefile],
960 [echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
961 rm -f Makesim1.tmp Makesim2.tmp Makefile
962 sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
963 sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
964 sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
965 -e '/^## COMMON_POST_/ r Makesim2.tmp' \
966 <Makefile.sim >Makefile
967 rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
968 ])
969 AC_CONFIG_COMMANDS([stamp-h], [echo > stamp-h])
970 AC_OUTPUT
971 ])
972
973 sinclude(../../config/gettext-sister.m4)
974 sinclude(../../config/acx.m4)
975
976 dnl --enable-cgen-maint support
977 AC_DEFUN([SIM_AC_OPTION_CGEN_MAINT],
978 [
979 cgen_maint=no
980 dnl Default is to use one in build tree.
981 cgen=guile
982 cgendir='$(srcdir)/../../cgen'
983 dnl Having --enable-maintainer-mode take arguments is another way to go.
984 dnl ??? One can argue --with is more appropriate if one wants to specify
985 dnl a directory name, but what we're doing here is an enable/disable kind
986 dnl of thing and specifying both --enable and --with is klunky.
987 dnl If you reeely want this to be --with, go ahead and change it.
988 AC_ARG_ENABLE(cgen-maint,
989 [ --enable-cgen-maint[=DIR] build cgen generated files],
990 [case "${enableval}" in
991 yes) cgen_maint=yes ;;
992 no) cgen_maint=no ;;
993 *)
994 # argument is cgen install directory (not implemented yet).
995 # Having a `share' directory might be more appropriate for the .scm,
996 # .cpu, etc. files.
997 cgendir=${cgen_maint}/lib/cgen
998 cgen=guile
999 ;;
1000 esac])dnl
1001 dnl AM_CONDITIONAL(CGEN_MAINT, test x${cgen_maint} != xno)
1002 if test x${cgen_maint} != xno ; then
1003 CGEN_MAINT=''
1004 else
1005 CGEN_MAINT='#'
1006 fi
1007 AC_SUBST(CGEN_MAINT)
1008 AC_SUBST(cgendir)
1009 AC_SUBST(cgen)
1010 ])
This page took 0.053698 seconds and 4 git commands to generate.