OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [start/] [gdb-5.0/] [sim/] [common/] [aclocal.m4] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.