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