X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfigure.in;h=b6823c433e8ef537e4f8bf54a41b7f80582ceda6;hb=08caf3f8700a59ac490d9179896b8e0c5ab1ab76;hp=397e20cecf2d61b9cd654f1db2033c3db8ae07d0;hpb=041dd5a9f4231569f5526d0bd192521a108e7286;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/configure.in b/gas/configure.in index 397e20cecf..b6823c433e 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -9,8 +9,12 @@ AC_PREREQ(2.13) AC_INIT(as.h) AC_CANONICAL_SYSTEM +AC_ISC_POSIX -AM_INIT_AUTOMAKE(gas, 2.9.5) +changequote(,)dnl +BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in` +changequote([,])dnl +AM_INIT_AUTOMAKE(gas, ${BFD_VERSION}) AM_PROG_LIBTOOL @@ -40,6 +44,27 @@ esac])dnl using_cgen=no +build_warnings="-W -Wall" +AC_ARG_ENABLE(build-warnings, +[ --enable-build-warnings Enable build-time compiler warnings if gcc is used], +[case "${enableval}" in + yes) ;; + no) build_warnings="-w";; + ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"` + build_warnings="${build_warnings} ${t}";; + *,) t=`echo "${enableval}" | sed -e "s/,/ /g"` + build_warnings="${t} ${build_warnings}";; + *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;; +esac +if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then + echo "Setting warning flags = $build_warnings" 6>&1 +fi])dnl +WARN_CFLAGS="" +if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then + WARN_CFLAGS="${build_warnings}" +fi +AC_SUBST(WARN_CFLAGS) + # Generate a header file AM_CONFIG_HEADER(config.h:config.in) @@ -59,9 +84,14 @@ te_file=generic install_tooldir=install-exec-tooldir canon_targets="" +all_targets=no if test -n "$enable_targets" ; then for t in `echo $enable_targets | sed 's/,/ /g'`; do - result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $t 2>/dev/null` + if test $t = "all"; then + all_targets=yes + continue + fi + result=`$ac_config_sub $t 2>/dev/null` if test -n "$result" ; then canon_targets="$canon_targets $result" # else @@ -90,11 +120,15 @@ changequote([,])dnl armb*) cpu_type=arm endian=little ;; armv*l) cpu_type=arm endian=little ;; armv*b) cpu_type=arm endian=big ;; + xscale*) cpu_type=arm endian=little ;; strongarm*) cpu_type=arm endian=little ;; thumb*) cpu_type=arm endian=little ;; hppa*) cpu_type=hppa ;; changequote(,)dnl - i[456]86) cpu_type=i386 ;; + i[3456]86) cpu_type=i386 arch=i386;; + x86_64) cpu_type=i386 arch=x86_64;; + ia64) cpu_type=ia64 ;; + m6811|m6812|m68hc12) cpu_type=m68hc11 ;; m680[012346]0) cpu_type=m68k ;; changequote([,])dnl m68008) cpu_type=m68k ;; @@ -108,6 +142,8 @@ changequote([,])dnl powerpcle*) cpu_type=ppc endian=little ;; powerpc*) cpu_type=ppc endian=big ;; rs6000*) cpu_type=ppc ;; + s390x*) cpu_type=s390 arch=s390x ;; + s390*) cpu_type=s390 arch=s390 ;; sparclite*) cpu_type=sparc arch=sparclite ;; sparclet*) cpu_type=sparc arch=sparclet ;; sparc64*) cpu_type=sparc arch=v9-64 ;; @@ -134,6 +170,7 @@ changequote([,])dnl a29k-amd-udi) fmt=coff ;; a29k-amd-ebmon) fmt=coff ;; a29k-nyu-sym1) fmt=coff ;; + a29k-*-rtems*) fmt=coff ;; a29k-*-vxworks*) fmt=coff ;; alpha*-*-*vms*) fmt=evax ;; @@ -148,33 +185,54 @@ changequote([,])dnl arm-*-aout) fmt=aout ;; arm-*-coff | thumb-*-coff) fmt=coff ;; + arm-*-rtems | thumb-*-rtems) fmt=elf ;; arm-*-elf | thumb-*-elf) fmt=elf ;; + arm*-*-conix*) fmt=elf ;; arm-*-linux*aout*) fmt=aout em=linux ;; - arm-*-linux* | armv*-*-linux-gnu) fmt=elf em=linux ;; - arm-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;; + arm*-*-linux-gnu* | arm*-*-uclinux*) + fmt=elf em=linux ;; + arm-*-netbsd*) fmt=aout em=nbsd ;; arm-*-oabi | thumb-*-oabi) fmt=elf ;; arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;; + arm-*-wince) fmt=coff em=wince-pe ;; arm-*-pe | thumb-*-pe) fmt=coff em=pe ;; arm-*-riscix*) fmt=aout em=riscix ;; + avr-*-*) fmt=elf bfd_gas=yes ;; + + cris-*-*) fmt=multi bfd_gas=yes ;; + d10v-*-*) fmt=elf bfd_gas=yes ;; d30v-*-*) fmt=elf bfd_gas=yes ;; fr30-*-*) fmt=elf bfd_gas=yes ;; + hppa-*-linux-gnu*) case ${cpu} in + hppa*64*) + fmt=elf em=hppalinux64;; + hppa*) + fmt=elf em=linux;; + esac ;; hppa-*-*elf*) fmt=elf em=hppa ;; - hppa-*-linux-gnu*) fmt=elf em=hppa ;; hppa-*-lites*) fmt=elf em=hppa ;; hppa-*-osf*) fmt=som em=hppa ;; hppa-*-rtems*) fmt=elf em=hppa ;; + hppa-*-hpux11*) case ${cpu} in + hppa*64*) + fmt=elf em=hppa64 ;; + hppa*) + fmt=som em=hppa ;; + esac ;; hppa-*-hpux*) fmt=som em=hppa ;; hppa-*-mpeix*) fmt=som em=hppa ;; hppa-*-bsd*) fmt=som em=hppa ;; hppa-*-hiux*) fmt=som em=hppa ;; + h8300-*-rtems*) fmt=coff ;; h8300-*-coff) fmt=coff ;; + i370-*-elf* | i370-*-linux*) fmt=elf ;; i386-ibm-aix*) fmt=coff em=i386aix ;; i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;; i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;; @@ -186,12 +244,14 @@ changequote([,])dnl i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;; i386-*-linux*coff*) fmt=coff em=linux ;; i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; + x86_64-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; i386-*-lynxos*) fmt=coff em=lynx ;; - i386-*-sysv4* | i386-*-solaris* | i386-*-elf) +changequote(,)dnl + i386-*-sysv[45]* | i386-*-solaris* | i386-*-elf) fmt=elf bfd_gas=yes ;; i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12]) fmt=aout em=386bsd ;; - i386-*-freebsd*) fmt=elf bfd_gas=yes ;; +changequote([,])dnl i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*) fmt=coff ;; i386-*-sco3.2v5*) fmt=elf @@ -203,7 +263,9 @@ changequote([,])dnl i386-*-sco3.2*) fmt=coff ;; i386-*-vsta) fmt=aout ;; i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*) - fmt=coff em=go32;; + fmt=coff em=go32 bfd_gas=yes + AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?]) + ;; i386-*-rtemself*) fmt=elf ;; i386-*-rtems*) fmt=coff ;; i386-*-gnu*) fmt=elf ;; @@ -211,12 +273,16 @@ changequote([,])dnl fmt=aout em=mach bfd_gas=yes ;; i386-*-msdos*) fmt=aout ;; i386-*-moss*) fmt=elf ;; - i386-*-pe) fmt=coff em=pe ;; + i386-*-pe) fmt=coff em=pe bfd_gas=yes ;; i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;; i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;; i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;; - i386-*-*nt*) fmt=coff em=pe ;; + i386-*-*nt*) fmt=coff em=pe bfd_gas=yes ;; i386-*-vxworks*) fmt=aout ;; + i386-*-chaos) fmt=elf ;; + i860-stardent-sysv4* | i860-stardent-elf*) + fmt=elf bfd_gas=yes endian=little + AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) ;; i960-*-bout) fmt=bout ;; i960-*-coff) fmt=coff em=ic960 ;; i960-*-rtems*) fmt=coff em=ic960 ;; @@ -227,8 +293,15 @@ changequote([,])dnl i960-*-vxworks*) fmt=bout ;; i960-*-elf*) fmt=elf ;; + ia64-*-elf*) fmt=elf ;; + ia64-*-aix*) fmt=elf em=ia64aix ;; + ia64-*-linux-gnu*) fmt=elf em=linux ;; + ia64-*-hpux*) fmt=elf em=hpux ;; + m32r-*-*) fmt=elf bfd_gas=yes ;; + m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)fmt=elf bfd_gas=yes ;; + m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*) fmt=aout em=sun3 ;; m68k-motorola-sysv*) fmt=coff em=delta ;; @@ -265,11 +338,13 @@ changequote([,])dnl mips-*-osf*) fmt=ecoff endian=little ;; mips-*-ecoff*) fmt=ecoff ;; mips-*-ecoff*) fmt=ecoff ;; + mips-*-pe*) fmt=coff endian=little em=pe ;; mips-*-irix6*) fmt=elf ;; mips-*-irix5*) fmt=elf ;; mips-*-irix*) fmt=ecoff ;; mips-*-lnews*) fmt=ecoff em=lnews ;; mips-*-riscos*) fmt=ecoff ;; + mips-*-sysv4*MP*) fmt=elf em=tmips ;; mips-*-sysv*) fmt=ecoff ;; mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*) fmt=elf ;; @@ -307,16 +382,23 @@ changequote([,])dnl ppc-*-netware*) fmt=elf em=ppcnw ;; ppc-*-vxworks*) fmt=elf ;; + s390x-*-linux-gnu*) fmt=elf em=linux ;; + s390-*-linux-gnu*) fmt=elf em=linux ;; + + sh-*-linux*) fmt=elf em=linux ;; sh-*-elf*) fmt=elf ;; - sh-*-coff*) fmt=coff ;; + sh-*-coff*) fmt=coff bfd_gas=yes;; + sh-*-pe*) fmt=coff em=pe bfd_gas=yes;; sh-*-rtemself*) fmt=elf ;; - sh-*-rtems*) fmt=coff ;; + sh-*-rtems*) fmt=coff bfd_gas=yes;; ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;; ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;; - sparc-*-rtems*) fmt=aout ;; + sparc-*-rtemsaout*) fmt=aout ;; + sparc-*-rtemself*) fmt=elf ;; + sparc-*-rtems*) fmt=elf ;; sparc-*-sunos4*) fmt=aout em=sun3 ;; sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;; @@ -327,14 +409,26 @@ changequote([,])dnl sparc-fujitsu-none) fmt=aout ;; sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*) fmt=elf ;; - sparc-*-netbsd*) fmt=aout em=nbsd ;; + sparc-*-netbsd*) em=nbsd bfd_gas=yes + case ${cpu} in + sparc) case ${os} in + *elf*) fmt=elf ;; + *) fmt=aout ;; + esac ;; + sparc64) fmt=elf ;; + esac + ;; sparc-*-openbsd*) fmt=aout em=nbsd ;; strongarm-*-coff) fmt=coff ;; strongarm-*-elf) fmt=elf ;; + xscale-*-coff) fmt=coff ;; + xscale-*-elf) fmt=elf ;; tic30-*-*aout*) fmt=aout bfd_gas=yes ;; tic30-*-*coff*) fmt=coff bfd_gas=yes ;; + tic54x-*-* | c54x*-*-*) + fmt=coff bfd_gas=yes need_libm=yes;; tic80-*-*) fmt=coff ;; v850-*-*) fmt=elf bfd_gas=yes ;; @@ -353,6 +447,7 @@ changequote([,])dnl *-*-aout | *-*-scout) fmt=aout ;; + *-*-freebsd*) fmt=elf bfd_gas=yes ;; *-*-nindy*) fmt=bout ;; *-*-bsd*) @@ -385,17 +480,21 @@ changequote([,])dnl arm-*) bfd_gas=yes ;; # not yet # i386-aout) bfd_gas=preferred ;; + ia64*-*) bfd_gas=yes ;; mips-*) bfd_gas=yes ;; ns32k-*) bfd_gas=yes ;; + pdp11-*) bfd_gas=yes ;; ppc-*) bfd_gas=yes ;; sparc-*) bfd_gas=yes ;; strongarm-*) bfd_gas=yes ;; + xscale-*) bfd_gas=yes ;; *-elf) bfd_gas=yes ;; *-ecoff) bfd_gas=yes ;; *-som) bfd_gas=yes ;; - #enable bfd for coff to allow testing if a bfd target is the primary target, - #but not for coff as the primary target + #enable bfd for coff and aout to allow testing if a bfd target is + #the primary target, but not for coff or aout as the primary target i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;; + i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;; *) ;; esac @@ -434,6 +533,12 @@ changequote([,])dnl esac ;; + s390) + if test $this_target = $target ; then + AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.]) + fi + ;; + mips) echo ${extra_objects} | grep -s "itbl-parse.o" if test $? -ne 0 ; then @@ -451,6 +556,11 @@ changequote([,])dnl fi ;; + i386) + if test $this_target = $target ; then + AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.]) + fi + ;; sparc) if test $this_target = $target ; then AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.]) @@ -500,22 +610,50 @@ changequote([,])dnl big) emulation="mipsbelf mipslelf mipself" ;; *) emulation="mipslelf mipsbelf mipself" ;; esac ;; - i386-*-elf) emulation="i386elf" ;; + mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;; + # i386-pc-pe-coff != i386-pc-coff. + i386-*-pe-coff) ;; + # Uncommenting the next line will turn on support for i386 AOUT + # for the default linux configuration + # i386-*-linux*-elf) emulation="i386elf i386aout" ;; + # + i386-*-aout) emulation="i386aout" ;; i386-*-coff) emulation="i386coff" ;; - # Uncommenting the next line will turn on support for i386 COFF - # in any i386 ELF configuration. - # i386-*-*-elf) emulation="i386elf i386coff" ;; + i386-*-elf) emulation="i386elf" ;; + + # Always all formats. Having a.out first makes it the default. + cris-*-*) emulation="crisaout criself" ;; esac emulations="$emulations $emulation" done +# Turn on all targets if possible +if test ${all_targets} = "yes"; then + case ${target_cpu_type} in + i386) + case ${obj_format} in + aout) + emulations="$emulations i386coff i386elf" + ;; + coff) + emulations="$emulations i386aout i386elf" + ;; + elf) + emulations="$emulations i386aout i386coff" + ;; + esac + ;; + esac +fi + # Assign floating point type. Most processors with FP support # IEEE FP. On those that don't support FP at all, usually IEEE # is emulated. case ${target_cpu} in vax | tahoe ) atof=${target_cpu} ;; + pdp11) atof=vax ;; *) atof=ieee ;; esac @@ -596,14 +734,16 @@ GAS_UNIQ(emulations) for em in . $emulations ; do case $em in .) continue ;; - mipsbelf | mipslelf) + mipsbelf | mipslelf | mipself) fmt=elf file=mipself ;; - mipsbecoff | mipslecoff) + mipsbecoff | mipslecoff | mipsecoff) fmt=ecoff file=mipsecoff ;; - i386coff) - fmt=coff file=i386coff ;; - i386elf) - fmt=elf file=i386elf ;; + *coff) + fmt=coff file=$em ;; + *aout) + fmt=aout file=$em ;; + *elf) + fmt=elf file=$em ;; esac formats="$formats $fmt" emfiles="$emfiles e-$file.o" @@ -636,7 +776,6 @@ if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then # USE_EMULATIONS or include any of the e-files as they will only be bloat. case "${obj_format}${emfiles}" in multi* | *mips*) - te_file=multi extra_objects="$extra_objects $emfiles" AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;; esac @@ -732,6 +871,14 @@ AC_CHECK_FUNCS(unlink remove, break) # Some systems don't have sbrk(). AC_CHECK_FUNCS(sbrk) +# do we need the math library? +case "${need_libm}" in +yes) + AC_CHECK_LIBM + AC_SUBST(LIBM) + ;; +esac + # Some non-ANSI preprocessors botch requoting inside strings. That's bad # enough, but on some of those systems, the assert macro relies on requoting # working properly!