Remove i386_elf_emit_arch_note
[deliverable/binutils-gdb.git] / sim / ppc / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.59)dnl
3 AC_INIT(Makefile.in)
4 sinclude(../common/acinclude.m4)
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 0 | default | DEFAULT) sim_alignment="-DWITH_ALIGNMENT=0";;
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 <sys/types.h>
216 #include <sys/ipc.h>
217 #include <sys/sem.h>],
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 <sys/types.h>
232 #include <sys/ipc.h>
233 #include <sys/sem.h>
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 <sys/types.h>
255 #include <sys/ipc.h>
256 #include <sys/sem.h>
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 <sys/types.h>
283 #include <sys/ipc.h>
284 #include <sys/shm.h>
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 <sys/sem.h>])
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 # BFD uses libdl when when plugins enabled.
674 AC_PLUGINS
675
676 . ${srcdir}/../../bfd/configure.host
677
678 case ${host} in
679 *mingw32*)
680 AC_DEFINE(USE_WIN32API, 1,
681 [Define if we should use the Windows API, instead of the
682 POSIX API. On Windows, we use the Windows API when
683 building for MinGW, but the POSIX API when building
684 for Cygwin.])
685 ;;
686 esac
687
688 AC_CONFIG_HEADER(config.h:config.in)
689
690 AC_STRUCT_ST_BLKSIZE
691 AC_STRUCT_ST_BLOCKS
692 AC_STRUCT_ST_RDEV
693 AC_STRUCT_TIMEZONE
694
695 AC_TYPE_GETGROUPS
696 AC_TYPE_MODE_T
697 AC_TYPE_OFF_T
698 AC_TYPE_PID_T
699 AC_TYPE_SIGNAL
700 AC_TYPE_SIZE_T
701 AC_TYPE_UID_T
702
703 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)
704
705 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)
706 AC_HEADER_DIRENT
707
708 dnl Figure out what type of termio/termios support there is
709 sim_termio=""
710 AC_MSG_CHECKING(for struct termios)
711 AC_CACHE_VAL(ac_cv_termios_struct,
712 [AC_TRY_COMPILE([#include <sys/types.h>
713 #include <sys/termios.h>],
714 [static struct termios x;
715 x.c_iflag = 0;
716 x.c_oflag = 0;
717 x.c_cflag = 0;
718 x.c_lflag = 0;
719 x.c_cc[NCCS] = 0;],
720 ac_cv_termios_struct=yes, ac_cv_termios_struct=no)])
721 AC_MSG_RESULT($ac_cv_termios_struct)
722 if test $ac_cv_termios_struct = yes; then
723 sim_termio="$sim_termio -DHAVE_TERMIOS_STRUCTURE"
724 fi
725
726 if test "$ac_cv_termios_struct" = "yes"; then
727 AC_MSG_CHECKING(for c_line field in struct termios)
728 AC_CACHE_VAL(ac_cv_termios_cline,
729 [AC_TRY_COMPILE([#include <sys/types.h>
730 #include <sys/termios.h>],
731 [static struct termios x; x.c_line = 0;],
732 ac_cv_termios_cline=yes, ac_cv_termios_cline=no)])
733
734 AC_MSG_RESULT($ac_cv_termios_cline)
735 if test $ac_cv_termios_cline = yes; then
736 sim_termio="$sim_termio -DHAVE_TERMIOS_CLINE"
737 fi
738 else
739 ac_cv_termios_cline=no
740 fi
741
742 if test "$ac_cv_termios_struct" != "yes"; then
743 AC_MSG_CHECKING(for struct termio)
744 AC_CACHE_VAL(ac_cv_termio_struct,
745 [AC_TRY_COMPILE([#include <sys/types.h>
746 #include <sys/termio.h>],
747 [static struct termio x;
748 x.c_iflag = 0;
749 x.c_oflag = 0;
750 x.c_cflag = 0;
751 x.c_lflag = 0;
752 x.c_cc[NCC] = 0;],
753 ac_cv_termio_struct=yes, ac_cv_termio_struct=no)])
754 AC_MSG_RESULT($ac_cv_termio_struct)
755 if test $ac_cv_termio_struct = yes; then
756 sim_termio="$sim_termio -DHAVE_TERMIO_STRUCTURE"
757 fi
758 else
759 ac_cv_termio_struct=no
760 fi
761
762 if test "$ac_cv_termio_struct" = "yes"; then
763 AC_MSG_CHECKING(for c_line field in struct termio)
764 AC_CACHE_VAL(ac_cv_termio_cline,
765 [AC_TRY_COMPILE([#include <sys/types.h>
766 #include <sys/termio.h>],
767 [static struct termio x; x.c_line = 0;],
768 ac_cv_termio_cline=yes, ac_cv_termio_cline=no)])
769
770 AC_MSG_RESULT($ac_cv_termio_cline)
771 if test $ac_cv_termio_cline = yes; then
772 sim_termio="$sim_termio -DHAVE_TERMIO_CLINE"
773 fi
774 else
775 ac_cv_termio_cline=no
776 fi
777
778 dnl Check for struct statfs
779 AC_MSG_CHECKING(for struct statfs)
780 AC_CACHE_VAL(ac_cv_struct_statfs,
781 [AC_TRY_COMPILE([#include <sys/types.h>
782 #ifdef HAVE_SYS_PARAM_H
783 #include <sys/param.h>
784 #endif
785 #ifdef HAVE_SYS_MOUNT_H
786 #include <sys/mount.h>
787 #endif
788 #ifdef HAVE_SYS_VFS_H
789 #include <sys/vfs.h>
790 #endif
791 #ifdef HAVE_SYS_STATFS_H
792 #include <sys/statfs.h>
793 #endif],
794 [static struct statfs s;],
795 ac_cv_struct_statfs=yes, ac_cv_struct_statfs=no)])
796 AC_MSG_RESULT($ac_cv_struct_statfs)
797 if test $ac_cv_struct_statfs = yes; then
798 AC_DEFINE(HAVE_STRUCT_STATFS, 1,
799 [Define if struct statfs is defined in <sys/mount.h>])
800 fi
801
802 AC_CHECK_TYPES(long long)
803
804 dnl Figure out if /dev/zero exists or not
805 sim_devzero=""
806 AC_MSG_CHECKING(for /dev/zero)
807 AC_CACHE_VAL(ac_cv_devzero,
808 [AC_TRY_RUN([#include <fcntl.h>
809 main () {
810 char buf[2048];
811 int i;
812 int fd = open ("/dev/zero", O_RDONLY);
813 if (fd < 0)
814 return 1;
815 for (i = 0; i < sizeof (buf); i++)
816 buf[i] = 1;
817 if (read (fd, buf, sizeof (buf)) != sizeof (buf))
818 return 1;
819 for (i = 0; i < sizeof (buf); i++)
820 if (buf[i])
821 return 1;
822 return 0;
823 }],[ac_cv_devzero=yes],[ac_cv_devzero=no],[ac_cv_devzero=no])])
824 AC_MSG_RESULT($ac_cv_devzero)
825 if test $ac_cv_devzero = yes; then
826 sim_devzero="-DHAVE_DEVZERO"
827 else
828 sim_devzero=""
829 fi
830
831 dnl Figure out if we are in the new Cygnus tree with a common directory or not
832 AC_MSG_CHECKING(for common simulator directory)
833 if test -f "${srcdir}/../common/callback.c"; then
834 AC_MSG_RESULT(yes)
835 sim_callback="callback.o targ-map.o"
836 sim_targ_vals="targ-vals.h targ-map.c targ-vals.def"
837 else
838 AC_MSG_RESULT(no)
839 sim_callback=""
840 sim_targ_vals=""
841 fi
842
843 AC_MSG_CHECKING(for common simulator directory fpu implementation)
844 if test -f "${srcdir}/../common/sim-fpu.c"; then
845 AC_MSG_RESULT(yes)
846 sim_fpu_cflags="-DHAVE_COMMON_FPU -I../common -I${srcdir}/../common"
847 sim_fpu="sim-fpu.o"
848 else
849 AC_MSG_RESULT(no)
850 sim_fpu_cflags=
851 sim_fpu=
852 fi
853
854 # Since we run commands on the build system, we have to create a
855 # separate config header for the build system if build != host.
856 if test x$host = x$build; then
857 AC_CONFIG_COMMANDS([build-config.h],[cp config.h build-config.h])
858 else
859 tempdir=build.$$
860 rm -rf $tempdir
861 mkdir $tempdir
862 cd $tempdir
863 case ${srcdir} in
864 /* | [A-Za-z]:[\\/]* ) realsrcdir=${srcdir};;
865 *) realsrcdir=../${srcdir};;
866 esac
867 saved_CFLAGS="${CFLAGS}"
868 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
869 LDFLAGS="${LDFLAGS_FOR_BUILD}" \
870 ${realsrcdir}/configure \
871 --enable-languages=${enable_languages-all} \
872 --target=$target_alias --host=$build_alias --build=$build_alias
873 CFLAGS="${saved_CFLAGS}"
874 mv config.h ../build-config.h
875 cd ..
876 rm -rf $tempdir
877 fi
878
879 dnl Check for exe extension
880 AC_EXEEXT
881
882 AC_SUBST(CC_FOR_BUILD)
883 AC_SUBST(CFLAGS_FOR_BUILD)
884 AC_SUBST(CFLAGS)
885 AC_SUBST(HDEFINES)
886 AR=${AR-ar}
887 AC_SUBST(AR)
888 AC_PROG_RANLIB
889 AC_SUBST(sim_cflags)
890 AC_SUBST(sim_warnings)
891 AC_SUBST(sim_line_nr)
892 AC_SUBST(sim_config)
893 AC_SUBST(sim_opcode)
894 AC_SUBST(sim_switch)
895 AC_SUBST(sim_dup)
896 AC_SUBST(sim_decode_mechanism)
897 AC_SUBST(sim_jump)
898 AC_SUBST(sim_filter)
899 AC_SUBST(sim_icache)
900 AC_SUBST(sim_hw_src)
901 AC_SUBST(sim_hw_obj)
902 AC_SUBST(sim_pk_src)
903 AC_SUBST(sim_pk_obj)
904 AC_SUBST(sim_inline)
905 AC_SUBST(sim_bswap)
906 AC_SUBST(sim_endian)
907 AC_SUBST(sim_regparm)
908 AC_SUBST(sim_stdcall)
909 AC_SUBST(sim_xor_endian)
910 AC_SUBST(sim_hostendian)
911 AC_SUBST(sim_smp)
912 AC_SUBST(sim_igen_smp)
913 AC_SUBST(sim_bitsize)
914 AC_SUBST(sim_hostbitsize)
915 AC_SUBST(sim_env)
916 AC_SUBST(sim_timebase)
917 AC_SUBST(sim_alignment)
918 AC_SUBST(sim_float)
919 AC_SUBST(sim_trace)
920 AC_SUBST(sim_assert)
921 AC_SUBST(sim_reserved)
922 AC_SUBST(sim_monitor)
923 AC_SUBST(sim_model)
924 AC_SUBST(sim_default_model)
925 AC_SUBST(sim_model_issue)
926 AC_SUBST(sim_stdio)
927 AC_SUBST(sim_termio)
928 AC_SUBST(sim_devzero)
929 AC_SUBST(sim_callback)
930 AC_SUBST(sim_targ_vals)
931 AC_SUBST(sim_fpu_cflags)
932 AC_SUBST(sim_fpu)
933
934 AC_OUTPUT(Makefile,
935 [case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])
This page took 0.057729 seconds and 4 git commands to generate.