X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfigure.in;h=a0592d199579f5933089ff265976d87f953a9030;hb=3aeeedbb71f648211ae2efde0d0cf4b24abcefe1;hp=8b03dec7de338f0ad1e5976bcdaa4b9613c531af;hpb=29589b0c5207464440e008f4fd93e8cff1a0be49;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/configure.in b/gas/configure.in index 8b03dec7de..a0592d1995 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -5,9 +5,13 @@ dnl brackets, be sure changequote invocations surround it. dnl dnl dnl v2.5 needed for --bindir et al -AC_PREREQ(2.13) +AC_PREREQ(2.57) AC_INIT(as.h) +dnl Autoconf 2.57 will find the aux dir without this. However, unless +dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in +dnl gas/ instead of gas/../. +AC_CONFIG_AUX_DIR(..) AC_CANONICAL_SYSTEM AC_ISC_POSIX @@ -18,16 +22,8 @@ AM_INIT_AUTOMAKE(gas, ${BFD_VERSION}) AM_PROG_LIBTOOL -user_bfd_gas= -AC_ARG_ENABLE(bfd-assembler, -[ --enable-bfd-assembler use BFD back end for writing object files], -[case "${enableval}" in - yes) need_bfd=yes user_bfd_gas=yes ;; - no) user_bfd_gas=no ;; - *) AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;; -esac])dnl AC_ARG_ENABLE(targets, -[ targets alternative target configurations besides the primary], +[ --enable-targets alternative target configurations besides the primary], [case "${enableval}" in yes | "") AC_ERROR(enable-targets option must specify target names or 'all') ;; @@ -44,40 +40,28 @@ esac])dnl using_cgen=no -build_warnings="-W -Wall -Wstrict-prototypes -Wmissing-prototypes" -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) +AM_BINUTILS_WARNINGS # Generate a header file AM_CONFIG_HEADER(config.h:config.in) # If we are on a DOS filesystem, we must use gdb.ini rather than # .gdbinit. -GDBINIT=".gdbinit" case "${host}" in - *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*) + *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*) GDBINIT="gdb.ini" + AC_CONFIG_FILES(gdb.ini:gdbinit.in) + ;; + *) + GDBINIT=".gdbinit" + AC_CONFIG_FILES(.gdbinit:gdbinit.in) ;; esac AC_SUBST(GDBINIT) +#We need this for the host. BOUT header is in host order. +AC_C_BIGENDIAN + te_file=generic # Makefile target for installing gas in $(tooldir)/bin. @@ -106,55 +90,14 @@ emulations="" for this_target in $target $canon_targets ; do -changequote(,)dnl - eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` -changequote([,])dnl + targ=${this_target} + . ${srcdir}/configure.tgt - # check for architecture variants - arch= - endian= - case ${cpu} in - alpha*) cpu_type=alpha ;; - armeb) cpu_type=arm endian=big ;; - arm*) cpu_type=arm endian=little ;; - 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[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 ;; - m683??) cpu_type=m68k ;; - m5200) cpu_type=m68k ;; - m8*) cpu_type=m88k ;; - mips*el) cpu_type=mips endian=little ;; - mips*) cpu_type=mips endian=big ;; - or32*) cpu_type=or32 endian=big ;; - pjl*) cpu_type=pj endian=little ;; - pj*) cpu_type=pj endian=big ;; - powerpc*le*) 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 ;; - sh64*) cpu_type=sh64 endian=big;; - sh*le) cpu_type=sh endian=little ;; - sh*) cpu_type=sh endian=big ;; - sparclite*) cpu_type=sparc arch=sparclite ;; - sparclet*) cpu_type=sparc arch=sparclet ;; - sparc64*) cpu_type=sparc arch=v9-64 ;; - sparc86x*) cpu_type=sparc arch=sparc86x ;; - sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c. - v850*) cpu_type=v850 ;; - *) cpu_type=${cpu} ;; + case ${target_cpu} in + crisv32) + AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch, + [Default CRIS architecture.]) + ;; esac if test ${this_target} = $target ; then @@ -163,342 +106,53 @@ changequote([,])dnl continue fi - generic_target=${cpu_type}-$vendor-$os - dev=no - bfd_gas=no - em=generic - mips_stabs_elf= - - # assign object format + generic_target=${cpu_type}-${target_vendor}-${target_os} case ${generic_target} in - a29k-*-coff) fmt=coff ;; - 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 ;; - alpha*-*-netware*) fmt=ecoff ;; - alpha*-*-openbsd*) fmt=ecoff ;; - alpha*-*-osf*) fmt=ecoff ;; - alpha*-*-linuxecoff*) fmt=ecoff ;; - alpha*-*-linux-gnu*) fmt=elf em=linux ;; - alpha*-*-netbsd*) fmt=elf em=nbsd ;; - - arc-*-elf*) fmt=elf bfd_gas=yes ;; - - 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-gnu* | arm*-*-uclinux*) - fmt=elf em=linux ;; - arm-*-netbsdelf*) fmt=elf em=nbsd ;; - arm-*-netbsd* | arm-*-openbsd*) 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 ;; - arm-*-vxworks) fmt=coff ;; - - 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-*-lites*) fmt=elf em=hppa ;; - hppa-*-netbsd*) fmt=elf em=nbsd ;; - 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 ;; - h8300-*-elf) fmt=elf ;; - h8500-*-rtems*) fmt=coff ;; - h8500-*-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 ;; - i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;; - i386-*-bsd*) fmt=aout em=386bsd ;; - i386-*-netbsd0.8) fmt=aout em=386bsd ;; - i386-*-netbsdpe*) fmt=coff em=pe bfd_gas=yes ;; - i386-*-netbsd*) em=nbsd bfd_gas=yes - case ${cpu} in - x86_64) fmt=elf ;; - *) case ${os} in - *elf*) fmt=elf ;; - *) fmt=aout ;; - esac - ;; - esac - ;; - i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;; - i386-*-linux*aout* | i386-*-linux*oldld) 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 ;; -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 ;; -changequote([,])dnl - i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*) - fmt=coff ;; - i386-*-sco3.2v5*) fmt=elf - if test ${this_target} = $target; then - AC_DEFINE(SCO_ELF, 1, - [Define if defaulting to ELF on SCO 5.]) - fi - ;; - i386-*-sco3.2*) fmt=coff ;; - i386-*-vsta) fmt=aout ;; - i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*) - fmt=coff em=go32 bfd_gas=yes - AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?]) - ;; - i386-*-rtemself*) fmt=elf ;; - i386-*-rtemscoff*) fmt=coff ;; - i386-*-rtems*) fmt=elf ;; - i386-*-gnu*) fmt=elf ;; - i386-*-mach*) - fmt=aout em=mach bfd_gas=yes ;; - i386-*-msdos*) fmt=aout ;; - i386-*-moss*) fmt=elf ;; - 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 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 ;; - i960-*-nindy*) fmt=bout ;; - i960-*-vxworks4*) fmt=bout ;; - i960-*-vxworks5.0) fmt=bout ;; - i960-*-vxworks5.*) fmt=coff em=ic960 ;; - 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 ;; - ia64-*-netbsd*) fmt=elf em=nbsd ;; - - 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 ;; - m68k-bull-sysv3*) fmt=coff em=dpx2 ;; - m68k-apollo-*) fmt=coff em=apollo ;; - m68k-*-sysv4*) # must be before -sysv* - fmt=elf em=svr4 ;; - m68k-*-elf*) fmt=elf ;; - m68k-*-coff | m68k-*-sysv* | m68k-*-rtemscoff*) - fmt=coff ;; - m68k-*-rtems*) fmt=elf ;; - m68k-*-hpux*) fmt=hp300 em=hp300 ;; - m68k-*-linux*aout*) fmt=aout em=linux ;; - m68k-*-linux-gnu*) fmt=elf em=linux ;; - m68k-*-gnu*) fmt=elf ;; - m68k-*-lynxos*) fmt=coff em=lynx ;; - m68k-*-netbsdelf*) fmt=elf em=nbsd bfd_gas=yes ;; - m68k-*-netbsdaout* | m68k-*-netbsd*) - fmt=aout em=nbsd bfd_gas=yes ;; - m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;; - m68k-apple-aux*) fmt=coff em=aux ;; - m68k-*-psos*) fmt=elf em=psos;; - - m88k-motorola-sysv3*) fmt=coff em=delt88 ;; - m88k-*-coff*) fmt=coff ;; - - mcore-*-elf) fmt=elf bfd_gas=yes ;; - mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;; - - # don't change em like *-*-bsd does - mips-dec-openbsd*) fmt=elf endian=little ;; - mips-dec-bsd*) fmt=aout endian=little ;; - mips-sony-bsd*) fmt=ecoff ;; - mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;; - mips-*-ultrix*) fmt=ecoff endian=little ;; - mips-*-osf*) fmt=ecoff endian=little ;; - 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*-*-linux*) fmt=elf em=tmips mips_stabs_elf=y ;; - mips-*-sysv4*MP* | mips-*-gnu*) - fmt=elf em=tmips ;; - mips-*-sysv*) fmt=ecoff ;; - mips-*-elf* | mips-*-rtems* | mips-*-netbsd* | mips-*-openbsd*) - fmt=elf ;; - mips-*-vxworks*) fmt=elf mips_stabs_elf=y ;; - mmix-*-*) fmt=elf bfd_gas=yes ;; - mn10200-*-*) fmt=elf bfd_gas=yes ;; - mn10300-*-*) fmt=elf bfd_gas=yes ;; - openrisc-*-*) fmt=elf bfd_gas=yes ;; - or32-*-rtems*) fmt=coff ;; - or32-*-coff) fmt=coff ;; - or32-*-elf) fmt=elf ;; - pj*) fmt=elf ;; - ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*) - fmt=coff em=pe ;; - ppc-*-aix5*) fmt=coff em=aix5 ;; - ppc-*-aix*) fmt=coff ;; - ppc-*-beos*) fmt=coff ;; - ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*) - fmt=elf ;; - ppc-*-linux-gnu*) fmt=elf - case "$endian" in - big) ;; - *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;; - esac - ;; - ppc-*-solaris*) fmt=elf - if test ${this_target} = $target; then - AC_DEFINE(TARGET_SOLARIS_COMMENT, 1, - [Define if default target is PowerPC Solaris.]) - fi - if test x${endian} = xbig; then - AC_MSG_ERROR(Solaris must be configured little endian) - fi - ;; - ppc-*-rtems*) fmt=elf ;; - ppc-*-macos* | ppc-*-mpw*) - fmt=coff em=macos ;; - ppc-*-netware*) fmt=elf em=ppcnw ;; - ppc-*-vxworks*) fmt=elf ;; - ppc-*-windiss*) fmt=elf ;; - - s390x-*-linux-gnu*) fmt=elf em=linux ;; - s390-*-linux-gnu*) fmt=elf em=linux ;; - - sh*-*-linux*) fmt=elf em=linux - case ${cpu} in - sh*eb) - endian=big ;; - sh*) - endian=little ;; - esac ;; - sh*-*-netbsdelf*) fmt=elf em=nbsd ;; - sh-*-elf*) fmt=elf ;; - sh-*-coff*) fmt=coff ;; - sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;; - sh-*-rtemself*) fmt=elf ;; - sh-*-rtems*) fmt=coff ;; - - sh64-*-elf*) fmt=elf ;; - 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-*-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 ;; - sparc-*-coff) fmt=coff ;; - sparc-*-linux*aout*) fmt=aout em=linux ;; - sparc-*-linux-gnu*) fmt=elf em=linux ;; - sparc-*-lynxos*) fmt=coff em=lynx ;; - sparc-fujitsu-none) fmt=aout ;; - sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*) - fmt=elf ;; - 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 ;; - v850e-*-*) fmt=elf bfd_gas=yes ;; - v850ea-*-*) fmt=elf bfd_gas=yes ;; - - vax-*-bsd* | vax-*-ultrix*) - fmt=aout ;; - vax-*-vms) fmt=vms ;; - - w65-*-*) fmt=coff ;; - - xstormy16-*-*) fmt=elf bfd_gas=yes ;; - - z8k-*-coff | z8k-*-sim) - fmt=coff ;; - - *-*-aout | *-*-scout) - fmt=aout ;; - *-*-freebsd*) fmt=elf em=freebsd bfd_gas=yes ;; - *-*-nindy*) - fmt=bout ;; - *-*-bsd*) - fmt=aout em=sun3 ;; - *-*-generic) fmt=generic ;; - *-*-xray | *-*-hms) fmt=coff ;; - *-*-sim) fmt=coff ;; - *-*-elf | *-*-sysv4* | *-*-solaris*) - AC_MSG_WARN(GAS support for ${generic_target} is incomplete.) - fmt=elf dev=yes ;; - *-*-vxworks) fmt=aout ;; - *-*-netware) fmt=elf ;; + i386-*-sco3.2v5*) + if test ${this_target} = $target; then + AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.]) + fi + ;; + + i386-*-msdosdjgpp* \ + | i386-*-go32* \ + | i386-go32-rtems*) + AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?]) + ;; + + i860-*-*) + AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) + ;; + + mips-sony-bsd*) + ;; + mips-*-bsd*) + AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) + ;; + + ppc-*-aix5.*) + AC_DEFINE(AIX_WEAK_SUPPORT, 1, + [Define if using AIX 5.2 value for C_WEAKEXT.]) + ;; + ppc-*-linux-*) + case "$endian" in + big) ;; + *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;; + esac + ;; + ppc-*-solaris*) + if test ${this_target} = $target; then + AC_DEFINE(TARGET_SOLARIS_COMMENT, 1, + [Define if default target is PowerPC Solaris.]) + fi + if test x${endian} = xbig; then + AC_MSG_ERROR(Solaris must be configured little endian) + fi + ;; + + sh*-*-symbianelf*) + AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.]) + ;; esac if test ${this_target} = $target ; then @@ -514,36 +168,94 @@ changequote([,])dnl fi fi - if test x${mips_stabs_elf} != x; then - AC_DEFINE(MIPS_STABS_ELF, 1, - [Use ELF stabs for MIPS, not ECOFF stabs]) - fi +# Other random stuff. - case ${cpu_type}-${fmt} in - alpha*-*) bfd_gas=yes ;; - 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 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 ;; - *) ;; + case ${cpu_type} in + mips) + # Set mips_cpu to the name of the default CPU. + case ${target_cpu} in + mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el) + mips_cpu=from-abi + ;; + mipsisa32 | mipsisa32el) + mips_cpu=mips32 + ;; + mipsisa32r2 | mipsisa32r2el) + mips_cpu=mips32r2 + ;; + mipsisa64 | mipsisa64el) + mips_cpu=mips64 + ;; + mipsisa64r2 | mipsisa64r2el) + mips_cpu=mips64r2 + ;; + mipstx39 | mipstx39el) + mips_cpu=r3900 + ;; + mips64vr | mips64vrel) + mips_cpu=vr4100 + ;; + mipsisa32r2* | mipsisa64r2*) +changequote(,)dnl + mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'` +changequote([,])dnl + ;; + mips64* | mipsisa64* | mipsisa32*) +changequote(,)dnl + mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'` +changequote([,])dnl + ;; + *) + AC_ERROR($target_cpu isn't a supported MIPS CPU name) + ;; + esac + # See whether it's appropriate to set E_MIPS_ABI_O32 for o32 + # binaries. It's a GNU extension that some OSes don't understand. + # The value only matters on ELF targets. + case ${target} in + *-*-irix*) + use_e_mips_abi_o32=0 + ;; + *) + use_e_mips_abi_o32=1 + ;; + esac + # Decide whether to generate 32-bit or 64-bit code by default. + # Used to resolve -march=from-abi when an embedded ABI is selected. + case ${target} in + mips64*-*-* | mipsisa64*-*-*) + mips_default_64bit=1 + ;; + *) + mips_default_64bit=0 + ;; + esac + # Decide which ABI to target by default. + case ${target} in + mips64*-linux* | mips-sgi-irix6*) + mips_default_abi=N32_ABI + ;; + mips*-linux*) + mips_default_abi=O32_ABI + ;; + mips64*-openbsd*) + mips_default_abi=N64_ABI + ;; + *) + mips_default_abi=NO_ABI + ;; + esac + AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu", + [Default CPU for MIPS targets. ]) + AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32, + [Allow use of E_MIPS_ABI_O32 on MIPS targets. ]) + AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit, + [Generate 64-bit code by default on MIPS targets. ]) + AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi, + [Choose a default ABI for MIPS targets. ]) + ;; esac -# Other random stuff. - # Do we need the opcodes library? case ${cpu_type} in vax | i386 | tic30) @@ -557,19 +269,34 @@ changequote([,])dnl *opcodes*) shared_opcodes=true ;; *) shared_opcodes=false ;; esac - if test "${shared_opcodes}" = "true"; then - # A shared libopcodes must be linked against libbfd. - need_bfd=yes - fi ;; esac # Any other special object files needed ? case ${cpu_type} in - fr30 | m32r | openrisc) + + bfin) + echo ${extra_objects} | grep -s "bfin-parse.o" + if test $? -ne 0 ; then + extra_objects="$extra_objects bfin-parse.o" + fi + + echo ${extra_objects} | grep -s "bfin-lex.o" + if test $? -ne 0 ; then + extra_objects="$extra_objects bfin-lex.o" + fi + ;; + + fr30 | ip2k | iq2000 | m32r | openrisc) using_cgen=yes ;; + m32c) + using_cgen=yes + ;; + frv) + using_cgen=yes + ;; m68k) case ${extra_objects} in *m68k-parse.o*) ;; @@ -578,22 +305,26 @@ changequote([,])dnl ;; mips) - echo ${extra_objects} | grep -s "itbl-parse.o" + echo ${extra_objects} | grep -s "itbl-parse.o" if test $? -ne 0 ; then extra_objects="$extra_objects itbl-parse.o" fi - echo ${extra_objects} | grep -s "itbl-lex.o" + echo ${extra_objects} | grep -s "itbl-lex.o" if test $? -ne 0 ; then extra_objects="$extra_objects itbl-lex.o" fi - echo ${extra_objects} | grep -s "itbl-ops.o" + echo ${extra_objects} | grep -s "itbl-ops.o" if test $? -ne 0 ; then extra_objects="$extra_objects itbl-ops.o" fi ;; + mt) + using_cgen=yes + ;; + i386 | s390 | sparc) if test $this_target = $target ; then AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.]) @@ -604,6 +335,17 @@ changequote([,])dnl using_cgen=yes ;; + xc16x) + using_cgen=yes + ;; + + xtensa) + echo ${extra_objects} | grep -s "xtensa-relax.o" + if test $? -ne 0 ; then + extra_objects="$extra_objects xtensa-relax.o" + fi + ;; + *) ;; esac @@ -618,17 +360,8 @@ changequote([,])dnl # See if we really can support this configuration with the emulation code. if test $this_target = $target ; then - primary_bfd_gas=$bfd_gas obj_format=$fmt te_file=$em - - if test $bfd_gas = no ; then - # Can't support other configurations this way. - break - fi - elif test $bfd_gas = no ; then - # Can't support this configuration. - break fi # From target name and format, produce a list of supported emulations. @@ -684,6 +417,19 @@ if test ${all_targets} = "yes"; then ;; esac ;; + x86_64) + case ${obj_format} in + aout) + emulations="$emulations i386coff i386elf" + ;; + coff) + emulations="$emulations i386aout i386elf" + ;; + elf) + emulations="$emulations i386aout i386coff" + ;; + esac + ;; esac fi @@ -691,8 +437,7 @@ fi # 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 ;; + vax | pdp11 ) atof=vax ;; *) atof=ieee ;; esac @@ -722,27 +467,6 @@ if test ! -r ${srcdir}/config/obj-${obj_format}.c; then AC_MSG_ERROR(GAS does not have support for object file format ${obj_format}) fi -case ${user_bfd_gas}-${primary_bfd_gas} in - yes-yes | no-no) - # We didn't override user's choice. - ;; - no-yes) - AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.) - ;; - no-preferred) - primary_bfd_gas=no - ;; - *-preferred) - primary_bfd_gas=yes - ;; - yes-*) - primary_bfd_gas=yes - ;; - -*) - # User specified nothing. - ;; -esac - # Some COFF configurations want these random other flags set. case ${obj_format} in coff) @@ -750,13 +474,14 @@ case ${obj_format} in i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;; m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;; m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;; + x86_64) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;; esac ;; esac # Getting this done right is going to be a bitch. Each configuration specified -# with --enable-targets=... should be checked for environment, format, cpu, and -# bfd_gas setting. +# with --enable-targets=... should be checked for environment, format, cpu +# setting. # # For each configuration, the necessary object file support code must be linked # in. This might be only one, it might be up to four. The necessary emulation @@ -799,10 +524,7 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;; elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;; generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;; - hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;; - ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;; som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;; - vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;; esac extra_objects="$extra_objects obj-$fmt.o" done @@ -824,12 +546,6 @@ AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.]) AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION", [Default emulation.]) -case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in - yes-*-coff) need_bfd=yes ;; - no-*-coff) need_bfd=yes - AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;; -esac - reject_dev_configs=yes case ${reject_dev_configs}-${dev} in @@ -845,11 +561,6 @@ AC_SUBST(install_tooldir) AC_SUBST(atof) dnl AC_SUBST(emulation) -case "${primary_bfd_gas}" in - yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?]) - need_bfd=yes ;; -esac - # do we need the opcodes library? case "${need_opcodes}" in yes) @@ -857,18 +568,8 @@ yes) ;; esac -case "${need_bfd}" in -yes) - BFDLIB=../bfd/libbfd.la - ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h' - ;; -esac - -AC_SUBST(BFDLIB) AC_SUBST(OPCODES_LIB) -AC_SUBST(ALL_OBJ_DEPS) - AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.]) AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.]) AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.]) @@ -880,8 +581,9 @@ AC_PROG_CC AC_PROG_YACC AM_PROG_LEX -ALL_LINGUAS="fr tr es" -CY_GNU_GETTEXT +ALL_LINGUAS="fr tr es rw" +ZW_GNU_GETTEXT_SISTER_DIR +AM_PO_SUBDIRS AM_MAINTAINER_MODE AC_EXEEXT @@ -912,7 +614,7 @@ AC_CHECK_FUNCS(sbrk) # do we need the math library? case "${need_libm}" in -yes) +yes) AC_CHECK_LIBM AC_SUBST(LIBM) ;; @@ -944,11 +646,6 @@ gas_test_headers=" #include #endif " -GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers) -GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers) -GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers) -GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers) -GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers) # Does errno.h declare errno, or do we have to add a separate declaration # for it? @@ -958,6 +655,32 @@ GAS_CHECK_DECL_NEEDED(errno, f, int f, [ #endif ]) +AC_MSG_CHECKING(for a known getopt prototype in unistd.h) +AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h, +[AC_TRY_COMPILE([#include ], [extern int getopt (int, char *const*, const char *);], +gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)]) +AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h) +if test $gas_cv_decl_getopt_unistd_h = yes; then + AC_DEFINE([HAVE_DECL_GETOPT], 1, + [Is the prototype for getopt in in the expected format?]) +fi + +GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers) +GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers) +GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers) +GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers) +GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers) +GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers) + +AC_CHECK_DECLS([vsnprintf]) + +BFD_BINARY_FOPEN + +dnl Required for html and install-html targets. +AC_SUBST(datarootdir) +AC_SUBST(docdir) +AC_SUBST(htmldir) + dnl This must come last. dnl We used to make symlinks to files in the source directory, but now @@ -966,7 +689,8 @@ dnl the build directory which include the right .h file. Make sure dnl the old symlinks don't exist, so that a reconfigure in an existing dnl directory behaves reasonably. -AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in, +AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in) +AC_CONFIG_COMMANDS([default], [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h @@ -974,10 +698,10 @@ AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in, echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h if test "x$cgen_cpu_prefix" != x ; then echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h - fi - - sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile], + fi], [target_cpu_type=${target_cpu_type} cgen_cpu_prefix=${cgen_cpu_prefix} obj_format=${obj_format} te_file=${te_file}]) + +AC_OUTPUT