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