Unify (well almost) --enable-build-warnings configuration option
[deliverable/binutils-gdb.git] / sim / common / aclocal.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 # sinclude(../common/aclocal.m4)
12 # AC_PREREQ(2.5)dnl
13 # AC_INIT(Makefile.in)
14 #
15 # SIM_AC_COMMON
16 #
17 # ... target specific stuff ...
18 #
19 # SIM_AC_OUTPUT
20
21 AC_DEFUN(SIM_AC_COMMON,
22 [
23 # autoconf.info says this should be called right after AC_INIT.
24 AC_CONFIG_HEADER(ifelse([$1],,config.h,[$1]):config.in)
25
26 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..)
27 AC_CANONICAL_SYSTEM
28 AC_ARG_PROGRAM
29 AC_PROG_CC
30 AC_PROG_INSTALL
31
32 # Put a plausible default for CC_FOR_BUILD in Makefile.
33 if test "x$cross_compiling" = "xno"; then
34 CC_FOR_BUILD='$(CC)'
35 else
36 CC_FOR_BUILD=gcc
37 fi
38 AC_SUBST(CC_FOR_BUILD)
39
40 AC_SUBST(CFLAGS)
41 AC_SUBST(HDEFINES)
42 AR=${AR-ar}
43 AC_SUBST(AR)
44 AC_PROG_RANLIB
45
46 dnl We don't use gettext, but bfd does. So we do the appropriate checks
47 dnl to see if there are intl libraries we should link against.
48 ALL_LINGUAS=
49 CY_GNU_GETTEXT
50
51 # Check for common headers.
52 # FIXME: Seems to me this can cause problems for i386-windows hosts.
53 # At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
54 AC_CHECK_HEADERS(stdlib.h string.h strings.h unistd.h time.h)
55 AC_CHECK_HEADERS(sys/time.h sys/resource.h)
56 AC_CHECK_HEADERS(fcntl.h fpu_control.h)
57 AC_CHECK_FUNCS(getrusage time sigaction __setfpucw)
58
59 # Check for socket libraries
60 AC_CHECK_LIB(socket, bind)
61 AC_CHECK_LIB(nsl, gethostbyname)
62
63 . ${srcdir}/../../bfd/configure.host
64
65 dnl Standard (and optional) simulator options.
66 dnl Eventually all simulators will support these.
67 dnl Do not add any here that cannot be supported by all simulators.
68 dnl Do not add similar but different options to a particular simulator,
69 dnl all shall eventually behave the same way.
70
71
72 dnl We don't use automake, but we still want to support
73 dnl --enable-maintainer-mode.
74 USE_MAINTAINER_MODE=no
75 AC_ARG_ENABLE(maintainer-mode,
76 [ --enable-maintainer-mode Enable developer functionality.],
77 [case "${enableval}" in
78 yes) MAINT="" USE_MAINTAINER_MODE=yes ;;
79 no) MAINT="#" ;;
80 *) AC_MSG_ERROR("--enable-maintainer-mode does not take a value"); MAINT="#" ;;
81 esac
82 if test x"$silent" != x"yes" && test x"$MAINT" = x""; then
83 echo "Setting maintainer mode" 6>&1
84 fi],[MAINT="#"])dnl
85 AC_SUBST(MAINT)
86
87
88 dnl This is a generic option to enable special byte swapping
89 dnl insns on *any* cpu.
90 AC_ARG_ENABLE(sim-bswap,
91 [ --enable-sim-bswap Use Host specific BSWAP instruction.],
92 [case "${enableval}" in
93 yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
94 no) sim_bswap="-DWITH_BSWAP=0";;
95 *) AC_MSG_ERROR("--enable-sim-bswap does not take a value"); sim_bswap="";;
96 esac
97 if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
98 echo "Setting bswap flags = $sim_bswap" 6>&1
99 fi],[sim_bswap=""])dnl
100 AC_SUBST(sim_bswap)
101
102
103 AC_ARG_ENABLE(sim-cflags,
104 [ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
105 [case "${enableval}" in
106 yes) sim_cflags="-O2 -fomit-frame-pointer";;
107 trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";;
108 no) sim_cflags="";;
109 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
110 esac
111 if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
112 echo "Setting sim cflags = $sim_cflags" 6>&1
113 fi],[sim_cflags=""])dnl
114 AC_SUBST(sim_cflags)
115
116
117 dnl --enable-sim-debug is for developers of the simulator
118 dnl the allowable values are work-in-progress
119 AC_ARG_ENABLE(sim-debug,
120 [ --enable-sim-debug=opts Enable debugging flags],
121 [case "${enableval}" in
122 yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
123 no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
124 *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
125 esac
126 if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
127 echo "Setting sim debug = $sim_debug" 6>&1
128 fi],[sim_debug=""])dnl
129 AC_SUBST(sim_debug)
130
131
132 dnl --enable-sim-stdio is for users of the simulator
133 dnl It determines if IO from the program is routed through STDIO (buffered)
134 AC_ARG_ENABLE(sim-stdio,
135 [ --enable-sim-stdio Specify whether to use stdio for console input/output.],
136 [case "${enableval}" in
137 yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
138 no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
139 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
140 esac
141 if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
142 echo "Setting stdio flags = $sim_stdio" 6>&1
143 fi],[sim_stdio=""])dnl
144 AC_SUBST(sim_stdio)
145
146
147 dnl --enable-sim-trace is for users of the simulator
148 dnl The argument is either a bitmask of things to enable [exactly what is
149 dnl up to the simulator], or is a comma separated list of names of tracing
150 dnl elements to enable. The latter is only supported on simulators that
151 dnl use WITH_TRACE.
152 AC_ARG_ENABLE(sim-trace,
153 [ --enable-sim-trace=opts Enable tracing flags],
154 [case "${enableval}" in
155 yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
156 no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
157 [[-0-9]]*)
158 sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
159 [[a-z]]*)
160 sim_trace=""
161 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
162 if test x"$sim_trace" = x; then
163 sim_trace="-DWITH_TRACE='(TRACE_$x"
164 else
165 sim_trace="${sim_trace}|TRACE_$x"
166 fi
167 done
168 sim_trace="$sim_trace)'" ;;
169 esac
170 if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
171 echo "Setting sim trace = $sim_trace" 6>&1
172 fi],[sim_trace=""])dnl
173 AC_SUBST(sim_trace)
174
175
176 dnl --enable-sim-profile
177 dnl The argument is either a bitmask of things to enable [exactly what is
178 dnl up to the simulator], or is a comma separated list of names of profiling
179 dnl elements to enable. The latter is only supported on simulators that
180 dnl use WITH_PROFILE.
181 AC_ARG_ENABLE(sim-profile,
182 [ --enable-sim-profile=opts Enable profiling flags],
183 [case "${enableval}" in
184 yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
185 no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
186 [[-0-9]]*)
187 sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
188 [[a-z]]*)
189 sim_profile=""
190 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
191 if test x"$sim_profile" = x; then
192 sim_profile="-DWITH_PROFILE='(PROFILE_$x"
193 else
194 sim_profile="${sim_profile}|PROFILE_$x"
195 fi
196 done
197 sim_profile="$sim_profile)'" ;;
198 esac
199 if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
200 echo "Setting sim profile = $sim_profile" 6>&1
201 fi],[sim_profile=""])dnl
202 AC_SUBST(sim_profile)
203
204
205 dnl Types used by common code
206 AC_TYPE_SIGNAL
207
208 dnl Detect exe extension
209 AM_EXEEXT
210
211 dnl These are available to append to as desired.
212 sim_link_files=
213 sim_link_links=
214
215 dnl Create tconfig.h either from simulator's tconfig.in or default one
216 dnl in common.
217 sim_link_links=tconfig.h
218 if test -f ${srcdir}/tconfig.in
219 then
220 sim_link_files=tconfig.in
221 else
222 sim_link_files=../common/tconfig.in
223 fi
224
225 # targ-vals.def points to the libc macro description file.
226 case "${target}" in
227 *-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
228 esac
229 sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
230 sim_link_links="${sim_link_links} targ-vals.def"
231
232 ]) dnl End of SIM_AC_COMMON
233
234
235 dnl Additional SIM options that can (optionally) be configured
236 dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined.
237 dnl Simulators that wish to use the relevant option specify the macro
238 dnl in the simulator specific configure.in file between the SIM_AC_COMMON
239 dnl and SIM_AC_OUTPUT lines.
240
241
242 dnl Specify the running environment.
243 dnl If the simulator invokes this in its configure.in then without this option
244 dnl the default is the user environment and all are runtime selectable.
245 dnl If the simulator doesn't invoke this, only the user environment is
246 dnl supported.
247 dnl ??? Until there is demonstrable value in doing something more complicated,
248 dnl let's not.
249 AC_DEFUN(SIM_AC_OPTION_ENVIRONMENT,
250 [
251 AC_ARG_ENABLE(sim-environment,
252 [ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.],
253 [case "${enableval}" in
254 all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
255 user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
256 virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
257 operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
258 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-environment");
259 sim_environment="";;
260 esac
261 if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
262 echo "Setting sim environment = $sim_environment" 6>&1
263 fi],
264 [sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"])dnl
265 ])
266 AC_SUBST(sim_environment)
267
268
269 dnl Specify the alignment restrictions of the target architecture.
270 dnl Without this option all possible alignment restrictions are accommodated.
271 dnl arg[1] is hardwired target alignment
272 dnl arg[2] is default target alignment
273 AC_DEFUN(SIM_AC_OPTION_ALIGNMENT,
274 wire_alignment="[$1]"
275 default_alignment="[$2]"
276 [
277 AC_ARG_ENABLE(sim-alignment,
278 [ --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.],
279 [case "${enableval}" in
280 strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
281 nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
282 forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
283 yes) if test x"$wire_alignment" != x; then
284 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
285 else
286 if test x"$default_alignment" != x; then
287 sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
288 else
289 echo "No hard-wired alignment for target $target" 1>&6
290 sim_alignment="-DWITH_ALIGNMENT=0"
291 fi
292 fi;;
293 no) if test x"$default_alignment" != x; then
294 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
295 else
296 if test x"$wire_alignment" != x; then
297 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
298 else
299 echo "No default alignment for target $target" 1>&6
300 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
301 fi
302 fi;;
303 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
304 esac
305 if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
306 echo "Setting alignment flags = $sim_alignment" 6>&1
307 fi],
308 [if test x"$default_alignment" != x; then
309 sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
310 else
311 if test x"$wire_alignment" != x; then
312 sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
313 else
314 sim_alignment=
315 fi
316 fi])dnl
317 ])dnl
318 AC_SUBST(sim_alignment)
319
320
321 dnl Conditionally compile in assertion statements.
322 AC_DEFUN(SIM_AC_OPTION_ASSERT,
323 [
324 AC_ARG_ENABLE(sim-assert,
325 [ --enable-sim-assert Specify whether to perform random assertions.],
326 [case "${enableval}" in
327 yes) sim_assert="-DWITH_ASSERT=1";;
328 no) sim_assert="-DWITH_ASSERT=0";;
329 *) AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";;
330 esac
331 if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
332 echo "Setting assert flags = $sim_assert" 6>&1
333 fi],[sim_assert=""])dnl
334 ])
335 AC_SUBST(sim_assert)
336
337
338
339 dnl --enable-sim-bitsize is for developers of the simulator
340 dnl It specifies the number of BITS in the target.
341 dnl arg[1] is the number of bits in a word
342 dnl arg[2] is the number assigned to the most significant bit
343 dnl arg[3] is the number of bits in an address
344 dnl arg[4] is the number of bits in an OpenFirmware cell.
345 dnl FIXME: this information should be obtained from bfd/archure
346 AC_DEFUN(SIM_AC_OPTION_BITSIZE,
347 wire_word_bitsize="[$1]"
348 wire_word_msb="[$2]"
349 wire_address_bitsize="[$3]"
350 wire_cell_bitsize="[$4]"
351 [AC_ARG_ENABLE(sim-bitsize,
352 [ --enable-sim-bitsize=N Specify target bitsize (32 or 64).],
353 [sim_bitsize=
354 case "${enableval}" in
355 64,63 | 64,63,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63";;
356 32,31 | 32,31,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31";;
357 64,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
358 32,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
359 32) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
360 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31"
361 else
362 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0"
363 fi ;;
364 64) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
365 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63"
366 else
367 sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=0"
368 fi ;;
369 *) AC_MSG_ERROR("--enable-sim-bitsize was given $enableval. Expected 32 or 64") ;;
370 esac
371 # address bitsize
372 tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9]]*,*//"`
373 case x"${tmp}" in
374 x ) ;;
375 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=32" ;;
376 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=64" ;;
377 * ) AC_MSG_ERROR("--enable-sim-bitsize was given address size $enableval. Expected 32 or 64") ;;
378 esac
379 # cell bitsize
380 tmp=`echo "${enableval}" | sed -e "s/^[[0-9]]*,*[[0-9*]]*,*[[0-9]]*,*//"`
381 case x"${tmp}" in
382 x ) ;;
383 x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=32" ;;
384 x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=64" ;;
385 * ) AC_MSG_ERROR("--enable-sim-bitsize was given cell size $enableval. Expected 32 or 64") ;;
386 esac
387 if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
388 echo "Setting bitsize flags = $sim_bitsize" 6>&1
389 fi],
390 [sim_bitsize=""
391 if test x"$wire_word_bitsize" != x; then
392 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_BITSIZE=$wire_word_bitsize"
393 fi
394 if test x"$wire_word_msb" != x; then
395 sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_MSB=$wire_word_msb"
396 fi
397 if test x"$wire_address_bitsize" != x; then
398 sim_bitsize="$sim_bitsize -DWITH_TARGET_ADDRESS_BITSIZE=$wire_address_bitsize"
399 fi
400 if test x"$wire_cell_bitsize" != x; then
401 sim_bitsize="$sim_bitsize -DWITH_TARGET_CELL_BITSIZE=$wire_cell_bitsize"
402 fi])dnl
403 ])
404 AC_SUBST(sim_bitsize)
405
406
407
408 dnl --enable-sim-endian={yes,no,big,little} is for simulators
409 dnl that support both big and little endian targets.
410 dnl arg[1] is hardwired target endianness.
411 dnl arg[2] is default target endianness.
412 AC_DEFUN(SIM_AC_OPTION_ENDIAN,
413 [
414 wire_endian="[$1]"
415 default_endian="[$2]"
416 AC_ARG_ENABLE(sim-endian,
417 [ --enable-sim-endian=endian Specify target byte endian orientation.],
418 [case "${enableval}" in
419 b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
420 l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
421 yes) if test x"$wire_endian" != x; then
422 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
423 else
424 if test x"$default_endian" != x; then
425 sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
426 else
427 echo "No hard-wired endian for target $target" 1>&6
428 sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
429 fi
430 fi;;
431 no) if test x"$default_endian" != x; then
432 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
433 else
434 if test x"$wire_endian" != x; then
435 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
436 else
437 echo "No default endian for target $target" 1>&6
438 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
439 fi
440 fi;;
441 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-endian"); sim_endian="";;
442 esac
443 if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
444 echo "Setting endian flags = $sim_endian" 6>&1
445 fi],
446 [if test x"$default_endian" != x; then
447 sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
448 else
449 if test x"$wire_endian" != x; then
450 sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
451 else
452 sim_endian=
453 fi
454 fi])dnl
455 ])
456 AC_SUBST(sim_endian)
457
458
459 dnl --enable-sim-hostendian is for users of the simulator when
460 dnl they find that AC_C_BIGENDIAN does not function correctly
461 dnl (for instance in a canadian cross)
462 AC_DEFUN(SIM_AC_OPTION_HOSTENDIAN,
463 [
464 AC_ARG_ENABLE(sim-hostendian,
465 [ --enable-sim-hostendian=end Specify host byte endian orientation.],
466 [case "${enableval}" in
467 no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
468 b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
469 l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
470 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
471 esac
472 if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
473 echo "Setting hostendian flags = $sim_hostendian" 6>&1
474 fi],[
475 if test "x$cross_compiling" = "xno"; then
476 AC_C_BIGENDIAN
477 if test $ac_cv_c_bigendian = yes; then
478 sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
479 else
480 sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
481 fi
482 else
483 sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
484 fi])dnl
485 ])
486 AC_SUBST(sim_hostendian)
487
488
489 dnl --enable-sim-float is for developers of the simulator
490 dnl It specifies the presence of hardware floating point
491 dnl And optionally the bitsize of the floating point register.
492 dnl arg[1] specifies the presence (or absence) of floating point hardware
493 dnl arg[2] specifies the number of bits in a floating point register
494 AC_DEFUN(SIM_AC_OPTION_FLOAT,
495 [
496 default_sim_float="[$1]"
497 default_sim_float_bitsize="[$2]"
498 AC_ARG_ENABLE(sim-float,
499 [ --enable-sim-float Specify that the target processor has floating point hardware.],
500 [case "${enableval}" in
501 yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
502 no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
503 32) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=32";;
504 64) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=64";;
505 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-float"); sim_float="";;
506 esac
507 if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
508 echo "Setting float flags = $sim_float" 6>&1
509 fi],[
510 sim_float=
511 if test x"${default_sim_float}" != x""; then
512 sim_float="-DWITH_FLOATING_POINT=${default_sim_float}"
513 fi
514 if test x"${default_sim_float_bitsize}" != x""; then
515 sim_float="$sim_float -DWITH_TARGET_FLOATING_POINT_BITSIZE=${default_sim_float_bitsize}"
516 fi
517 ])dnl
518 ])
519 AC_SUBST(sim_float)
520
521
522 dnl The argument is the default cache size if none is specified.
523 AC_DEFUN(SIM_AC_OPTION_SCACHE,
524 [
525 default_sim_scache="ifelse([$1],,0,[$1])"
526 AC_ARG_ENABLE(sim-scache,
527 [ --enable-sim-scache=size Specify simulator execution cache size.],
528 [case "${enableval}" in
529 yes) sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
530 no) sim_scache="-DWITH_SCACHE=0" ;;
531 [[0-9]]*) sim_cache=${enableval};;
532 *) AC_MSG_ERROR("Bad value $enableval passed to --enable-sim-scache");
533 sim_scache="";;
534 esac
535 if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
536 echo "Setting scache size = $sim_scache" 6>&1
537 fi],[sim_scache="-DWITH_SCACHE=${default_sim_scache}"])
538 ])
539 AC_SUBST(sim_scache)
540
541
542 dnl The argument is the default model if none is specified.
543 AC_DEFUN(SIM_AC_OPTION_DEFAULT_MODEL,
544 [
545 default_sim_default_model="ifelse([$1],,0,[$1])"
546 AC_ARG_ENABLE(sim-default-model,
547 [ --enable-sim-default-model=model Specify default model to simulate.],
548 [case "${enableval}" in
549 yes|no) AC_MSG_ERROR("Missing argument to --enable-sim-default-model");;
550 *) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
551 esac
552 if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
553 echo "Setting default model = $sim_default_model" 6>&1
554 fi],[sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"])
555 ])
556 AC_SUBST(sim_default_model)
557
558
559 dnl --enable-sim-hardware is for users of the simulator
560 dnl arg[1] Enable sim-hw by default? ("yes" or "no")
561 dnl arg[2] is a space separated list of devices that override the defaults
562 dnl arg[3] is a space separated list of extra target specific devices.
563 AC_DEFUN(SIM_AC_OPTION_HARDWARE,
564 [
565 if test x"[$1]" = x"yes"; then
566 sim_hw_p=yes
567 else
568 sim_hw_p=no
569 fi
570 if test "[$2]"; then
571 hardware="core pal glue"
572 else
573 hardware="core pal glue [$3]"
574 fi
575 sim_hw_cflags="-DWITH_HW=1"
576 sim_hw="$hardware"
577 sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([[^ ]][[^ ]]*\)/dv-\1.o/g'`"
578 AC_ARG_ENABLE(sim-hardware,
579 [ --enable-sim-hardware=LIST Specify the hardware to be included in the build.],
580 [
581 case "${enableval}" in
582 yes) sim_hw_p=yes;;
583 no) sim_hw_p=no;;
584 ,*) sim_hw_p=yes; hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";;
585 *,) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";;
586 *) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';;
587 esac
588 if test "$sim_hw_p" != yes; then
589 sim_hw_objs=
590 sim_hw_cflags="-DWITH_HW=0"
591 sim_hw=
592 else
593 sim_hw_cflags="-DWITH_HW=1"
594 # remove duplicates
595 sim_hw=""
596 sim_hw_objs="\$(SIM_COMMON_HW_OBJS)"
597 for i in x $hardware ; do
598 case " $f " in
599 x) ;;
600 *" $i "*) ;;
601 *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";;
602 esac
603 done
604 fi
605 if test x"$silent" != x"yes" && test "$sim_hw_p" = "yes"; then
606 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
607 fi],[
608 if test "$sim_hw_p" != yes; then
609 sim_hw_objs=
610 sim_hw_cflags="-DWITH_HW=0"
611 sim_hw=
612 fi
613 if test x"$silent" != x"yes"; then
614 echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
615 fi])dnl
616 ])
617 AC_SUBST(sim_hw_cflags)
618 AC_SUBST(sim_hw_objs)
619 AC_SUBST(sim_hw)
620
621
622 dnl --enable-sim-inline is for users that wish to ramp up the simulator's
623 dnl performance by inlining functions.
624 dnl Guarantee that unconfigured simulators do not do any inlining
625 sim_inline="-DDEFAULT_INLINE=0"
626 AC_DEFUN(SIM_AC_OPTION_INLINE,
627 [
628 default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
629 AC_ARG_ENABLE(sim-inline,
630 [ --enable-sim-inline=inlines Specify which functions should be inlined.],
631 [sim_inline=""
632 case "$enableval" in
633 no) sim_inline="-DDEFAULT_INLINE=0";;
634 0) sim_inline="-DDEFAULT_INLINE=0";;
635 yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
636 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
637 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
638 new_flag=""
639 case "$x" in
640 *_INLINE=*) new_flag="-D$x";;
641 *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
642 *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
643 *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
644 esac
645 if test x"$sim_inline" = x""; then
646 sim_inline="$new_flag"
647 else
648 sim_inline="$sim_inline $new_flag"
649 fi
650 done;;
651 esac
652 if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
653 echo "Setting inline flags = $sim_inline" 6>&1
654 fi],[
655 if test "x$cross_compiling" = "xno"; then
656 if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then
657 sim_inline="${default_sim_inline}"
658 if test x"$silent" != x"yes"; then
659 echo "Setting inline flags = $sim_inline" 6>&1
660 fi
661 else
662 sim_inline=""
663 fi
664 else
665 sim_inline="-DDEFAULT_INLINE=0"
666 fi])dnl
667 ])
668 AC_SUBST(sim_inline)
669
670
671 AC_DEFUN(SIM_AC_OPTION_PACKAGES,
672 [
673 AC_ARG_ENABLE(sim-packages,
674 [ --enable-sim-packages=list Specify the packages to be included in the build.],
675 [packages=disklabel
676 case "${enableval}" in
677 yes) ;;
678 no) AC_MSG_ERROR("List of packages must be specified for --enable-sim-packages"); packages="";;
679 ,*) packages="${packages}${enableval}";;
680 *,) packages="${enableval}${packages}";;
681 *) packages="${enableval}"'';;
682 esac
683 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
684 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
685 if test x"$silent" != x"yes" && test x"$packages" != x""; then
686 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
687 fi],[packages=disklabel
688 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
689 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
690 if test x"$silent" != x"yes"; then
691 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
692 fi])dnl
693 ])
694 AC_SUBST(sim_packages)
695
696
697 AC_DEFUN(SIM_AC_OPTION_REGPARM,
698 [
699 AC_ARG_ENABLE(sim-regparm,
700 [ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
701 [case "${enableval}" in
702 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
703 no) sim_regparm="" ;;
704 yes) sim_regparm="-DWITH_REGPARM=3";;
705 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-regparm"); sim_regparm="";;
706 esac
707 if test x"$silent" != x"yes" && test x"$sim_regparm" != x""; then
708 echo "Setting regparm flags = $sim_regparm" 6>&1
709 fi],[sim_regparm=""])dnl
710 ])
711 AC_SUBST(sim_regparm)
712
713
714 AC_DEFUN(SIM_AC_OPTION_RESERVED_BITS,
715 [
716 default_sim_reserved_bits="ifelse([$1],,1,[$1])"
717 AC_ARG_ENABLE(sim-reserved-bits,
718 [ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
719 [case "${enableval}" in
720 yes) sim_reserved_bits="-DWITH_RESERVED_BITS=1";;
721 no) sim_reserved_bits="-DWITH_RESERVED_BITS=0";;
722 *) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved_bits="";;
723 esac
724 if test x"$silent" != x"yes" && test x"$sim_reserved_bits" != x""; then
725 echo "Setting reserved flags = $sim_reserved_bits" 6>&1
726 fi],[sim_reserved_bits="-DWITH_RESERVED_BITS=${default_sim_reserved_bits}"])dnl
727 ])
728 AC_SUBST(sim_reserved_bits)
729
730
731 AC_DEFUN(SIM_AC_OPTION_SMP,
732 [
733 default_sim_smp="ifelse([$1],,5,[$1])"
734 AC_ARG_ENABLE(sim-smp,
735 [ --enable-sim-smp=n Specify number of processors to configure for (default ${default_sim_smp}).],
736 [case "${enableval}" in
737 yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
738 no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
739 *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
740 esac
741 if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
742 echo "Setting smp flags = $sim_smp" 6>&1
743 fi],[sim_smp="-DWITH_SMP=${default_sim_smp}" ; sim_igen_smp="-N ${default_sim_smp}"
744 if test x"$silent" != x"yes"; then
745 echo "Setting smp flags = $sim_smp" 6>&1
746 fi])dnl
747 ])
748 AC_SUBST(sim_smp)
749
750
751 AC_DEFUN(SIM_AC_OPTION_STDCALL,
752 [
753 AC_ARG_ENABLE(sim-stdcall,
754 [ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
755 [case "${enableval}" in
756 no) sim_stdcall="" ;;
757 std*) sim_stdcall="-DWITH_STDCALL=1";;
758 yes) sim_stdcall="-DWITH_STDCALL=1";;
759 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-stdcall"); sim_stdcall="";;
760 esac
761 if test x"$silent" != x"yes" && test x"$sim_stdcall" != x""; then
762 echo "Setting function call flags = $sim_stdcall" 6>&1
763 fi],[sim_stdcall=""])dnl
764 ])
765 AC_SUBST(sim_stdcall)
766
767
768 AC_DEFUN(SIM_AC_OPTION_XOR_ENDIAN,
769 [
770 default_sim_xor_endian="ifelse([$1],,8,[$1])"
771 AC_ARG_ENABLE(sim-xor-endian,
772 [ --enable-sim-xor-endian=n Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).],
773 [case "${enableval}" in
774 yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
775 no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
776 *) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
777 esac
778 if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then
779 echo "Setting xor-endian flag = $sim_xor_endian" 6>&1
780 fi],[sim_xor_endian="-DWITH_XOR_ENDIAN=${default_sim_xor_endian}"])dnl
781 ])
782 AC_SUBST(sim_xor_endian)
783
784
785 dnl --enable-build-warnings is for developers of the simulator.
786 dnl it enables extra GCC specific warnings.
787 AC_DEFUN(SIM_AC_OPTION_WARNINGS,
788 [
789 AC_ARG_ENABLE(build-warnings,
790 [ --enable-build-warnings[=LIST] Enable build-time compiler warnings],
791 [build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
792 case "${enableval}" in
793 yes) ;;
794 no) build_warnings="-w";;
795 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
796 build_warnings="${build_warnings} ${t}";;
797 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
798 build_warnings="${t} ${build_warnings}";;
799 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
800 esac
801 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
802 echo "Setting warning flags = $build_warnings" 6>&1
803 fi],[build_warnings=""])dnl
804 ])
805 AC_SUBST(build_warnings)
806
807
808 dnl Generate the Makefile in a target specific directory.
809 dnl Substitutions aren't performed on the file in AC_SUBST_FILE,
810 dnl so this is a cover macro to tuck the details away of how we cope.
811 dnl We cope by having autoconf generate two files and then merge them into
812 dnl one afterwards. The two pieces of the common fragment are inserted into
813 dnl the target's fragment at the appropriate points.
814
815 AC_DEFUN(SIM_AC_OUTPUT,
816 [
817 AC_LINK_FILES($sim_link_files, $sim_link_links)
818 AC_OUTPUT(Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in,
819 [case "x$CONFIG_FILES" in
820 xMakefile*)
821 echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
822 rm -f Makesim1.tmp Makesim2.tmp Makefile
823 sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
824 sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
825 sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
826 -e '/^## COMMON_POST_/ r Makesim2.tmp' \
827 <Makefile.sim >Makefile
828 rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
829 ;;
830 esac
831 case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac
832 ])
833 ])
834
835 # This file is derived from `gettext.m4'. The difference is that the
836 # included macros assume Cygnus-style source and build trees.
837
838 # Macro to add for using GNU gettext.
839 # Ulrich Drepper <drepper@cygnus.com>, 1995.
840 #
841 # This file file be copied and used freely without restrictions. It can
842 # be used in projects which are not available under the GNU Public License
843 # but which still want to provide support for the GNU gettext functionality.
844 # Please note that the actual code is *not* freely available.
845
846 # serial 3
847
848 AC_DEFUN(CY_WITH_NLS,
849 [AC_MSG_CHECKING([whether NLS is requested])
850 dnl Default is enabled NLS
851 AC_ARG_ENABLE(nls,
852 [ --disable-nls do not use Native Language Support],
853 USE_NLS=$enableval, USE_NLS=yes)
854 AC_MSG_RESULT($USE_NLS)
855 AC_SUBST(USE_NLS)
856
857 USE_INCLUDED_LIBINTL=no
858
859 dnl If we use NLS figure out what method
860 if test "$USE_NLS" = "yes"; then
861 AC_DEFINE(ENABLE_NLS)
862 AC_MSG_CHECKING([whether included gettext is requested])
863 AC_ARG_WITH(included-gettext,
864 [ --with-included-gettext use the GNU gettext library included here],
865 nls_cv_force_use_gnu_gettext=$withval,
866 nls_cv_force_use_gnu_gettext=no)
867 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
868
869 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
870 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
871 dnl User does not insist on using GNU NLS library. Figure out what
872 dnl to use. If gettext or catgets are available (in this order) we
873 dnl use this. Else we have to fall back to GNU NLS library.
874 dnl catgets is only used if permitted by option --with-catgets.
875 nls_cv_header_intl=
876 nls_cv_header_libgt=
877 CATOBJEXT=NONE
878
879 AC_CHECK_HEADER(libintl.h,
880 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
881 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
882 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
883
884 if test "$gt_cv_func_gettext_libc" != "yes"; then
885 AC_CHECK_LIB(intl, bindtextdomain,
886 [AC_CACHE_CHECK([for gettext in libintl],
887 gt_cv_func_gettext_libintl,
888 [AC_TRY_LINK([], [return (int) gettext ("")],
889 gt_cv_func_gettext_libintl=yes,
890 gt_cv_func_gettext_libintl=no)])])
891 fi
892
893 if test "$gt_cv_func_gettext_libc" = "yes" \
894 || test "$gt_cv_func_gettext_libintl" = "yes"; then
895 AC_DEFINE(HAVE_GETTEXT)
896 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
897 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
898 if test "$MSGFMT" != "no"; then
899 AC_CHECK_FUNCS(dcgettext)
900 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
901 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
902 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
903 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
904 return _nl_msg_cat_cntr],
905 [CATOBJEXT=.gmo
906 DATADIRNAME=share],
907 [CATOBJEXT=.mo
908 DATADIRNAME=lib])
909 INSTOBJEXT=.mo
910 fi
911 fi
912 ])
913
914 dnl In the standard gettext, we would now check for catgets.
915 dnl However, we never want to use catgets for our releases.
916
917 if test "$CATOBJEXT" = "NONE"; then
918 dnl Neither gettext nor catgets in included in the C library.
919 dnl Fall back on GNU gettext library.
920 nls_cv_use_gnu_gettext=yes
921 fi
922 fi
923
924 if test "$nls_cv_use_gnu_gettext" = "yes"; then
925 dnl Mark actions used to generate GNU NLS library.
926 INTLOBJS="\$(GETTOBJS)"
927 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
928 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
929 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
930 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
931 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
932 AC_SUBST(MSGFMT)
933 USE_INCLUDED_LIBINTL=yes
934 CATOBJEXT=.gmo
935 INSTOBJEXT=.mo
936 DATADIRNAME=share
937 INTLDEPS='$(top_builddir)/../intl/libintl.a'
938 INTLLIBS=$INTLDEPS
939 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
940 nls_cv_header_intl=libintl.h
941 nls_cv_header_libgt=libgettext.h
942 fi
943
944 dnl Test whether we really found GNU xgettext.
945 if test "$XGETTEXT" != ":"; then
946 dnl If it is no GNU xgettext we define it as : so that the
947 dnl Makefiles still can work.
948 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
949 : ;
950 else
951 AC_MSG_RESULT(
952 [found xgettext programs is not GNU xgettext; ignore it])
953 XGETTEXT=":"
954 fi
955 fi
956
957 # We need to process the po/ directory.
958 POSUB=po
959 else
960 DATADIRNAME=share
961 nls_cv_header_intl=libintl.h
962 nls_cv_header_libgt=libgettext.h
963 fi
964
965 # If this is used in GNU gettext we have to set USE_NLS to `yes'
966 # because some of the sources are only built for this goal.
967 if test "$PACKAGE" = gettext; then
968 USE_NLS=yes
969 USE_INCLUDED_LIBINTL=yes
970 fi
971
972 dnl These rules are solely for the distribution goal. While doing this
973 dnl we only have to keep exactly one list of the available catalogs
974 dnl in configure.in.
975 for lang in $ALL_LINGUAS; do
976 GMOFILES="$GMOFILES $lang.gmo"
977 POFILES="$POFILES $lang.po"
978 done
979
980 dnl Make all variables we use known to autoconf.
981 AC_SUBST(USE_INCLUDED_LIBINTL)
982 AC_SUBST(CATALOGS)
983 AC_SUBST(CATOBJEXT)
984 AC_SUBST(DATADIRNAME)
985 AC_SUBST(GMOFILES)
986 AC_SUBST(INSTOBJEXT)
987 AC_SUBST(INTLDEPS)
988 AC_SUBST(INTLLIBS)
989 AC_SUBST(INTLOBJS)
990 AC_SUBST(POFILES)
991 AC_SUBST(POSUB)
992 ])
993
994 AC_DEFUN(CY_GNU_GETTEXT,
995 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
996 AC_REQUIRE([AC_PROG_CC])dnl
997 AC_REQUIRE([AC_PROG_RANLIB])dnl
998 AC_REQUIRE([AC_ISC_POSIX])dnl
999 AC_REQUIRE([AC_HEADER_STDC])dnl
1000 AC_REQUIRE([AC_C_CONST])dnl
1001 AC_REQUIRE([AC_C_INLINE])dnl
1002 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1003 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1004 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1005 AC_REQUIRE([AC_FUNC_MMAP])dnl
1006
1007 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1008 unistd.h values.h sys/param.h])
1009 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1010 __argz_count __argz_stringify __argz_next])
1011
1012 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1013 AC_CHECK_FUNCS(stpcpy)
1014 fi
1015 if test "${ac_cv_func_stpcpy}" = "yes"; then
1016 AC_DEFINE(HAVE_STPCPY)
1017 fi
1018
1019 AM_LC_MESSAGES
1020 CY_WITH_NLS
1021
1022 if test "x$CATOBJEXT" != "x"; then
1023 if test "x$ALL_LINGUAS" = "x"; then
1024 LINGUAS=
1025 else
1026 AC_MSG_CHECKING(for catalogs to be installed)
1027 NEW_LINGUAS=
1028 for lang in ${LINGUAS=$ALL_LINGUAS}; do
1029 case "$ALL_LINGUAS" in
1030 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1031 esac
1032 done
1033 LINGUAS=$NEW_LINGUAS
1034 AC_MSG_RESULT($LINGUAS)
1035 fi
1036
1037 dnl Construct list of names of catalog files to be constructed.
1038 if test -n "$LINGUAS"; then
1039 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1040 fi
1041 fi
1042
1043 dnl The reference to <locale.h> in the installed <libintl.h> file
1044 dnl must be resolved because we cannot expect the users of this
1045 dnl to define HAVE_LOCALE_H.
1046 if test $ac_cv_header_locale_h = yes; then
1047 INCLUDE_LOCALE_H="#include <locale.h>"
1048 else
1049 INCLUDE_LOCALE_H="\
1050 /* The system does not provide the header <locale.h>. Take care yourself. */"
1051 fi
1052 AC_SUBST(INCLUDE_LOCALE_H)
1053
1054 dnl Determine which catalog format we have (if any is needed)
1055 dnl For now we know about two different formats:
1056 dnl Linux libc-5 and the normal X/Open format
1057 if test -f $srcdir/po2tbl.sed.in; then
1058 if test "$CATOBJEXT" = ".cat"; then
1059 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1060
1061 dnl Transform the SED scripts while copying because some dumb SEDs
1062 dnl cannot handle comments.
1063 sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
1064 fi
1065 dnl po2tbl.sed is always needed.
1066 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1067 $srcdir/po2tbl.sed.in > po2tbl.sed
1068 fi
1069
1070 dnl In the intl/Makefile.in we have a special dependency which makes
1071 dnl only sense for gettext. We comment this out for non-gettext
1072 dnl packages.
1073 if test "$PACKAGE" = "gettext"; then
1074 GT_NO="#NO#"
1075 GT_YES=
1076 else
1077 GT_NO=
1078 GT_YES="#YES#"
1079 fi
1080 AC_SUBST(GT_NO)
1081 AC_SUBST(GT_YES)
1082
1083 MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
1084 AC_SUBST(MKINSTALLDIRS)
1085
1086 dnl *** For now the libtool support in intl/Makefile is not for real.
1087 l=
1088 AC_SUBST(l)
1089
1090 dnl Generate list of files to be processed by xgettext which will
1091 dnl be included in po/Makefile. But only do this if the po directory
1092 dnl exists in srcdir.
1093 if test -d $srcdir/po; then
1094 test -d po || mkdir po
1095 if test "x$srcdir" != "x."; then
1096 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1097 posrcprefix="$srcdir/"
1098 else
1099 posrcprefix="../$srcdir/"
1100 fi
1101 else
1102 posrcprefix="../"
1103 fi
1104 rm -f po/POTFILES
1105 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1106 < $srcdir/po/POTFILES.in > po/POTFILES
1107 fi
1108 ])
1109
1110 # Search path for a program which passes the given test.
1111 # Ulrich Drepper <drepper@cygnus.com>, 1996.
1112 #
1113 # This file file be copied and used freely without restrictions. It can
1114 # be used in projects which are not available under the GNU Public License
1115 # but which still want to provide support for the GNU gettext functionality.
1116 # Please note that the actual code is *not* freely available.
1117
1118 # serial 1
1119
1120 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
1121 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
1122 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
1123 [# Extract the first word of "$2", so it can be a program name with args.
1124 set dummy $2; ac_word=[$]2
1125 AC_MSG_CHECKING([for $ac_word])
1126 AC_CACHE_VAL(ac_cv_path_$1,
1127 [case "[$]$1" in
1128 /*)
1129 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
1130 ;;
1131 *)
1132 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
1133 for ac_dir in ifelse([$5], , $PATH, [$5]); do
1134 test -z "$ac_dir" && ac_dir=.
1135 if test -f $ac_dir/$ac_word; then
1136 if [$3]; then
1137 ac_cv_path_$1="$ac_dir/$ac_word"
1138 break
1139 fi
1140 fi
1141 done
1142 IFS="$ac_save_ifs"
1143 dnl If no 4th arg is given, leave the cache variable unset,
1144 dnl so AC_PATH_PROGS will keep looking.
1145 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
1146 ])dnl
1147 ;;
1148 esac])dnl
1149 $1="$ac_cv_path_$1"
1150 if test -n "[$]$1"; then
1151 AC_MSG_RESULT([$]$1)
1152 else
1153 AC_MSG_RESULT(no)
1154 fi
1155 AC_SUBST($1)dnl
1156 ])
1157
1158 # Check whether LC_MESSAGES is available in <locale.h>.
1159 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1160 #
1161 # This file file be copied and used freely without restrictions. It can
1162 # be used in projects which are not available under the GNU Public License
1163 # but which still want to provide support for the GNU gettext functionality.
1164 # Please note that the actual code is *not* freely available.
1165
1166 # serial 1
1167
1168 AC_DEFUN(AM_LC_MESSAGES,
1169 [if test $ac_cv_header_locale_h = yes; then
1170 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
1171 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1172 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
1173 if test $am_cv_val_LC_MESSAGES = yes; then
1174 AC_DEFINE(HAVE_LC_MESSAGES)
1175 fi
1176 fi])
1177
1178 # Check to see if we're running under Cygwin32, without using
1179 # AC_CANONICAL_*. If so, set output variable CYGWIN32 to "yes".
1180 # Otherwise set it to "no".
1181
1182 dnl AM_CYGWIN32()
1183 dnl You might think we can do this by checking for a cygwin32-specific
1184 dnl cpp define.
1185 AC_DEFUN(AM_CYGWIN32,
1186 [AC_CACHE_CHECK(for Cygwin32 environment, am_cv_cygwin32,
1187 [AC_TRY_COMPILE(,[int main () { return __CYGWIN32__; }],
1188 am_cv_cygwin32=yes, am_cv_cygwin32=no)
1189 rm -f conftest*])
1190 CYGWIN32=
1191 test "$am_cv_cygwin32" = yes && CYGWIN32=yes])
1192
1193 # Check to see if we're running under Win32, without using
1194 # AC_CANONICAL_*. If so, set output variable EXEEXT to ".exe".
1195 # Otherwise set it to "".
1196
1197 dnl AM_EXEEXT()
1198 dnl This knows we add .exe if we're building in the Cygwin32
1199 dnl environment. But if we're not, then it compiles a test program
1200 dnl to see if there is a suffix for executables.
1201 AC_DEFUN(AM_EXEEXT,
1202 dnl AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AM_CYGWIN32])
1203 AC_MSG_CHECKING([for executable suffix])
1204 [AC_CACHE_VAL(am_cv_exeext,
1205 [if test "$CYGWIN32" = yes; then
1206 am_cv_exeext=.exe
1207 else
1208 cat > am_c_test.c << 'EOF'
1209 int main() {
1210 /* Nothing needed here */
1211 }
1212 EOF
1213 ${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
1214 am_cv_exeext=`ls am_c_test.* | grep -v am_c_test.c | sed -e s/am_c_test//`
1215 rm -f am_c_test*])
1216 test x"${am_cv_exeext}" = x && am_cv_exeext=no
1217 fi
1218 EXEEXT=""
1219 test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
1220 AC_MSG_RESULT(${am_cv_exeext})
1221 AC_SUBST(EXEEXT)])
1222
This page took 0.054463 seconds and 4 git commands to generate.