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