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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [sim/] [ppc/] [configure.ac] - Blame information for rev 853

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
dnl Process this file with autoconf to produce a configure script.
2
sinclude(../common/aclocal.m4)
3
AC_PREREQ(2.59)dnl
4
AC_INIT(Makefile.in)
5
 
6
AC_PROG_INSTALL
7
AC_PROG_CC
8
 
9
# Put a plausible default for CC_FOR_BUILD in Makefile.
10
if test "x$cross_compiling" = "xno"; then
11
  CC_FOR_BUILD='$(CC)'
12
else
13
  CC_FOR_BUILD=gcc
14
fi
15
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
16
 
17
dnl We don't use gettext, but bfd does.  So we do the appropriate checks
18
dnl to see if there are intl libraries we should link against.
19
ALL_LINGUAS=
20
ZW_GNU_GETTEXT_SISTER_DIR(../../intl)
21
 
22
 
23
AC_ARG_ENABLE(sim-alignment,
24
[  --enable-sim-alignment=align         Specify strict or nonstrict alignment.],
25
[case "${enableval}" in
26
  yes | strict | STRICT)        sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
27
  no | nonstrict | NONSTRICT)   sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
28
 
29
  *)                            AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
30
esac
31
if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
32
  echo "Setting alignment flags = $sim_alignment" 6>&1
33
fi],[sim_alignment=""])dnl
34
 
35
 
36
AC_ARG_ENABLE(sim-assert,
37
[  --enable-sim-assert                  Specify whether to perform random assertions.],
38
[case "${enableval}" in
39
  yes)  sim_assert="-DWITH_ASSERT=1";;
40
  no)   sim_assert="-DWITH_ASSERT=0";;
41
  *)    AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";;
42
esac
43
if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
44
  echo "Setting assert flags = $sim_assert" 6>&1
45
fi],[sim_assert=""])dnl
46
 
47
 
48
AC_ARG_ENABLE(sim-bitsize,
49
[  --enable-sim-bitsize=n               Specify target bitsize (32 or 64).],
50
[case "${enableval}" in
51
  32|64) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";;
52
  *)     AC_MSG_ERROR("--enable-sim-bitsize was given $enableval.  Expected 32 or 64"); sim_bitsize="";;
53
esac
54
if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
55
  echo "Setting bitsize flags = $sim_bitsize" 6>&1
56
fi],[sim_bitsize=""])dnl
57
 
58
 
59
AC_ARG_ENABLE(sim-bswap,
60
[  --enable-sim-bswap                   Use the BSWAP instruction on Intel 486s and Pentiums.],
61
[case "${enableval}" in
62
  yes)  sim_bswap="-DWITH_BSWAP=1";;
63
  no)   sim_bswap="-DWITH_BSWAP=0";;
64
  *)    AC_MSG_ERROR("--enable-sim-bswap does not take a value"); sim_bswap="";;
65
esac
66
if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
67
  echo "Setting bswap flags = $sim_bswap" 6>&1
68
fi],[sim_bswap=""])dnl
69
 
70
 
71
AC_ARG_ENABLE(sim-cflags,
72
[  --enable-sim-cflags=opts             Extra CFLAGS for use in building simulator],
73
[case "${enableval}" in
74
  yes)  sim_cflags="-O2 -fomit-frame-pointer";;
75
  no)   sim_cflags="";;
76
  *)    sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
77
esac
78
if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
79
  echo "Setting sim cflags = $sim_cflags" 6>&1
80
fi],[sim_cflags=""])dnl
81
 
82
 
83
AC_ARG_ENABLE(sim-config,
84
[  --enable-sim-config=file             Override default config file],
85
[case "${enableval}" in
86
  yes|no)       AC_MSG_ERROR("No value supplied for --enable-sim-config=file");;
87
  *)            if test -f "${srcdir}/${enableval}"; then
88
                  sim_config="${enableval}";
89
                elif test -f "${srcdir}/${enableval}-config.h"; then
90
                  sim_config="${enableval}-config.h"
91
                else
92
                  AC_MSG_ERROR("Config file $enableval was not found");
93
                  sim_config=std-config.h
94
                fi;;
95
esac
96
if test x"$silent" != x"yes" && test x"$sim_config" != x""; then
97
  echo "Setting config flags = $sim_config" 6>&1
98
fi],[sim_config="std-config.h"
99
if test x"$silent" != x"yes"; then
100
  echo "Setting config flags = $sim_config" 6>&1
101
fi])dnl
102
 
103
 
104
AC_ARG_ENABLE(sim-decode-mechanism,
105
[  --enable-sim-decode-mechanism=which          Specify the instruction decode mechanism.],
106
[case "${enableval}" in
107
  yes|no)       AC_MSG_ERROR("No value supplied for --enable-sim-decode-mechanism=file");;
108
  array|switch|padded-switch|goto-switch)       sim_decode_mechanism="-T ${enableval}";;
109
  *)            AC_MSG_ERROR("File $enableval is not an opcode rules file");
110
                sim_decode_mechanism="switch";;
111
esac
112
if test x"$silent" != x"yes" && test x"$sim_decode_mechanism" != x""; then
113
  echo "Setting decode mechanism flags = $sim_decode_mechanism" 6>&1
114
fi],[sim_decode_mechanism=""
115
if test x"$silent" != x"yes"; then
116
  echo "Setting decode mechanism flags = $sim_decode_mechanism"
117
fi])dnl
118
 
119
 
120
AC_ARG_ENABLE(sim-default-model,
121
[  --enable-sim-default-model=which     Specify default PowerPC to model.],
122
[case "${enableval}" in
123
  yes|no)       AC_MSG_ERROR("No value supplied for --enable-sim-default-model=model");;
124
  *)            sim_default_model="-DWITH_DEFAULT_MODEL=${enableval}";;
125
esac
126
if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
127
  echo "Setting default-model flags = $sim_default_model" 6>&1
128
fi],[sim_default_model=""])dnl
129
 
130
 
131
AC_ARG_ENABLE(sim-duplicate,
132
[  --enable-sim-duplicate               Expand (duplicate) semantic functions.],
133
[case "${enableval}" in
134
  yes)  sim_dup="-E";;
135
  no)   sim_dup="";;
136
  *)    AC_MSG_ERROR("--enable-sim-duplicate does not take a value"); sim_dup="";;
137
esac
138
if test x"$silent" != x"yes" && test x"$sim_dup" != x""; then
139
  echo "Setting duplicate flags = $sim_dup" 6>&1
140
fi],[sim_dup="-E"
141
if test x"$silent" != x"yes"; then
142
  echo "Setting duplicate flags = $sim_dup" 6>&1
143
fi])dnl
144
 
145
 
146
AC_ARG_ENABLE(sim-endian,
147
[  --enable-sim-endian=endian           Specify target byte endian orientation.],
148
[case "${enableval}" in
149
  yes)  case "$target" in
150
          *powerpc-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
151
          *powerpcle-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
152
          *) echo "Unknown target $target" 1>&6; sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
153
        esac;;
154
  no)    sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
155
  b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
156
  l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
157
  *)     AC_MSG_ERROR("Unknown value $enableval for --enable-sim-endian"); sim_endian="";;
158
esac
159
if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
160
  echo "Setting endian flags = $sim_endian" 6>&1
161
fi],[sim_endian=""])dnl
162
 
163
 
164
AC_ARG_ENABLE(sim-env,
165
[  --enable-sim-env=env                 Specify target environment (operating, virtual, user).],
166
[case "${enableval}" in
167
  operating | os | oea) sim_env="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
168
  virtual | vea)        sim_env="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
169
  user | uea)           sim_env="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
170
  no)                   sim_env="-DWITH_ENVIRONMENT=0";;
171
  *)                    AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-env"); sim_env="";;
172
esac
173
if test x"$silent" != x"yes" && test x"$sim_env" != x""; then
174
  echo "Setting env flags = $sim_env" 6>&1
175
fi],[sim_env=""])dnl
176
 
177
 
178
AC_ARG_ENABLE(sim-filter,
179
[  --enable-sim-filter=rule             Specify filter rules.],
180
[case "${enableval}" in
181
  yes)  AC_MSG_ERROR("--enable-sim-filter must be specified with a rule to filter or no"); sim_filter="";;
182
  no)   sim_filter="";;
183
  *)    sim_filter="-F $enableval";;
184
esac
185
if test x"$silent" != x"yes" && test x"$sim_filter" != x""; then
186
  echo "Setting filter flags = $sim_filter" 6>&1
187
fi],[sim_filter="-F 32,f,o"
188
if test x"$silent" != x"yes"; then
189
  echo "Setting filter flags = $sim_filter" 6>&1
190
fi])dnl
191
 
192
 
193
AC_ARG_ENABLE(sim-float,
194
[  --enable-sim-float                   Specify whether the target has hard, soft, altivec or e500 floating point.],
195
[case "${enableval}" in
196
  yes | hard)   sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
197
  no | soft)    sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
198
  altivec)      sim_float="-DWITH_ALTIVEC" ; sim_filter="${sim_filter},av" ;;
199
  *spe*|*simd*) sim_float="-DWITH_E500" ; sim_filter="${sim_filter},e500" ;;
200
  *)            AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-float"); sim_float="";;
201
esac
202
if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
203
  echo "Setting float flags = $sim_float" 6>&1
204
fi],[
205
case "${target}" in
206
  *altivec*) sim_float="-DWITH_ALTIVEC" ; sim_filter="${sim_filter},av" ;;
207
  *spe*|*simd*) sim_float="-DWITH_E500" ; sim_filter="${sim_filter},e500" ;;
208
  *) sim_float=""
209
esac
210
])dnl
211
 
212
AC_CACHE_CHECK([if union semun defined],
213
  ac_cv_HAS_UNION_SEMUN,
214
  [AC_TRY_COMPILE([
215
#include 
216
#include 
217
#include ],
218
[union semun arg ;],
219
[ac_cv_has_union_semun="yes"],
220
[ac_cv_has_union_semun="no"])
221
AC_MSG_RESULT($ac_cv_has_union_semun)
222
])
223
 
224
 
225
if test "$ac_cv_has_union_semun" = "yes"; then
226
  AC_CACHE_CHECK(whether System V semaphores are supported,
227
  ac_cv_sysv_sem,
228
  [
229
  AC_TRY_RUN(
230
  [
231
  #include 
232
  #include 
233
  #include 
234
  int main () {
235
    union semun arg ;
236
 
237
    int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
238
    if (id == -1)
239
      exit(1);
240
    arg.val = 0; /* avoid implicit type cast to union */
241
    if (semctl(id, 0, IPC_RMID, arg) == -1)
242
      exit(1);
243
    exit(0);
244
  }
245
  ],
246
  ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :)
247
  ])
248
else  # semun is not defined
249
  AC_CACHE_CHECK(whether System V semaphores are supported,
250
  ac_cv_sysv_sem,
251
  [
252
  AC_TRY_RUN(
253
  [
254
  #include 
255
  #include 
256
  #include 
257
  union semun {
258
    int val;
259
    struct semid_ds *buf;
260
    ushort *array;
261
  };
262
  int main () {
263
    union semun arg ;
264
 
265
    int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
266
    if (id == -1)
267
      exit(1);
268
    arg.val = 0; /* avoid implicit type cast to union */
269
    if (semctl(id, 0, IPC_RMID, arg) == -1)
270
      exit(1);
271
    exit(0);
272
  }
273
  ],
274
  ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :)
275
  ])
276
fi
277
 
278
AC_CACHE_CHECK(whether System V shared memory is supported,
279
ac_cv_sysv_shm,
280
[
281
AC_TRY_RUN([
282
#include 
283
#include 
284
#include 
285
int main () {
286
  int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
287
  if (id == -1)
288
    exit(1);
289
  if (shmctl(id, IPC_RMID, 0) == -1)
290
    exit(1);
291
  exit(0);
292
}
293
],
294
ac_cv_sysv_shm="yes", ac_cv_sysv_shm="no", :)
295
])
296
 
297
if test x"$ac_cv_sysv_shm" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then
298
  sim_sysv_ipc_hw=",sem,shm";
299
else
300
  sim_sysv_ipc_hw="";
301
fi
302
 
303
if test x"$ac_cv_has_union_semun" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then
304
  AC_DEFINE(HAVE_UNION_SEMUN, 1,
305
            [Define if union semun is defined in ])
306
fi
307
 
308
 
309
AC_ARG_ENABLE(sim-hardware,
310
[  --enable-sim-hardware=list           Specify the hardware to be included in the build.],
311
[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
312
case "${enableval}" in
313
  yes)  ;;
314
  no)   AC_MSG_ERROR("List of hardware must be specified for --enable-sim-hardware"); hardware="";;
315
  ,*)   hardware="${hardware}${enableval}";;
316
  *,)   hardware="${enableval}${hardware}";;
317
  *)    hardware="${enableval}"'';;
318
esac
319
sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'`
320
sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'`
321
if test x"$silent" != x"yes" && test x"$hardware" != x""; then
322
  echo "Setting hardware to $sim_hw_src, $sim_hw_obj"
323
fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
324
sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'`
325
sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'`
326
if test x"$silent" != x"yes"; then
327
  echo "Setting hardware to $sim_hw_src, $sim_hw_obj"
328
fi])dnl
329
 
330
AC_ARG_ENABLE(sim-hostbitsize,
331
[  --enable-sim-hostbitsize=32|64       Specify host bitsize (32 or 64).],
332
[case "${enableval}" in
333
  32|64) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";;
334
  *)     AC_MSG_ERROR("--enable-sim-hostbitsize was given $enableval.  Expected 32 or 64"); sim_hostbitsize="";;
335
esac
336
if test x"$silent" != x"yes" && test x"$sim_hostbitsize" != x""; then
337
  echo "Setting hostbitsize flags = $sim_hostbitsize" 6>&1
338
fi],[sim_hostbitsize=""])dnl
339
 
340
 
341
AC_ARG_ENABLE(sim-hostendian,
342
[  --enable-sim-hostendian=end          Specify host byte endian orientation.],
343
[case "${enableval}" in
344
  no)    sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
345
  b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
346
  l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
347
  *)     AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
348
esac
349
if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
350
  echo "Setting hostendian flags = $sim_hostendian" 6>&1
351
fi],[
352
if test "x$cross_compiling" = "xno"; then
353
  AC_C_BIGENDIAN
354
  if test $ac_cv_c_bigendian = yes; then
355
    sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
356
  else
357
    sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
358
  fi
359
else
360
  sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
361
fi])dnl
362
 
363
 
364
AC_ARG_ENABLE(sim-icache,
365
[  --enable-sim-icache=size             Specify instruction-decode cache size and type.],
366
[icache="-R"
367
 case "${enableval}" in
368
  yes)          icache="1024"; sim_icache="-I $icache";;
369
  no)           sim_icache="-R";;
370
  *) icache=1024
371
     sim_icache="-"
372
     for x in `echo "${enableval}" | sed -e "s/,/ /g"`; do
373
       case "$x" in
374
         define)        sim_icache="${sim_icache}R";;
375
         semantic)      sim_icache="${sim_icache}C";;
376
         insn)          sim_icache="${sim_icache}S";;
377
         0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) icache=$x;;
378
         *)             AC_MSG_ERROR("Unknown value $x for --enable-sim-icache"); sim_icache="";;
379
       esac
380
     done
381
     sim_icache="${sim_icache}I $icache";;
382
esac
383
if test x"$silent" != x"yes" && test x"$icache" != x""; then
384
  echo "Setting instruction cache size to $icache ($sim_icache)"
385
fi],[sim_icache="-CSRI 1024"
386
if test x"$silent" != x"yes"; then
387
  echo "Setting instruction cache size to 1024 ($sim_icache)"
388
fi])dnl
389
 
390
 
391
AC_ARG_ENABLE(sim-inline,
392
[  --enable-sim-inline=inlines          Specify which functions should be inlined.],
393
[sim_inline=""
394
case "$enableval" in
395
  no)           sim_inline="-DDEFAULT_INLINE=0";;
396
  0)            sim_inline="-DDEFAULT_INLINE=0";;
397
  yes | 2)      sim_inline="-DDEFAULT_INLINE=ALL_INLINE";;
398
  1)            sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS";;
399
  *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
400
       new_flag=""
401
       case "$x" in
402
         *_INLINE=*)    new_flag="-D$x";;
403
         *=*)           new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
404
         *_INLINE)      new_flag="-D$x=ALL_INLINE";;
405
         *)             new_flag="-D$x""_INLINE=ALL_INLINE";;
406
       esac
407
       if test x"$sim_inline" = x""; then
408
         sim_inline="$new_flag"
409
       else
410
         sim_inline="$sim_inline $new_flag"
411
       fi
412
     done;;
413
esac
414
if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
415
  echo "Setting inline flags = $sim_inline" 6>&1
416
fi],[if test x"$GCC" != ""; then
417
  sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS"
418
  if test x"$silent" != x"yes"; then
419
    echo "Setting inline flags = $sim_inline" 6>&1
420
  fi
421
else
422
  sim_inline=""
423
fi])dnl
424
 
425
 
426
AC_ARG_ENABLE(sim-jump,
427
[  --enable-sim-jump            Jump between semantic code (instead of call/return).],
428
[case "${enableval}" in
429
  yes)  sim_jump="-J";;
430
  no)   sim_jump="";;
431
  *)    AC_MSG_ERROR("--enable-sim-jump does not take a value"); sim_jump="";;
432
esac
433
if test x"$silent" != x"yes" && test x"$sim_jump" != x""; then
434
  echo "Setting jump flag = $sim_jump" 6>&1
435
fi],[sim_jump=""
436
if test x"$silent" != x"yes"; then
437
  echo "Setting jump flag = $sim_jump" 6>&1
438
fi])dnl
439
 
440
 
441
AC_ARG_ENABLE(sim-line-nr,
442
[  --enable-sim-line-nr=opts            Generate extra CPP code that references source rather than generated code],
443
[case "${enableval}" in
444
  yes)  sim_line_nr="";;
445
  no)   sim_line_nr="-L";;
446
  *)    AC_MSG_ERROR("--enable-sim-line-nr does not take a value"); sim_line_nr="";;
447
esac
448
if test x"$silent" != x"yes" && test x"$sim_line_nr" != x""; then
449
  echo "Setting warning flags = $sim_line_nr" 6>&1
450
fi],[sim_line_nr=""])dnl
451
 
452
 
453
AC_ARG_ENABLE(sim-model,
454
[  --enable-sim-model=which             Specify PowerPC to model.],
455
[case "${enableval}" in
456
  yes|no)       AC_MSG_ERROR("No value supplied for --enable-sim-model=model");;
457
  *)            sim_model="-DWITH_MODEL=${enableval}";;
458
esac
459
if test x"$silent" != x"yes" && test x"$sim_model" != x""; then
460
  echo "Setting model flags = $sim_model" 6>&1
461
fi],[sim_model=""])dnl
462
 
463
 
464
AC_ARG_ENABLE(sim-model-issue,
465
[  --enable-sim-model-issue             Specify whether to simulate model specific actions],
466
[case "${enableval}" in
467
  yes)  sim_model_issue="-DWITH_MODEL_ISSUE=MODEL_ISSUE_PROCESS";;
468
  no)   sim_model_issue="-DWITH_MODEL_ISSUE=MODEL_ISSUE_IGNORE";;
469
  *)    AC_MSG_ERROR("--enable-sim-model-issue does not take a value"); sim_model_issue="";;
470
esac
471
if test x"$silent" != x"yes"; then
472
  echo "Setting model-issue flags = $sim_model_issue" 6>&1
473
fi],[sim_model_issue=""])dnl
474
 
475
 
476
AC_ARG_ENABLE(sim-monitor,
477
[  --enable-sim-monitor=mon             Specify whether to enable monitoring events.],
478
[case "${enableval}" in
479
  yes)          sim_monitor="-DWITH_MON='MONITOR_INSTRUCTION_ISSUE | MONITOR_LOAD_STORE_UNIT'";;
480
  no)           sim_monitor="-DWITH_MON=0";;
481
  instruction)  sim_monitor="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";;
482
  memory)       sim_monitor="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";;
483
  *)            AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-mon"); sim_env="";;
484
esac
485
if test x"$silent" != x"yes" && test x"$sim_monitor" != x""; then
486
  echo "Setting monitor flags = $sim_monitor" 6>&1
487
fi],[sim_monitor=""])dnl
488
 
489
 
490
AC_ARG_ENABLE(sim-opcode,
491
[  --enable-sim-opcode=which            Override default opcode lookup.],
492
[case "${enableval}" in
493
  yes|no)       AC_MSG_ERROR("No value supplied for --enable-sim-opcode=file");;
494
  *)            if test -f "${srcdir}/${enableval}"; then
495
                  sim_opcode="${enableval}"
496
                elif test -f "${srcdir}/dc-${enableval}"; then
497
                  sim_opcode="dc-${enableval}"
498
                else
499
                  AC_MSG_ERROR("File $enableval is not an opcode rules file");
500
                  sim_opcode="dc-complex"
501
                fi;;
502
esac
503
if test x"$silent" != x"yes" && test x"$sim_opcode" != x""; then
504
  echo "Setting opcode flags = $sim_opcode" 6>&1
505
fi],[sim_opcode="dc-complex"
506
if test x"$silent" != x"yes"; then
507
  echo "Setting opcode flags = $sim_opcode"
508
fi])dnl
509
 
510
 
511
AC_ARG_ENABLE(sim-packages,
512
[  --enable-sim-packages=list           Specify the packages to be included in the build.],
513
[packages=disklabel
514
case "${enableval}" in
515
  yes)  ;;
516
  no)   AC_MSG_ERROR("List of packages must be specified for --enable-sim-packages"); packages="";;
517
  ,*)   packages="${packages}${enableval}";;
518
  *,)   packages="${enableval}${packages}";;
519
  *)    packages="${enableval}"'';;
520
esac
521
sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
522
sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
523
if test x"$silent" != x"yes" && test x"$packages" != x""; then
524
  echo "Setting packages to $sim_pk_src, $sim_pk_obj"
525
fi],[packages=disklabel
526
sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
527
sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
528
if test x"$silent" != x"yes"; then
529
  echo "Setting packages to $sim_pk_src, $sim_pk_obj"
530
fi])dnl
531
 
532
 
533
AC_ARG_ENABLE(sim-regparm,
534
[  --enable-sim-regparm=nr-parm         Pass parameters in registers instead of on the stack - x86/GCC specific.],
535
[case "${enableval}" in
536
  0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
537
  no)                            sim_regparm="" ;;
538
  yes)                           sim_regparm="-DWITH_REGPARM=3";;
539
  *)   AC_MSG_ERROR("Unknown value $enableval for --enable-sim-regparm"); sim_regparm="";;
540
esac
541
if test x"$silent" != x"yes" && test x"$sim_regparm" != x""; then
542
  echo "Setting regparm flags = $sim_regparm" 6>&1
543
fi],[sim_regparm=""])dnl
544
 
545
 
546
AC_ARG_ENABLE(sim-reserved-bits,
547
[  --enable-sim-reserved-bits           Specify whether to check reserved bits in instruction.],
548
[case "${enableval}" in
549
  yes)  sim_reserved="-DWITH_RESERVED_BITS=1";;
550
  no)   sim_reserved="-DWITH_RESERVED_BITS=0";;
551
  *)    AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved="";;
552
esac
553
if test x"$silent" != x"yes" && test x"$sim_reserved" != x""; then
554
  echo "Setting reserved flags = $sim_reserved" 6>&1
555
fi],[sim_reserved=""])dnl
556
 
557
 
558
AC_ARG_ENABLE(sim-smp,
559
[  --enable-sim-smp=n                   Specify number of processors to configure for.],
560
[case "${enableval}" in
561
  yes)  sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
562
  no)   sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
563
  *)    sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
564
esac
565
if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
566
  echo "Setting smp flags = $sim_smp" 6>&1
567
fi],[sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5"
568
if test x"$silent" != x"yes"; then
569
  echo "Setting smp flags = $sim_smp" 6>&1
570
fi])dnl
571
 
572
 
573
AC_ARG_ENABLE(sim-stdcall,
574
[  --enable-sim-stdcall=type            Use an alternative function call/return mechanism - x86/GCC specific.],
575
[case "${enableval}" in
576
  no)           sim_stdcall="" ;;
577
  std*)         sim_stdcall="-DWITH_STDCALL=1";;
578
  yes)          sim_stdcall="-DWITH_STDCALL=1";;
579
  *)   AC_MSG_ERROR("Unknown value $enableval for --enable-sim-stdcall"); sim_stdcall="";;
580
esac
581
if test x"$silent" != x"yes" && test x"$sim_stdcall" != x""; then
582
  echo "Setting function call flags = $sim_stdcall" 6>&1
583
fi],[sim_stdcall=""])dnl
584
 
585
 
586
AC_ARG_ENABLE(sim-stdio,
587
[  --enable-sim-stdio                   Specify whether to use stdio for console input/output.],
588
[case "${enableval}" in
589
  yes)  sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
590
  no)   sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
591
  *)    AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
592
esac
593
if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
594
  echo "Setting stdio flags = $sim_stdio" 6>&1
595
fi],[sim_stdio=""])dnl
596
 
597
 
598
AC_ARG_ENABLE(sim-switch,
599
[  --enable-sim-switch                  Use a switch instead of a table for instruction call.],
600
[case "${enableval}" in
601
  yes)  sim_switch="-s";;
602
  no)   sim_switch="";;
603
  *)    AC_MSG_ERROR("--enable-sim-switch does not take a value"); sim_switch="";;
604
esac
605
if test x"$silent" != x"yes" && test x"$sim_switch" != x""; then
606
  echo "Setting switch flags = $sim_switch" 6>&1
607
fi],[sim_switch="";
608
if test x"$silent" != x"yes"; then
609
  echo "Setting switch flags = $sim_switch" 6>&1
610
fi])dnl
611
 
612
 
613
AC_ARG_ENABLE(sim-timebase,
614
[  --enable-sim-timebase                        Specify whether the PPC timebase is supported.],
615
[case "${enableval}" in
616
  yes)  sim_timebase="-DWITH_TIME_BASE=1";;
617
  no)   sim_timebase="-DWITH_TIME_BASE=0";;
618
  *)    AC_MSG_ERROR("--enable-sim-timebase does not take a value"); sim_timebase="";;
619
esac
620
if test x"$silent" != x"yes" && test x"$sim_timebase" != x""; then
621
  echo "Setting timebase flags = $sim_timebase" 6>&1
622
fi],[sim_timebase=""])dnl
623
 
624
 
625
AC_ARG_ENABLE(sim-trace,
626
[  --enable-sim-trace                   Specify whether tracing is supported.],
627
[case "${enableval}" in
628
  yes)  sim_trace="-DWITH_TRACE=1";;
629
  no)   sim_trace="-DWITH_TRACE=0";;
630
  *)    AC_MSG_ERROR("--enable-sim-trace does not take a value"); sim_trace="";;
631
esac
632
if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
633
  echo "Setting trace flags = $sim_trace" 6>&1
634
fi],[sim_trace=""])dnl
635
 
636
 
637
AC_ARG_ENABLE(sim-warnings,
638
[  --enable-sim-warnings=opts           Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o],
639
[case "${enableval}" in
640
  yes)  sim_warnings="-Werror -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations ";;
641
  no)   sim_warnings="-w";;
642
  *)    sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
643
esac
644
if test x"$silent" != x"yes" && test x"$sim_warnings" != x""; then
645
  echo "Setting warning flags = $sim_warnings" 6>&1
646
fi],[sim_warnings=""])dnl
647
 
648
 
649
AC_ARG_ENABLE(sim-xor-endian,
650
[  --enable-sim-xor-endian=n            Specify number bytes involved in PowerPC XOR bi-endian mode (default 8).],
651
[case "${enableval}" in
652
  yes)  sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
653
  no)   sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
654
  *)    sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
655
esac
656
if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then
657
  echo "Setting xor-endian flag = $sim_xor_endian" 6>&1
658
fi],[sim_xor_endian=""])dnl
659
 
660
 
661
ACX_PKGVERSION([GDB])
662
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
663
AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
664
AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
665
 
666
AC_CANONICAL_SYSTEM
667
AC_ARG_PROGRAM
668
 
669
# BFD conditionally uses zlib, so we must link it in if libbfd does, by
670
# using the same condition.
671
AM_ZLIB
672
 
673
. ${srcdir}/../../bfd/configure.host
674
 
675
case ${host} in
676
  *mingw32*)
677
    AC_DEFINE(USE_WIN32API, 1,
678
              [Define if we should use the Windows API, instead of the
679
               POSIX API.  On Windows, we use the Windows API when
680
               building for MinGW, but the POSIX API when building
681
               for Cygwin.])
682
    ;;
683
esac
684
 
685
AC_CONFIG_HEADER(config.h:config.in)
686
 
687
AC_STRUCT_ST_BLKSIZE
688
AC_STRUCT_ST_BLOCKS
689
AC_STRUCT_ST_RDEV
690
AC_STRUCT_TIMEZONE
691
 
692
AC_TYPE_GETGROUPS
693
AC_TYPE_MODE_T
694
AC_TYPE_OFF_T
695
AC_TYPE_PID_T
696
AC_TYPE_SIGNAL
697
AC_TYPE_SIZE_T
698
AC_TYPE_UID_T
699
 
700
AC_CHECK_FUNCS(access cfgetispeed cfgetospeed cfsetispeed cfsetospeed chdir chmod chown dup dup2 fchmod fchown fcntl fstat fstatfs getdirentries getegid geteuid getgid getpid getppid getrusage gettimeofday getuid ioctl kill link lseek lstat mkdir pipe readlink rmdir setreuid setregid stat sigprocmask stat symlink tcgetattr tcsetattr tcsendbreak tcdrain tcflush tcflow tcgetpgrp tcsetpgrp time umask unlink)
701
 
702
AC_CHECK_HEADERS(fcntl.h stdlib.h string.h strings.h sys/ioctl.h sys/mount.h sys/param.h sys/resource.h sys/stat.h sys/termio.h sys/termios.h sys/time.h sys/times.h sys/types.h time.h unistd.h sys/vfs.h sys/statfs.h)
703
AC_HEADER_DIRENT
704
 
705
dnl Figure out what type of termio/termios support there is
706
sim_termio=""
707
AC_MSG_CHECKING(for struct termios)
708
AC_CACHE_VAL(ac_cv_termios_struct,
709
[AC_TRY_COMPILE([#include 
710
#include ],
711
[static struct termios x;
712
 x.c_iflag = 0;
713
 x.c_oflag = 0;
714
 x.c_cflag = 0;
715
 x.c_lflag = 0;
716
 x.c_cc[NCCS] = 0;],
717
ac_cv_termios_struct=yes, ac_cv_termios_struct=no)])
718
AC_MSG_RESULT($ac_cv_termios_struct)
719
if test $ac_cv_termios_struct = yes; then
720
  sim_termio="$sim_termio -DHAVE_TERMIOS_STRUCTURE"
721
fi
722
 
723
if test "$ac_cv_termios_struct" = "yes"; then
724
  AC_MSG_CHECKING(for c_line field in struct termios)
725
  AC_CACHE_VAL(ac_cv_termios_cline,
726
  [AC_TRY_COMPILE([#include 
727
#include ],
728
[static struct termios x; x.c_line = 0;],
729
  ac_cv_termios_cline=yes, ac_cv_termios_cline=no)])
730
 
731
  AC_MSG_RESULT($ac_cv_termios_cline)
732
  if test $ac_cv_termios_cline = yes; then
733
    sim_termio="$sim_termio -DHAVE_TERMIOS_CLINE"
734
  fi
735
else
736
  ac_cv_termios_cline=no
737
fi
738
 
739
if test "$ac_cv_termios_struct" != "yes"; then
740
  AC_MSG_CHECKING(for struct termio)
741
  AC_CACHE_VAL(ac_cv_termio_struct,
742
  [AC_TRY_COMPILE([#include 
743
#include ],
744
[static struct termio x;
745
 x.c_iflag = 0;
746
 x.c_oflag = 0;
747
 x.c_cflag = 0;
748
 x.c_lflag = 0;
749
 x.c_cc[NCC] = 0;],
750
ac_cv_termio_struct=yes, ac_cv_termio_struct=no)])
751
  AC_MSG_RESULT($ac_cv_termio_struct)
752
  if test $ac_cv_termio_struct = yes; then
753
    sim_termio="$sim_termio -DHAVE_TERMIO_STRUCTURE"
754
  fi
755
else
756
  ac_cv_termio_struct=no
757
fi
758
 
759
if test "$ac_cv_termio_struct" = "yes"; then
760
  AC_MSG_CHECKING(for c_line field in struct termio)
761
  AC_CACHE_VAL(ac_cv_termio_cline,
762
  [AC_TRY_COMPILE([#include 
763
#include ],
764
[static struct termio x; x.c_line = 0;],
765
  ac_cv_termio_cline=yes, ac_cv_termio_cline=no)])
766
 
767
  AC_MSG_RESULT($ac_cv_termio_cline)
768
  if test $ac_cv_termio_cline = yes; then
769
    sim_termio="$sim_termio -DHAVE_TERMIO_CLINE"
770
  fi
771
else
772
  ac_cv_termio_cline=no
773
fi
774
 
775
dnl Check for struct statfs
776
AC_MSG_CHECKING(for struct statfs)
777
AC_CACHE_VAL(ac_cv_struct_statfs,
778
[AC_TRY_COMPILE([#include 
779
#ifdef HAVE_SYS_PARAM_H
780
#include 
781
#endif
782
#ifdef HAVE_SYS_MOUNT_H
783
#include 
784
#endif
785
#ifdef HAVE_SYS_VFS_H
786
#include 
787
#endif
788
#ifdef HAVE_SYS_STATFS_H
789
#include 
790
#endif],
791
[static struct statfs s;],
792
ac_cv_struct_statfs=yes, ac_cv_struct_statfs=no)])
793
AC_MSG_RESULT($ac_cv_struct_statfs)
794
if test $ac_cv_struct_statfs = yes; then
795
  AC_DEFINE(HAVE_STRUCT_STATFS, 1,
796
            [Define if struct statfs is defined in ])
797
fi
798
 
799
AC_CHECK_TYPES(long long)
800
 
801
dnl Figure out if /dev/zero exists or not
802
sim_devzero=""
803
AC_MSG_CHECKING(for /dev/zero)
804
AC_CACHE_VAL(ac_cv_devzero,
805
[AC_TRY_RUN([#include 
806
main () {
807
  char buf[2048];
808
  int i;
809
  int fd = open ("/dev/zero", O_RDONLY);
810
  if (fd < 0)
811
    return 1;
812
  for (i = 0; i < sizeof (buf); i++)
813
    buf[i] = 1;
814
  if (read (fd, buf, sizeof (buf)) != sizeof (buf))
815
    return 1;
816
  for (i = 0; i < sizeof (buf); i++)
817
    if (buf[i])
818
      return 1;
819
  return 0;
820
}],[ac_cv_devzero=yes],[ac_cv_devzero=no],[ac_cv_devzero=no])])
821
AC_MSG_RESULT($ac_cv_devzero)
822
if test $ac_cv_devzero = yes; then
823
  sim_devzero="-DHAVE_DEVZERO"
824
else
825
  sim_devzero=""
826
fi
827
 
828
dnl Figure out if we are in the new Cygnus tree with a common directory or not
829
AC_MSG_CHECKING(for common simulator directory)
830
if test -f "${srcdir}/../common/callback.c"; then
831
  AC_MSG_RESULT(yes)
832
  sim_callback="callback.o targ-map.o"
833
  sim_targ_vals="targ-vals.h targ-map.c targ-vals.def"
834
else
835
  AC_MSG_RESULT(no)
836
  sim_callback=""
837
  sim_targ_vals=""
838
fi
839
 
840
AC_MSG_CHECKING(for common simulator directory fpu implementation)
841
if test -f "${srcdir}/../common/sim-fpu.c"; then
842
  AC_MSG_RESULT(yes)
843
  sim_fpu_cflags="-DHAVE_COMMON_FPU -I../common -I${srcdir}/../common"
844
  sim_fpu="sim-fpu.o"
845
else
846
  AC_MSG_RESULT(no)
847
  sim_fpu_cflags=
848
  sim_fpu=
849
fi
850
 
851
# Since we run commands on the build system, we have to create a
852
# separate config header for the build system if build != host.
853
if test x$host = x$build; then
854
  AC_CONFIG_COMMANDS([build-config.h],[cp config.h build-config.h])
855
else
856
  tempdir=build.$$
857
  rm -rf $tempdir
858
  mkdir $tempdir
859
  cd $tempdir
860
  case ${srcdir} in
861
  /* | [A-Za-z]:[\\/]* ) realsrcdir=${srcdir};;
862
  *) realsrcdir=../${srcdir};;
863
  esac
864
  saved_CFLAGS="${CFLAGS}"
865
  CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
866
  LDFLAGS="${LDFLAGS_FOR_BUILD}" \
867
  ${realsrcdir}/configure \
868
    --enable-languages=${enable_languages-all} \
869
    --target=$target_alias --host=$build_alias --build=$build_alias
870
  CFLAGS="${saved_CFLAGS}"
871
  mv config.h ../build-config.h
872
  cd ..
873
  rm -rf $tempdir
874
fi
875
 
876
dnl Check for exe extension
877
AC_EXEEXT
878
 
879
AC_SUBST(CC_FOR_BUILD)
880
AC_SUBST(CFLAGS_FOR_BUILD)
881
AC_SUBST(CFLAGS)
882
AC_SUBST(HDEFINES)
883
AR=${AR-ar}
884
AC_SUBST(AR)
885
AC_PROG_RANLIB
886
AC_SUBST(sim_cflags)
887
AC_SUBST(sim_warnings)
888
AC_SUBST(sim_line_nr)
889
AC_SUBST(sim_config)
890
AC_SUBST(sim_opcode)
891
AC_SUBST(sim_switch)
892
AC_SUBST(sim_dup)
893
AC_SUBST(sim_decode_mechanism)
894
AC_SUBST(sim_jump)
895
AC_SUBST(sim_filter)
896
AC_SUBST(sim_icache)
897
AC_SUBST(sim_hw_src)
898
AC_SUBST(sim_hw_obj)
899
AC_SUBST(sim_pk_src)
900
AC_SUBST(sim_pk_obj)
901
AC_SUBST(sim_inline)
902
AC_SUBST(sim_bswap)
903
AC_SUBST(sim_endian)
904
AC_SUBST(sim_regparm)
905
AC_SUBST(sim_stdcall)
906
AC_SUBST(sim_xor_endian)
907
AC_SUBST(sim_hostendian)
908
AC_SUBST(sim_smp)
909
AC_SUBST(sim_igen_smp)
910
AC_SUBST(sim_bitsize)
911
AC_SUBST(sim_hostbitsize)
912
AC_SUBST(sim_env)
913
AC_SUBST(sim_timebase)
914
AC_SUBST(sim_alignment)
915
AC_SUBST(sim_float)
916
AC_SUBST(sim_trace)
917
AC_SUBST(sim_assert)
918
AC_SUBST(sim_reserved)
919
AC_SUBST(sim_monitor)
920
AC_SUBST(sim_model)
921
AC_SUBST(sim_default_model)
922
AC_SUBST(sim_model_issue)
923
AC_SUBST(sim_stdio)
924
AC_SUBST(sim_termio)
925
AC_SUBST(sim_devzero)
926
AC_SUBST(sim_callback)
927
AC_SUBST(sim_targ_vals)
928
AC_SUBST(sim_fpu_cflags)
929
AC_SUBST(sim_fpu)
930
 
931
AC_OUTPUT(Makefile,
932
[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])

powered by: WebSVN 2.1.0

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