TI C54x target.
[deliverable/binutils-gdb.git] / gas / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl
3 dnl And be careful when changing it! If you must add tests with square
4 dnl brackets, be sure changequote invocations surround it.
5 dnl
6 dnl
7 dnl v2.5 needed for --bindir et al
8 AC_PREREQ(2.13)
9 AC_INIT(as.h)
10
11 AC_CANONICAL_SYSTEM
12
13 AM_INIT_AUTOMAKE(gas, 2.10.90)
14
15 AM_PROG_LIBTOOL
16
17 user_bfd_gas=
18 AC_ARG_ENABLE(bfd-assembler,
19 [ --enable-bfd-assembler use BFD back end for writing object files],
20 [case "${enableval}" in
21 yes) need_bfd=yes user_bfd_gas=yes ;;
22 no) user_bfd_gas=no ;;
23 *) AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;;
24 esac])dnl
25 AC_ARG_ENABLE(targets,
26 [ targets alternative target configurations besides the primary],
27 [case "${enableval}" in
28 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
29 ;;
30 no) enable_targets= ;;
31 *) enable_targets=$enableval ;;
32 esac])dnl
33 AC_ARG_ENABLE(commonbfdlib,
34 [ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
35 [case "${enableval}" in
36 yes) commonbfdlib=true ;;
37 no) commonbfdlib=false ;;
38 *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
39 esac])dnl
40
41 using_cgen=no
42
43 build_warnings="-W -Wall"
44 AC_ARG_ENABLE(build-warnings,
45 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
46 [case "${enableval}" in
47 yes) ;;
48 no) build_warnings="-w";;
49 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
50 build_warnings="${build_warnings} ${t}";;
51 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
52 build_warnings="${t} ${build_warnings}";;
53 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
54 esac
55 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
56 echo "Setting warning flags = $build_warnings" 6>&1
57 fi])dnl
58 WARN_CFLAGS=""
59 if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then
60 WARN_CFLAGS="${build_warnings}"
61 fi
62 AC_SUBST(WARN_CFLAGS)
63
64 # Generate a header file
65 AM_CONFIG_HEADER(config.h:config.in)
66
67 # If we are on a DOS filesystem, we must use gdb.ini rather than
68 # .gdbinit.
69 GDBINIT=".gdbinit"
70 case "${host}" in
71 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
72 GDBINIT="gdb.ini"
73 ;;
74 esac
75 AC_SUBST(GDBINIT)
76
77 te_file=generic
78
79 # Makefile target for installing gas in $(tooldir)/bin.
80 install_tooldir=install-exec-tooldir
81
82 canon_targets=""
83 all_targets=no
84 if test -n "$enable_targets" ; then
85 for t in `echo $enable_targets | sed 's/,/ /g'`; do
86 if test $t = "all"; then
87 all_targets=yes
88 continue
89 fi
90 result=`$ac_config_sub $t 2>/dev/null`
91 if test -n "$result" ; then
92 canon_targets="$canon_targets $result"
93 # else
94 # # Permit "all", etc. We don't support it yet though.
95 # canon_targets="$canon_targets $t"
96 fi
97 done
98 GAS_UNIQ(canon_targets)
99 fi
100
101 emulations=""
102
103 for this_target in $target $canon_targets ; do
104
105 changequote(,)dnl
106 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
107 changequote([,])dnl
108
109 # check for architecture variants
110 arch=
111 endian=
112 case ${cpu} in
113 alpha*) cpu_type=alpha ;;
114 armeb) cpu_type=arm endian=big ;;
115 arm*) cpu_type=arm endian=little ;;
116 armb*) cpu_type=arm endian=little ;;
117 armv*l) cpu_type=arm endian=little ;;
118 armv*b) cpu_type=arm endian=big ;;
119 strongarm*) cpu_type=arm endian=little ;;
120 thumb*) cpu_type=arm endian=little ;;
121 hppa*) cpu_type=hppa ;;
122 changequote(,)dnl
123 i[456]86) cpu_type=i386 ;;
124 ia64) cpu_type=ia64 ;;
125 m6811|m6812) cpu_type=m68hc11 ;;
126 m680[012346]0) cpu_type=m68k ;;
127 changequote([,])dnl
128 m68008) cpu_type=m68k ;;
129 m683??) cpu_type=m68k ;;
130 m5200) cpu_type=m68k ;;
131 m8*) cpu_type=m88k ;;
132 mips*el) cpu_type=mips endian=little ;;
133 mips*) cpu_type=mips endian=big ;;
134 pjl*) cpu_type=pj endian=little ;;
135 pj*) cpu_type=pj endian=big ;;
136 powerpcle*) cpu_type=ppc endian=little ;;
137 powerpc*) cpu_type=ppc endian=big ;;
138 rs6000*) cpu_type=ppc ;;
139 sparclite*) cpu_type=sparc arch=sparclite ;;
140 sparclet*) cpu_type=sparc arch=sparclet ;;
141 sparc64*) cpu_type=sparc arch=v9-64 ;;
142 sparc86x*) cpu_type=sparc arch=sparc86x ;;
143 sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
144 v850*) cpu_type=v850 ;;
145 *) cpu_type=${cpu} ;;
146 esac
147
148 if test ${this_target} = $target ; then
149 target_cpu_type=${cpu_type}
150 elif test ${target_cpu_type} != ${cpu_type} ; then
151 continue
152 fi
153
154 generic_target=${cpu_type}-$vendor-$os
155 dev=no
156 bfd_gas=no
157 em=generic
158
159 # assign object format
160 case ${generic_target} in
161 a29k-*-coff) fmt=coff ;;
162 a29k-amd-udi) fmt=coff ;;
163 a29k-amd-ebmon) fmt=coff ;;
164 a29k-nyu-sym1) fmt=coff ;;
165 a29k-*-vxworks*) fmt=coff ;;
166
167 alpha*-*-*vms*) fmt=evax ;;
168 alpha*-*-netware*) fmt=ecoff ;;
169 alpha*-*-openbsd*) fmt=ecoff ;;
170 alpha*-*-osf*) fmt=ecoff ;;
171 alpha*-*-linuxecoff*) fmt=ecoff ;;
172 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
173 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
174
175 arc-*-elf*) fmt=elf bfd_gas=yes ;;
176
177 arm-*-aout) fmt=aout ;;
178 arm-*-coff | thumb-*-coff) fmt=coff ;;
179 arm-*-elf | thumb-*-elf) fmt=elf ;;
180 arm*-*-conix*) fmt=elf ;;
181 arm-*-linux*aout*) fmt=aout em=linux ;;
182 arm*-*-linux-gnu*) fmt=elf em=linux ;;
183 arm-*-netbsd*) fmt=aout em=nbsd ;;
184 arm-*-oabi | thumb-*-oabi) fmt=elf ;;
185 arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
186 arm-*-wince) fmt=coff em=wince-pe ;;
187 arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
188 arm-*-riscix*) fmt=aout em=riscix ;;
189
190 avr-*-*) fmt=elf bfd_gas=yes ;;
191
192 d10v-*-*) fmt=elf bfd_gas=yes ;;
193 d30v-*-*) fmt=elf bfd_gas=yes ;;
194
195
196 fr30-*-*) fmt=elf bfd_gas=yes ;;
197
198 hppa-*-linux-gnu*) fmt=elf em=linux ;;
199 hppa-*-*elf*) fmt=elf em=hppa ;;
200 hppa-*-lites*) fmt=elf em=hppa ;;
201 hppa-*-osf*) fmt=som em=hppa ;;
202 hppa-*-rtems*) fmt=elf em=hppa ;;
203 hppa-*-hpux11*) em=hppa
204 case ${cpu} in
205 hppa*64*)
206 fmt=elf;;
207 hppa*)
208 fmt=som;;
209 esac
210 ;;
211 hppa-*-hpux*) fmt=som em=hppa ;;
212 hppa-*-mpeix*) fmt=som em=hppa ;;
213 hppa-*-bsd*) fmt=som em=hppa ;;
214 hppa-*-hiux*) fmt=som em=hppa ;;
215
216 h8300-*-coff) fmt=coff ;;
217
218 i370-*-elf* | i370-*-linux*) fmt=elf ;;
219 i386-ibm-aix*) fmt=coff em=i386aix ;;
220 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
221 i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
222 i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
223 i386-*-bsd*) fmt=aout em=386bsd ;;
224 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
225 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
226 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
227 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
228 i386-*-linux*coff*) fmt=coff em=linux ;;
229 i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
230 i386-*-lynxos*) fmt=coff em=lynx ;;
231 i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
232 fmt=elf bfd_gas=yes ;;
233 changequote(,)dnl
234 i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
235 fmt=aout em=386bsd ;;
236 changequote([,])dnl
237 i386-*-freebsd*) fmt=elf bfd_gas=yes ;;
238 i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
239 fmt=coff ;;
240 i386-*-sco3.2v5*) fmt=elf
241 if test ${this_target} = $target; then
242 AC_DEFINE(SCO_ELF, 1,
243 [Define if defaulting to ELF on SCO 5.])
244 fi
245 ;;
246 i386-*-sco3.2*) fmt=coff ;;
247 i386-*-vsta) fmt=aout ;;
248 i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
249 fmt=coff em=go32;;
250 i386-*-rtemself*) fmt=elf ;;
251 i386-*-rtems*) fmt=coff ;;
252 i386-*-gnu*) fmt=elf ;;
253 i386-*-mach*)
254 fmt=aout em=mach bfd_gas=yes ;;
255 i386-*-msdos*) fmt=aout ;;
256 i386-*-moss*) fmt=elf ;;
257 i386-*-pe) fmt=coff em=pe bfd_gas=yes ;;
258 i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
259 i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;;
260 i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
261 i386-*-*nt*) fmt=coff em=pe bfd_gas=yes ;;
262 i386-*-vxworks*) fmt=aout ;;
263 i960-*-bout) fmt=bout ;;
264 i960-*-coff) fmt=coff em=ic960 ;;
265 i960-*-rtems*) fmt=coff em=ic960 ;;
266 i960-*-nindy*) fmt=bout ;;
267 i960-*-vxworks4*) fmt=bout ;;
268 i960-*-vxworks5.0) fmt=bout ;;
269 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
270 i960-*-vxworks*) fmt=bout ;;
271 i960-*-elf*) fmt=elf ;;
272
273 ia64-*-elf*) fmt=elf ;;
274 ia64-*-linux-gnu*) fmt=elf em=linux ;;
275
276 m32r-*-*) fmt=elf bfd_gas=yes ;;
277
278 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)fmt=elf bfd_gas=yes ;;
279
280 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
281 fmt=aout em=sun3 ;;
282 m68k-motorola-sysv*) fmt=coff em=delta ;;
283 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
284 m68k-apollo-*) fmt=coff em=apollo ;;
285 m68k-*-sysv4*) # must be before -sysv*
286 fmt=elf em=svr4 ;;
287 m68k-*-elf*) fmt=elf ;;
288 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
289 fmt=coff ;;
290 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
291 m68k-*-linux*aout*) fmt=aout em=linux ;;
292 m68k-*-linux-gnu*) fmt=elf em=linux ;;
293 m68k-*-gnu*) fmt=elf ;;
294 m68k-*-lynxos*) fmt=coff em=lynx ;;
295 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
296 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
297 m68k-apple-aux*) fmt=coff em=aux ;;
298 m68k-*-psos*) fmt=elf em=psos;;
299
300 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
301 m88k-*-coff*) fmt=coff ;;
302
303 mcore-*-elf) fmt=elf bfd_gas=yes ;;
304 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
305
306 # don't change em like *-*-bsd does
307 mips-dec-netbsd*) fmt=elf endian=little ;;
308 mips-dec-openbsd*) fmt=elf endian=little ;;
309 mips-dec-bsd*) fmt=aout endian=little ;;
310 mips-sony-bsd*) fmt=ecoff ;;
311 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
312 mips-*-ultrix*) fmt=ecoff endian=little ;;
313 mips-*-osf*) fmt=ecoff endian=little ;;
314 mips-*-ecoff*) fmt=ecoff ;;
315 mips-*-ecoff*) fmt=ecoff ;;
316 mips-*-pe*) fmt=coff endian=little em=pe ;;
317 mips-*-irix6*) fmt=elf ;;
318 mips-*-irix5*) fmt=elf ;;
319 mips-*-irix*) fmt=ecoff ;;
320 mips-*-lnews*) fmt=ecoff em=lnews ;;
321 mips-*-riscos*) fmt=ecoff ;;
322 mips-*-sysv*) fmt=ecoff ;;
323 mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
324 fmt=elf ;;
325 mips-*-vxworks*) fmt=elf
326 AC_DEFINE(MIPS_STABS_ELF, 1,
327 [Use ELF stabs for MIPS, not ECOFF stabs])
328 ;;
329 mn10200-*-*) fmt=elf bfd_gas=yes ;;
330 mn10300-*-*) fmt=elf bfd_gas=yes ;;
331 pj*) fmt=elf ;;
332 ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
333 fmt=coff em=pe ;;
334 ppc-*-aix*) fmt=coff ;;
335 ppc-*-beos*) fmt=coff ;;
336 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
337 fmt=elf ;;
338 ppc-*-linux-gnu*) fmt=elf
339 case "$endian" in
340 big) ;;
341 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
342 esac
343 ;;
344 ppc-*-solaris*) fmt=elf
345 if test ${this_target} = $target; then
346 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
347 [Define if default target is PowerPC Solaris.])
348 fi
349 if test x${endian} = xbig; then
350 AC_MSG_ERROR(Solaris must be configured little endian)
351 fi
352 ;;
353 ppc-*-rtems*) fmt=elf ;;
354 ppc-*-macos* | ppc-*-mpw*)
355 fmt=coff em=macos ;;
356 ppc-*-netware*) fmt=elf em=ppcnw ;;
357 ppc-*-vxworks*) fmt=elf ;;
358
359 sh-*-elf*) fmt=elf ;;
360 sh-*-coff*) fmt=coff ;;
361 sh-*-pe*) fmt=coff em=pe bfd_gas=yes;;
362 sh-*-rtemself*) fmt=elf ;;
363 sh-*-rtems*) fmt=coff ;;
364
365 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
366 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
367 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
368
369 sparc-*-rtems*) fmt=aout ;;
370 sparc-*-sunos4*) fmt=aout em=sun3 ;;
371 sparc-*-aout | sparc*-*-vxworks*)
372 fmt=aout em=sparcaout ;;
373 sparc-*-coff) fmt=coff ;;
374 sparc-*-linux*aout*) fmt=aout em=linux ;;
375 sparc-*-linux-gnu*) fmt=elf em=linux ;;
376 sparc-*-lynxos*) fmt=coff em=lynx ;;
377 sparc-fujitsu-none) fmt=aout ;;
378 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
379 fmt=elf ;;
380 sparc-*-netbsd*) em=nbsd bfd_gas=yes
381 case ${cpu} in
382 sparc) case ${os} in
383 *elf*) fmt=elf ;;
384 *) fmt=aout ;;
385 esac ;;
386 sparc64) fmt=elf ;;
387 esac
388 ;;
389 sparc-*-openbsd*) fmt=aout em=nbsd ;;
390
391 strongarm-*-coff) fmt=coff ;;
392 strongarm-*-elf) fmt=elf ;;
393
394 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
395 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
396 tic54x-*-* | c54x*-*-*)
397 fmt=coff bfd_gas=yes need_libm=yes;;
398 tic80-*-*) fmt=coff ;;
399
400 v850-*-*) fmt=elf bfd_gas=yes ;;
401 v850e-*-*) fmt=elf bfd_gas=yes ;;
402 v850ea-*-*) fmt=elf bfd_gas=yes ;;
403
404 vax-*-bsd* | vax-*-ultrix*)
405 fmt=aout ;;
406 vax-*-vms) fmt=vms ;;
407
408
409 z8k-*-coff | z8k-*-sim)
410 fmt=coff ;;
411
412 w65-*-*) fmt=coff ;;
413
414 *-*-aout | *-*-scout)
415 fmt=aout ;;
416 *-*-nindy*)
417 fmt=bout ;;
418 *-*-bsd*)
419 fmt=aout em=sun3 ;;
420 *-*-generic) fmt=generic ;;
421 *-*-xray | *-*-hms) fmt=coff ;;
422 *-*-sim) fmt=coff ;;
423 *-*-elf | *-*-sysv4* | *-*-solaris*)
424 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
425 fmt=elf dev=yes ;;
426 *-*-vxworks) fmt=aout ;;
427 *-*-netware) fmt=elf ;;
428 esac
429
430 if test ${this_target} = $target ; then
431 endian_def=
432 if test x${endian} = xbig; then
433 endian_def=1
434 elif test x${endian} = xlittle; then
435 endian_def=0
436 fi
437 if test x${endian_def} != x; then
438 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
439 [Define as 1 if big endian.])
440 fi
441 fi
442
443 case ${cpu_type}-${fmt} in
444 alpha*-*) bfd_gas=yes ;;
445 arm-*) bfd_gas=yes ;;
446 # not yet
447 # i386-aout) bfd_gas=preferred ;;
448 ia64*-*) bfd_gas=yes ;;
449 mips-*) bfd_gas=yes ;;
450 ns32k-*) bfd_gas=yes ;;
451 ppc-*) bfd_gas=yes ;;
452 sparc-*) bfd_gas=yes ;;
453 strongarm-*) bfd_gas=yes ;;
454 *-elf) bfd_gas=yes ;;
455 *-ecoff) bfd_gas=yes ;;
456 *-som) bfd_gas=yes ;;
457 #enable bfd for coff and aout to allow testing if a bfd target is
458 #the primary target, but not for coff or aout as the primary target
459 i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
460 i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
461 *) ;;
462 esac
463
464 # Other random stuff.
465
466 # Do we need the opcodes library?
467 case ${cpu_type} in
468 vax | i386 | tic30)
469 ;;
470
471 *)
472 need_opcodes=yes
473
474 case "${enable_shared}" in
475 yes) shared_opcodes=true ;;
476 *opcodes*) shared_opcodes=true ;;
477 *) shared_opcodes=false ;;
478 esac
479 if test "${shared_opcodes}" = "true"; then
480 # A shared libopcodes must be linked against libbfd.
481 need_bfd=yes
482 fi
483 ;;
484 esac
485
486 # Any other special object files needed ?
487 case ${cpu_type} in
488 fr30 | m32r)
489 using_cgen=yes
490 ;;
491
492 m68k)
493 case ${extra_objects} in
494 *m68k-parse.o*) ;;
495 *) extra_objects="$extra_objects m68k-parse.o" ;;
496 esac
497 ;;
498
499 mips)
500 echo ${extra_objects} | grep -s "itbl-parse.o"
501 if test $? -ne 0 ; then
502 extra_objects="$extra_objects itbl-parse.o"
503 fi
504
505 echo ${extra_objects} | grep -s "itbl-lex.o"
506 if test $? -ne 0 ; then
507 extra_objects="$extra_objects itbl-lex.o"
508 fi
509
510 echo ${extra_objects} | grep -s "itbl-ops.o"
511 if test $? -ne 0 ; then
512 extra_objects="$extra_objects itbl-ops.o"
513 fi
514 ;;
515
516 sparc)
517 if test $this_target = $target ; then
518 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
519 fi
520 ;;
521 *)
522 ;;
523 esac
524
525 if test $using_cgen = yes ; then
526 case "x${extra_objects}" in
527 *cgen.o*) ;;
528 *) extra_objects="$extra_objects cgen.o" ;;
529 esac
530 fi
531
532 # See if we really can support this configuration with the emulation code.
533
534 if test $this_target = $target ; then
535 primary_bfd_gas=$bfd_gas
536 obj_format=$fmt
537 te_file=$em
538
539 if test $bfd_gas = no ; then
540 # Can't support other configurations this way.
541 break
542 fi
543 elif test $bfd_gas = no ; then
544 # Can't support this configuration.
545 break
546 fi
547
548 # From target name and format, produce a list of supported emulations.
549
550 case ${generic_target}-${fmt} in
551 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
552 mips-*-linux-gnu*-*) case "$endian" in
553 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
554 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
555 esac ;;
556 mips-*-lnews*-ecoff) ;;
557 mips-*-*-ecoff) case "$endian" in
558 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
559 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
560 esac ;;
561 mips-*-*-elf) case "$endian" in
562 big) emulation="mipsbelf mipslelf mipself" ;;
563 *) emulation="mipslelf mipsbelf mipself" ;;
564 esac ;;
565 # i386-pc-pe-coff != i386-pc-coff.
566 i386-*-pe-coff) ;;
567 # Uncommenting the next line will turn on support for i386 AOUT
568 # for the default linux configuration
569 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
570 #
571 i386-*-aout) emulation="i386aout" ;;
572 i386-*-coff) emulation="i386coff" ;;
573 i386-*-elf) emulation="i386elf" ;;
574 esac
575
576 emulations="$emulations $emulation"
577
578 done
579
580 # Turn on all targets if possible
581 if test ${all_targets} = "yes"; then
582 case ${target_cpu_type} in
583 i386)
584 case ${obj_format} in
585 aout)
586 emulations="$emulations i386coff i386elf"
587 ;;
588 coff)
589 emulations="$emulations i386aout i386elf"
590 ;;
591 elf)
592 emulations="$emulations i386aout i386coff"
593 ;;
594 esac
595 ;;
596 esac
597 fi
598
599 # Assign floating point type. Most processors with FP support
600 # IEEE FP. On those that don't support FP at all, usually IEEE
601 # is emulated.
602 case ${target_cpu} in
603 vax | tahoe ) atof=${target_cpu} ;;
604 *) atof=ieee ;;
605 esac
606
607 case "${obj_format}" in
608 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
609 esac
610
611 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
612 cgen_cpu_prefix=""
613 if test $using_cgen = yes ; then
614 case ${target_cpu} in
615 *) cgen_cpu_prefix=${target_cpu} ;;
616 esac
617 AC_SUBST(cgen_cpu_prefix)
618 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
619 fi
620
621 dnl
622 dnl Make sure the desired support files exist.
623 dnl
624
625 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
626 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
627 fi
628
629 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
630 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
631 fi
632
633 case ${user_bfd_gas}-${primary_bfd_gas} in
634 yes-yes | no-no)
635 # We didn't override user's choice.
636 ;;
637 no-yes)
638 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
639 ;;
640 no-preferred)
641 primary_bfd_gas=no
642 ;;
643 *-preferred)
644 primary_bfd_gas=yes
645 ;;
646 yes-*)
647 primary_bfd_gas=yes
648 ;;
649 -*)
650 # User specified nothing.
651 ;;
652 esac
653
654 # Some COFF configurations want these random other flags set.
655 case ${obj_format} in
656 coff)
657 case ${target_cpu_type} in
658 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
659 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
660 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
661 esac
662 ;;
663 esac
664
665 # Getting this done right is going to be a bitch. Each configuration specified
666 # with --enable-targets=... should be checked for environment, format, cpu, and
667 # bfd_gas setting.
668 #
669 # For each configuration, the necessary object file support code must be linked
670 # in. This might be only one, it might be up to four. The necessary emulation
671 # code needs to be provided, too.
672 #
673 # And then there's "--enable-targets=all"....
674 #
675 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
676
677 formats="${obj_format}"
678 emfiles=""
679 EMULATIONS=""
680 GAS_UNIQ(emulations)
681 for em in . $emulations ; do
682 case $em in
683 .) continue ;;
684 mipsbelf | mipslelf)
685 fmt=elf file=mipself ;;
686 mipsbecoff | mipslecoff)
687 fmt=ecoff file=mipsecoff ;;
688 *coff)
689 fmt=coff file=$em ;;
690 *aout)
691 fmt=aout file=$em ;;
692 *elf)
693 fmt=elf file=$em ;;
694 esac
695 formats="$formats $fmt"
696 emfiles="$emfiles e-$file.o"
697 EMULATIONS="$EMULATIONS &$em,"
698 done
699 GAS_UNIQ(formats)
700 GAS_UNIQ(emfiles)
701 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
702 for fmt in $formats ; do
703 case $fmt in
704 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
705 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
706 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
707 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
708 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
709 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
710 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
711 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
712 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
713 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
714 esac
715 extra_objects="$extra_objects obj-$fmt.o"
716 done
717 obj_format=multi
718 fi
719 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
720 DEFAULT_EMULATION=`set . $emulations ; echo $2`
721 # e-mips* has more than one emulation per file, e-i386* has just one at the
722 # moment. If only one emulation is specified, then don't define
723 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
724 case "${obj_format}${emfiles}" in
725 multi* | *mips*)
726 extra_objects="$extra_objects $emfiles"
727 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
728 esac
729 fi
730 AC_SUBST(extra_objects)
731 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
732 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
733 [Default emulation.])
734
735 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
736 yes-*-coff) need_bfd=yes ;;
737 no-*-coff) need_bfd=yes
738 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
739 esac
740
741 reject_dev_configs=yes
742
743 case ${reject_dev_configs}-${dev} in
744 yes-yes) # Oops.
745 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
746 ;;
747 esac
748
749 AC_SUBST(target_cpu_type)
750 AC_SUBST(obj_format)
751 AC_SUBST(te_file)
752 AC_SUBST(install_tooldir)
753 AC_SUBST(atof)
754 dnl AC_SUBST(emulation)
755
756 case "${primary_bfd_gas}" in
757 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
758 need_bfd=yes ;;
759 esac
760
761 # do we need the opcodes library?
762 case "${need_opcodes}" in
763 yes)
764 OPCODES_LIB=../opcodes/libopcodes.la
765 ;;
766 esac
767
768 case "${need_bfd}" in
769 yes)
770 BFDLIB=../bfd/libbfd.la
771 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
772 ;;
773 esac
774
775 AC_SUBST(BFDLIB)
776 AC_SUBST(OPCODES_LIB)
777
778 AC_SUBST(ALL_OBJ_DEPS)
779
780 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
781 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
782 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
783 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
784 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
785
786 AC_PROG_CC
787
788 AC_PROG_YACC
789 AM_PROG_LEX
790
791 ALL_LINGUAS=
792 CY_GNU_GETTEXT
793
794 AM_MAINTAINER_MODE
795 AC_EXEEXT
796
797 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
798
799 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
800 # people who are not cross-compiling but are compiling cross-assemblers.
801 AC_MSG_CHECKING(whether compiling a cross-assembler)
802 if test "${host}" = "${target}"; then
803 cross_gas=no
804 else
805 cross_gas=yes
806 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
807 fi
808 AC_MSG_RESULT($cross_gas)
809
810 dnl ansidecl.h will deal with const
811 dnl AC_CONST
812 AC_FUNC_ALLOCA
813 AC_C_INLINE
814
815 # VMS doesn't have unlink.
816 AC_CHECK_FUNCS(unlink remove, break)
817
818 # Some systems don't have sbrk().
819 AC_CHECK_FUNCS(sbrk)
820
821 # do we need the math library?
822 case "${need_libm}" in
823 yes)
824 AC_CHECK_LIBM
825 AC_SUBST(LIBM)
826 ;;
827 esac
828
829 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
830 # enough, but on some of those systems, the assert macro relies on requoting
831 # working properly!
832 GAS_WORKING_ASSERT
833
834 # On some systems, the system header files may not declare malloc, realloc,
835 # and free. There are places where gas needs these functions to have been
836 # declared -- such as when taking their addresses.
837 gas_test_headers="
838 #ifdef HAVE_MEMORY_H
839 #include <memory.h>
840 #endif
841 #ifdef HAVE_STRING_H
842 #include <string.h>
843 #else
844 #ifdef HAVE_STRINGS_H
845 #include <strings.h>
846 #endif
847 #endif
848 #ifdef HAVE_STDLIB_H
849 #include <stdlib.h>
850 #endif
851 #ifdef HAVE_UNISTD_H
852 #include <unistd.h>
853 #endif
854 "
855 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
856 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
857 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
858 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
859 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
860
861 # Does errno.h declare errno, or do we have to add a separate declaration
862 # for it?
863 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
864 #ifdef HAVE_ERRNO_H
865 #include <errno.h>
866 #endif
867 ])
868
869 dnl This must come last.
870
871 dnl We used to make symlinks to files in the source directory, but now
872 dnl we just use the right name for .c files, and create .h files in
873 dnl the build directory which include the right .h file. Make sure
874 dnl the old symlinks don't exist, so that a reconfigure in an existing
875 dnl directory behaves reasonably.
876
877 AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
878 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
879 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
880 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
881 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
882 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
883 if test "x$cgen_cpu_prefix" != x ; then
884 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
885 fi
886
887 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
888 [target_cpu_type=${target_cpu_type}
889 cgen_cpu_prefix=${cgen_cpu_prefix}
890 obj_format=${obj_format}
891 te_file=${te_file}])
This page took 0.050921 seconds and 4 git commands to generate.