1 dnl Process this file with autoconf to produce a configure script.
2 sinclude(../common/aclocal.m4)
9 # Put a plausible default for CC_FOR_BUILD in Makefile.
10 if test "x$cross_compiling" = "xno"; then
15 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
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.
20 ZW_GNU_GETTEXT_SISTER_DIR(../../intl)
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 0 | default | DEFAULT) sim_alignment="-DWITH_ALIGNMENT=0";;
29 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
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
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="";;
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
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="";;
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
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="";;
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
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";;
76 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
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
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"
92 AC_MSG_ERROR("Config file $enableval was not found");
93 sim_config=std-config.h
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
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";;
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"
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}";;
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
131 AC_ARG_ENABLE(sim-duplicate,
132 [ --enable-sim-duplicate Expand (duplicate) semantic functions.],
133 [case "${enableval}" in
136 *) AC_MSG_ERROR("--enable-sim-duplicate does not take a value"); sim_dup="";;
138 if test x"$silent" != x"yes" && test x"$sim_dup" != x""; then
139 echo "Setting duplicate flags = $sim_dup" 6>&1
141 if test x"$silent" != x"yes"; then
142 echo "Setting duplicate flags = $sim_dup" 6>&1
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";;
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="";;
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
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="";;
173 if test x"$silent" != x"yes" && test x"$sim_env" != x""; then
174 echo "Setting env flags = $sim_env" 6>&1
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="";;
183 *) sim_filter="-F $enableval";;
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
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="";;
202 if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
203 echo "Setting float flags = $sim_float" 6>&1
206 *altivec*) sim_float="-DWITH_ALTIVEC" ; sim_filter="${sim_filter},av" ;;
207 *spe*|*simd*) sim_float="-DWITH_E500" ; sim_filter="${sim_filter},e500" ;;
212 AC_CACHE_CHECK([if union semun defined],
213 ac_cv_HAS_UNION_SEMUN,
215 #include <sys/types.h>
217 #include <sys/sem.h>],
219 [ac_cv_has_union_semun="yes"],
220 [ac_cv_has_union_semun="no"])
221 AC_MSG_RESULT($ac_cv_has_union_semun)
225 if test "$ac_cv_has_union_semun" = "yes"; then
226 AC_CACHE_CHECK(whether System V semaphores are supported,
231 #include <sys/types.h>
237 int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
240 arg.val = 0; /* avoid implicit type cast to union */
241 if (semctl(id, 0, IPC_RMID, arg) == -1)
246 ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :)
248 else # semun is not defined
249 AC_CACHE_CHECK(whether System V semaphores are supported,
254 #include <sys/types.h>
259 struct semid_ds *buf;
265 int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
268 arg.val = 0; /* avoid implicit type cast to union */
269 if (semctl(id, 0, IPC_RMID, arg) == -1)
274 ac_cv_sysv_sem="yes", ac_cv_sysv_sem="no", :)
278 AC_CACHE_CHECK(whether System V shared memory is supported,
282 #include <sys/types.h>
286 int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
289 if (shmctl(id, IPC_RMID, 0) == -1)
294 ac_cv_sysv_shm="yes", ac_cv_sysv_shm="no", :)
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";
303 if test x"$ac_cv_has_union_semun" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then
304 sim_hwflags="-DHAS_UNION_SEMUN";
308 AC_ARG_ENABLE(sim-hardware,
309 [ --enable-sim-hardware=list Specify the hardware to be included in the build.],
310 [hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
311 case "${enableval}" in
313 no) AC_MSG_ERROR("List of hardware must be specified for --enable-sim-hardware"); hardware="";;
314 ,*) hardware="${hardware}${enableval}";;
315 *,) hardware="${enableval}${hardware}";;
316 *) hardware="${enableval}"'';;
318 sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'`
319 sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'`
320 if test x"$silent" != x"yes" && test x"$hardware" != x""; then
321 echo "Setting hardware to $sim_hw_src, $sim_hw_obj"
322 fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
323 sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'`
324 sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'`
325 if test x"$silent" != x"yes"; then
326 echo "Setting hardware to $sim_hw_src, $sim_hw_obj"
329 AC_ARG_ENABLE(sim-hostbitsize,
330 [ --enable-sim-hostbitsize=32|64 Specify host bitsize (32 or 64).],
331 [case "${enableval}" in
332 32|64) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";;
333 *) AC_MSG_ERROR("--enable-sim-hostbitsize was given $enableval. Expected 32 or 64"); sim_hostbitsize="";;
335 if test x"$silent" != x"yes" && test x"$sim_hostbitsize" != x""; then
336 echo "Setting hostbitsize flags = $sim_hostbitsize" 6>&1
337 fi],[sim_hostbitsize=""])dnl
340 AC_ARG_ENABLE(sim-hostendian,
341 [ --enable-sim-hostendian=end Specify host byte endian orientation.],
342 [case "${enableval}" in
343 no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
344 b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
345 l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
346 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
348 if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
349 echo "Setting hostendian flags = $sim_hostendian" 6>&1
351 if test "x$cross_compiling" = "xno"; then
353 if test $ac_cv_c_bigendian = yes; then
354 sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
356 sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
359 sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
363 AC_ARG_ENABLE(sim-icache,
364 [ --enable-sim-icache=size Specify instruction-decode cache size and type.],
366 case "${enableval}" in
367 yes) icache="1024"; sim_icache="-I $icache";;
368 no) sim_icache="-R";;
371 for x in `echo "${enableval}" | sed -e "s/,/ /g"`; do
373 define) sim_icache="${sim_icache}R";;
374 semantic) sim_icache="${sim_icache}C";;
375 insn) sim_icache="${sim_icache}S";;
376 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) icache=$x;;
377 *) AC_MSG_ERROR("Unknown value $x for --enable-sim-icache"); sim_icache="";;
380 sim_icache="${sim_icache}I $icache";;
382 if test x"$silent" != x"yes" && test x"$icache" != x""; then
383 echo "Setting instruction cache size to $icache ($sim_icache)"
384 fi],[sim_icache="-CSRI 1024"
385 if test x"$silent" != x"yes"; then
386 echo "Setting instruction cache size to 1024 ($sim_icache)"
390 AC_ARG_ENABLE(sim-inline,
391 [ --enable-sim-inline=inlines Specify which functions should be inlined.],
394 no) sim_inline="-DDEFAULT_INLINE=0";;
395 0) sim_inline="-DDEFAULT_INLINE=0";;
396 yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_INLINE";;
397 1) sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS";;
398 *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
401 *_INLINE=*) new_flag="-D$x";;
402 *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
403 *_INLINE) new_flag="-D$x=ALL_INLINE";;
404 *) new_flag="-D$x""_INLINE=ALL_INLINE";;
406 if test x"$sim_inline" = x""; then
407 sim_inline="$new_flag"
409 sim_inline="$sim_inline $new_flag"
413 if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
414 echo "Setting inline flags = $sim_inline" 6>&1
415 fi],[if test x"$GCC" != ""; then
416 sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS"
417 if test x"$silent" != x"yes"; then
418 echo "Setting inline flags = $sim_inline" 6>&1
425 AC_ARG_ENABLE(sim-jump,
426 [ --enable-sim-jump Jump between semantic code (instead of call/return).],
427 [case "${enableval}" in
430 *) AC_MSG_ERROR("--enable-sim-jump does not take a value"); sim_jump="";;
432 if test x"$silent" != x"yes" && test x"$sim_jump" != x""; then
433 echo "Setting jump flag = $sim_jump" 6>&1
435 if test x"$silent" != x"yes"; then
436 echo "Setting jump flag = $sim_jump" 6>&1
440 AC_ARG_ENABLE(sim-line-nr,
441 [ --enable-sim-line-nr=opts Generate extra CPP code that references source rather than generated code],
442 [case "${enableval}" in
443 yes) sim_line_nr="";;
444 no) sim_line_nr="-L";;
445 *) AC_MSG_ERROR("--enable-sim-line-nr does not take a value"); sim_line_nr="";;
447 if test x"$silent" != x"yes" && test x"$sim_line_nr" != x""; then
448 echo "Setting warning flags = $sim_line_nr" 6>&1
449 fi],[sim_line_nr=""])dnl
452 AC_ARG_ENABLE(sim-model,
453 [ --enable-sim-model=which Specify PowerPC to model.],
454 [case "${enableval}" in
455 yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-model=model");;
456 *) sim_model="-DWITH_MODEL=${enableval}";;
458 if test x"$silent" != x"yes" && test x"$sim_model" != x""; then
459 echo "Setting model flags = $sim_model" 6>&1
460 fi],[sim_model=""])dnl
463 AC_ARG_ENABLE(sim-model-issue,
464 [ --enable-sim-model-issue Specify whether to simulate model specific actions],
465 [case "${enableval}" in
466 yes) sim_model_issue="-DWITH_MODEL_ISSUE=MODEL_ISSUE_PROCESS";;
467 no) sim_model_issue="-DWITH_MODEL_ISSUE=MODEL_ISSUE_IGNORE";;
468 *) AC_MSG_ERROR("--enable-sim-model-issue does not take a value"); sim_model_issue="";;
470 if test x"$silent" != x"yes"; then
471 echo "Setting model-issue flags = $sim_model_issue" 6>&1
472 fi],[sim_model_issue=""])dnl
475 AC_ARG_ENABLE(sim-monitor,
476 [ --enable-sim-monitor=mon Specify whether to enable monitoring events.],
477 [case "${enableval}" in
478 yes) sim_monitor="-DWITH_MON='MONITOR_INSTRUCTION_ISSUE | MONITOR_LOAD_STORE_UNIT'";;
479 no) sim_monitor="-DWITH_MON=0";;
480 instruction) sim_monitor="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";;
481 memory) sim_monitor="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";;
482 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-mon"); sim_env="";;
484 if test x"$silent" != x"yes" && test x"$sim_monitor" != x""; then
485 echo "Setting monitor flags = $sim_monitor" 6>&1
486 fi],[sim_monitor=""])dnl
489 AC_ARG_ENABLE(sim-opcode,
490 [ --enable-sim-opcode=which Override default opcode lookup.],
491 [case "${enableval}" in
492 yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-opcode=file");;
493 *) if test -f "${srcdir}/${enableval}"; then
494 sim_opcode="${enableval}"
495 elif test -f "${srcdir}/dc-${enableval}"; then
496 sim_opcode="dc-${enableval}"
498 AC_MSG_ERROR("File $enableval is not an opcode rules file");
499 sim_opcode="dc-complex"
502 if test x"$silent" != x"yes" && test x"$sim_opcode" != x""; then
503 echo "Setting opcode flags = $sim_opcode" 6>&1
504 fi],[sim_opcode="dc-complex"
505 if test x"$silent" != x"yes"; then
506 echo "Setting opcode flags = $sim_opcode"
510 AC_ARG_ENABLE(sim-packages,
511 [ --enable-sim-packages=list Specify the packages to be included in the build.],
513 case "${enableval}" in
515 no) AC_MSG_ERROR("List of packages must be specified for --enable-sim-packages"); packages="";;
516 ,*) packages="${packages}${enableval}";;
517 *,) packages="${enableval}${packages}";;
518 *) packages="${enableval}"'';;
520 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
521 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
522 if test x"$silent" != x"yes" && test x"$packages" != x""; then
523 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
524 fi],[packages=disklabel
525 sim_pk_src=`echo $packages | sed -e 's/,/.c pk_/g' -e 's/^/pk_/' -e 's/$/.c/'`
526 sim_pk_obj=`echo $sim_pk_src | sed -e 's/\.c/.o/g'`
527 if test x"$silent" != x"yes"; then
528 echo "Setting packages to $sim_pk_src, $sim_pk_obj"
532 AC_ARG_ENABLE(sim-regparm,
533 [ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
534 [case "${enableval}" in
535 0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
536 no) sim_regparm="" ;;
537 yes) sim_regparm="-DWITH_REGPARM=3";;
538 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-regparm"); sim_regparm="";;
540 if test x"$silent" != x"yes" && test x"$sim_regparm" != x""; then
541 echo "Setting regparm flags = $sim_regparm" 6>&1
542 fi],[sim_regparm=""])dnl
545 AC_ARG_ENABLE(sim-reserved-bits,
546 [ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
547 [case "${enableval}" in
548 yes) sim_reserved="-DWITH_RESERVED_BITS=1";;
549 no) sim_reserved="-DWITH_RESERVED_BITS=0";;
550 *) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved="";;
552 if test x"$silent" != x"yes" && test x"$sim_reserved" != x""; then
553 echo "Setting reserved flags = $sim_reserved" 6>&1
554 fi],[sim_reserved=""])dnl
557 AC_ARG_ENABLE(sim-smp,
558 [ --enable-sim-smp=n Specify number of processors to configure for.],
559 [case "${enableval}" in
560 yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
561 no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
562 *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
564 if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
565 echo "Setting smp flags = $sim_smp" 6>&1
566 fi],[sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5"
567 if test x"$silent" != x"yes"; then
568 echo "Setting smp flags = $sim_smp" 6>&1
572 AC_ARG_ENABLE(sim-stdcall,
573 [ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
574 [case "${enableval}" in
575 no) sim_stdcall="" ;;
576 std*) sim_stdcall="-DWITH_STDCALL=1";;
577 yes) sim_stdcall="-DWITH_STDCALL=1";;
578 *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-stdcall"); sim_stdcall="";;
580 if test x"$silent" != x"yes" && test x"$sim_stdcall" != x""; then
581 echo "Setting function call flags = $sim_stdcall" 6>&1
582 fi],[sim_stdcall=""])dnl
585 AC_ARG_ENABLE(sim-stdio,
586 [ --enable-sim-stdio Specify whether to use stdio for console input/output.],
587 [case "${enableval}" in
588 yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
589 no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
590 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
592 if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
593 echo "Setting stdio flags = $sim_stdio" 6>&1
594 fi],[sim_stdio=""])dnl
597 AC_ARG_ENABLE(sim-switch,
598 [ --enable-sim-switch Use a switch instead of a table for instruction call.],
599 [case "${enableval}" in
600 yes) sim_switch="-s";;
602 *) AC_MSG_ERROR("--enable-sim-switch does not take a value"); sim_switch="";;
604 if test x"$silent" != x"yes" && test x"$sim_switch" != x""; then
605 echo "Setting switch flags = $sim_switch" 6>&1
607 if test x"$silent" != x"yes"; then
608 echo "Setting switch flags = $sim_switch" 6>&1
612 AC_ARG_ENABLE(sim-timebase,
613 [ --enable-sim-timebase Specify whether the PPC timebase is supported.],
614 [case "${enableval}" in
615 yes) sim_timebase="-DWITH_TIME_BASE=1";;
616 no) sim_timebase="-DWITH_TIME_BASE=0";;
617 *) AC_MSG_ERROR("--enable-sim-timebase does not take a value"); sim_timebase="";;
619 if test x"$silent" != x"yes" && test x"$sim_timebase" != x""; then
620 echo "Setting timebase flags = $sim_timebase" 6>&1
621 fi],[sim_timebase=""])dnl
624 AC_ARG_ENABLE(sim-trace,
625 [ --enable-sim-trace Specify whether tracing is supported.],
626 [case "${enableval}" in
627 yes) sim_trace="-DWITH_TRACE=1";;
628 no) sim_trace="-DWITH_TRACE=0";;
629 *) AC_MSG_ERROR("--enable-sim-trace does not take a value"); sim_trace="";;
631 if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
632 echo "Setting trace flags = $sim_trace" 6>&1
633 fi],[sim_trace=""])dnl
636 AC_ARG_ENABLE(sim-warnings,
637 [ --enable-sim-warnings=opts Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o],
638 [case "${enableval}" in
639 yes) sim_warnings="-Werror -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations ";;
640 no) sim_warnings="-w";;
641 *) sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
643 if test x"$silent" != x"yes" && test x"$sim_warnings" != x""; then
644 echo "Setting warning flags = $sim_warnings" 6>&1
645 fi],[sim_warnings=""])dnl
648 AC_ARG_ENABLE(sim-xor-endian,
649 [ --enable-sim-xor-endian=n Specify number bytes involved in PowerPC XOR bi-endian mode (default 8).],
650 [case "${enableval}" in
651 yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
652 no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
653 *) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
655 if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then
656 echo "Setting xor-endian flag = $sim_xor_endian" 6>&1
657 fi],[sim_xor_endian=""])dnl
660 ACX_PKGVERSION([GDB])
661 ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
662 AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
663 AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
668 # BFD conditionally uses zlib, so we must link it in if libbfd does, by
669 # using the same condition.
670 AC_SEARCH_LIBS(zlibVersion, z, [AC_CHECK_HEADERS(zlib.h)])
672 . ${srcdir}/../../bfd/configure.host
676 AC_DEFINE(USE_WIN32API, 1,
677 [Define if we should use the Windows API, instead of the
678 POSIX API. On Windows, we use the Windows API when
679 building for MinGW, but the POSIX API when building
684 AC_CONFIG_HEADER(config.h:config.in)
699 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 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)
704 dnl Figure out what type of termio/termios support there is
706 AC_MSG_CHECKING(for struct termios)
707 AC_CACHE_VAL(ac_cv_termios_struct,
708 [AC_TRY_COMPILE([#include <sys/types.h>
709 #include <sys/termios.h>],
710 [static struct termios x;
716 ac_cv_termios_struct=yes, ac_cv_termios_struct=no)])
717 AC_MSG_RESULT($ac_cv_termios_struct)
718 if test $ac_cv_termios_struct = yes; then
719 sim_termio="$sim_termio -DHAVE_TERMIOS_STRUCTURE"
722 if test "$ac_cv_termios_struct" = "yes"; then
723 AC_MSG_CHECKING(for c_line field in struct termios)
724 AC_CACHE_VAL(ac_cv_termios_cline,
725 [AC_TRY_COMPILE([#include <sys/types.h>
726 #include <sys/termios.h>],
727 [static struct termios x; x.c_line = 0;],
728 ac_cv_termios_cline=yes, ac_cv_termios_cline=no)])
730 AC_MSG_RESULT($ac_cv_termios_cline)
731 if test $ac_cv_termios_cline = yes; then
732 sim_termio="$sim_termio -DHAVE_TERMIOS_CLINE"
735 ac_cv_termios_cline=no
738 if test "$ac_cv_termios_struct" != "yes"; then
739 AC_MSG_CHECKING(for struct termio)
740 AC_CACHE_VAL(ac_cv_termio_struct,
741 [AC_TRY_COMPILE([#include <sys/types.h>
742 #include <sys/termio.h>],
743 [static struct termio x;
749 ac_cv_termio_struct=yes, ac_cv_termio_struct=no)])
750 AC_MSG_RESULT($ac_cv_termio_struct)
751 if test $ac_cv_termio_struct = yes; then
752 sim_termio="$sim_termio -DHAVE_TERMIO_STRUCTURE"
755 ac_cv_termio_struct=no
758 if test "$ac_cv_termio_struct" = "yes"; then
759 AC_MSG_CHECKING(for c_line field in struct termio)
760 AC_CACHE_VAL(ac_cv_termio_cline,
761 [AC_TRY_COMPILE([#include <sys/types.h>
762 #include <sys/termio.h>],
763 [static struct termio x; x.c_line = 0;],
764 ac_cv_termio_cline=yes, ac_cv_termio_cline=no)])
766 AC_MSG_RESULT($ac_cv_termio_cline)
767 if test $ac_cv_termio_cline = yes; then
768 sim_termio="$sim_termio -DHAVE_TERMIO_CLINE"
771 ac_cv_termio_cline=no
774 dnl Check for struct statfs
775 AC_MSG_CHECKING(for struct statfs)
776 AC_CACHE_VAL(ac_cv_struct_statfs,
777 [AC_TRY_COMPILE([#include <sys/types.h>
778 #ifdef HAVE_SYS_PARAM_H
779 #include <sys/param.h>
781 #ifdef HAVE_SYS_MOUNT_H
782 #include <sys/mount.h>
784 #ifdef HAVE_SYS_VFS_H
787 #ifdef HAVE_SYS_STATFS_H
788 #include <sys/statfs.h>
790 [static struct statfs s;],
791 ac_cv_struct_statfs=yes, ac_cv_struct_statfs=no)])
792 AC_MSG_RESULT($ac_cv_struct_statfs)
793 if test $ac_cv_struct_statfs = yes; then
794 AC_DEFINE(HAVE_STRUCT_STATFS, 1,
795 [Define if struct statfs is defined in <sys/mount.h>])
798 AC_CHECK_TYPES(long long)
800 dnl Figure out if /dev/zero exists or not
802 AC_MSG_CHECKING(for /dev/zero)
803 AC_CACHE_VAL(ac_cv_devzero,
804 [AC_TRY_RUN([#include <fcntl.h>
808 int fd = open ("/dev/zero", O_RDONLY);
811 for (i = 0; i < sizeof (buf); i++)
813 if (read (fd, buf, sizeof (buf)) != sizeof (buf))
815 for (i = 0; i < sizeof (buf); i++)
819 }],[ac_cv_devzero=yes],[ac_cv_devzero=no],[ac_cv_devzero=no])])
820 AC_MSG_RESULT($ac_cv_devzero)
821 if test $ac_cv_devzero = yes; then
822 sim_devzero="-DHAVE_DEVZERO"
827 dnl Figure out if we are in the new Cygnus tree with a common directory or not
828 AC_MSG_CHECKING(for common simulator directory)
829 if test -f "${srcdir}/../common/callback.c"; then
831 sim_callback="callback.o targ-map.o"
832 sim_targ_vals="targ-vals.h targ-map.c targ-vals.def"
839 AC_MSG_CHECKING(for common simulator directory fpu implementation)
840 if test -f "${srcdir}/../common/sim-fpu.c"; then
842 sim_fpu_cflags="-DHAVE_COMMON_FPU -I../common -I${srcdir}/../common"
850 dnl Check for exe extension
853 AC_SUBST(CC_FOR_BUILD)
854 AC_SUBST(CFLAGS_FOR_BUILD)
861 AC_SUBST(sim_warnings)
862 AC_SUBST(sim_line_nr)
867 AC_SUBST(sim_decode_mechanism)
878 AC_SUBST(sim_regparm)
879 AC_SUBST(sim_stdcall)
880 AC_SUBST(sim_xor_endian)
881 AC_SUBST(sim_hostendian)
883 AC_SUBST(sim_igen_smp)
884 AC_SUBST(sim_bitsize)
885 AC_SUBST(sim_hostbitsize)
887 AC_SUBST(sim_timebase)
888 AC_SUBST(sim_alignment)
892 AC_SUBST(sim_reserved)
893 AC_SUBST(sim_monitor)
895 AC_SUBST(sim_default_model)
896 AC_SUBST(sim_model_issue)
899 AC_SUBST(sim_devzero)
900 AC_SUBST(sim_callback)
901 AC_SUBST(sim_targ_vals)
902 AC_SUBST(sim_fpu_cflags)
906 [case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])