Add MMIX support
[deliverable/binutils-gdb.git] / gas / configure.in
index 40f828374ee337e8497e33c3abc97517116b4711..956085547717d0cd4322eb9c22507ea6f1010e33 100644 (file)
@@ -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,7 +44,7 @@ esac])dnl
 
 using_cgen=no
 
-build_warnings="-W -Wall"
+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
@@ -116,12 +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 ;;
@@ -132,9 +139,12 @@ changequote([,])dnl
       mips*)           cpu_type=mips endian=big ;;
       pjl*)            cpu_type=pj endian=little ;;
       pj*)             cpu_type=pj endian=big ;;
-      powerpcle*)      cpu_type=ppc endian=little ;;
+      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 ;;
+      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 ;;
@@ -154,6 +164,7 @@ changequote([,])dnl
     dev=no
     bfd_gas=no
     em=generic
+    mips_stabs_elf=
 
     # assign object format
     case ${generic_target} in
@@ -161,6 +172,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 ;;
@@ -175,46 +187,56 @@ 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-gnu*)               fmt=elf  em=linux ;;
-      arm-*-netbsd*)                   fmt=aout em=nbsd ;;
+      arm*-*-linux-gnu* | arm*-*-uclinux*)     
+                                       fmt=elf  em=linux ;;
+      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-*-linux-gnu*)    fmt=elf em=hppa ;;
       hppa-*-lites*)        fmt=elf em=hppa ;;
       hppa-*-osf*)          fmt=som em=hppa ;;
       hppa-*-rtems*)        fmt=elf em=hppa ;;
-# Disabled until configury issues are sorted out across the various
-# projects
-#      hppa-*-hpux11*)     em=hppa
-#                          case ${cpu} in
-#                              hppa*w)
-#                                      fmt=elf;;
-#                              hppa*)
-#                                      fmt=som;;
-#                          esac
-#                          ;;
+      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 ;;
@@ -223,17 +245,20 @@ changequote([,])dnl
       i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
       i386-*-bsd*)          fmt=aout em=386bsd ;;
       i386-*-netbsd0.8)     fmt=aout em=386bsd ;;
+      i386-*-netbsdelf*)    fmt=elf em=nbsd bfd_gas=yes ;;
       i386-*-netbsd*)       fmt=aout em=nbsd bfd_gas=yes;;
       i386-*-openbsd*)      fmt=aout em=nbsd bfd_gas=yes;;
-      i386-*-linux*aout* | i386-*-linuxoldld)   fmt=aout em=linux ;;
+      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 ;;
-      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
@@ -245,9 +270,12 @@ 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-*-rtemscoff*)    fmt=coff ;;
+      i386-*-rtems*)        fmt=elf ;;
       i386-*-gnu*)          fmt=elf ;;
       i386-*-mach*)
                            fmt=aout em=mach bfd_gas=yes ;;
@@ -259,6 +287,10 @@ changequote([,])dnl
       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 ;;
@@ -270,10 +302,14 @@ changequote([,])dnl
       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 ;;
@@ -282,8 +318,9 @@ changequote([,])dnl
       m68k-*-sysv4*) # must be before -sysv*
                            fmt=elf em=svr4 ;;
       m68k-*-elf*)         fmt=elf ;;
-      m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
+      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 ;;
@@ -309,22 +346,23 @@ changequote([,])dnl
       mips-*-ultrix*)       fmt=ecoff endian=little ;;
       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*-*-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-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
+      mips-*-elf* | mips-*-rtems* | mips-*-openbsd*)
                            fmt=elf ;;
-      mips-*-vxworks*)      fmt=elf
-                           AC_DEFINE(MIPS_STABS_ELF, 1,
-                               [Use ELF stabs for MIPS, not ECOFF stabs])
-                           ;;
+      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 ;;
       pj*)                 fmt=elf ;;
       ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
                            fmt=coff em=pe ;;
@@ -353,17 +391,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-*-pe*)             fmt=coff em=pe bfd_gas=yes;;
+      sh-*-coff*)           fmt=coff bfd_gas=yes;;
+      sh-*-pe*)             fmt=coff em=pe bfd_gas=yes endian=little ;;
       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 ;;
@@ -387,9 +431,13 @@ changequote([,])dnl
 
       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 ;;
@@ -408,6 +456,7 @@ changequote([,])dnl
 
       *-*-aout | *-*-scout)
                            fmt=aout ;;
+      *-*-freebsd*)        fmt=elf em=freebsd bfd_gas=yes ;;
       *-*-nindy*)
                            fmt=bout ;;
       *-*-bsd*)
@@ -435,6 +484,11 @@ 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
+
     case ${cpu_type}-${fmt} in
       alpha*-*)        bfd_gas=yes ;;
       arm-*)   bfd_gas=yes ;;
@@ -443,9 +497,11 @@ changequote([,])dnl
       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 ;;
@@ -480,7 +536,7 @@ changequote([,])dnl
 
     # Any other special object files needed ?
     case ${cpu_type} in
-      fr30 | m32r)
+      fr30 | m32r | openrisc)
        using_cgen=yes
        ;;
 
@@ -508,7 +564,7 @@ changequote([,])dnl
        fi
        ;;
 
-      sparc)
+      i386 | s390 | sparc)
        if test $this_target = $target ; then
          AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
        fi
@@ -544,9 +600,9 @@ changequote([,])dnl
 
     case ${generic_target}-${fmt} in
       mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
-      mips-*-linux-gnu*-*) case "$endian" in
-                       big)    emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
-                       *)      emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
+      mips*-*-linux*-*) case "$endian" in
+                       big)    emulation="mipsbelf mipslelf mipself" ;;
+                       *)      emulation="mipslelf mipsbelf mipself" ;;
                        esac ;;
       mips-*-lnews*-ecoff) ;;
       mips-*-*-ecoff)  case "$endian" in
@@ -557,6 +613,9 @@ changequote([,])dnl
                        big)    emulation="mipsbelf mipslelf mipself" ;;
                        *)      emulation="mipslelf mipsbelf mipself" ;;
                        esac ;;
+      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" ;;
@@ -564,6 +623,10 @@ changequote([,])dnl
       i386-*-aout)     emulation="i386aout" ;;
       i386-*-coff)     emulation="i386coff" ;;
       i386-*-elf)      emulation="i386elf" ;;
+
+      # Always all formats.  The first stated emulation becomes the default.
+      cris-*-*aout*)   emulation="crisaout criself" ;;
+      cris-*-*)                emulation="criself crisaout" ;;
     esac
 
     emulations="$emulations $emulation"
@@ -594,6 +657,7 @@ fi
 # is emulated.
 case ${target_cpu} in
   vax | tahoe )        atof=${target_cpu} ;;
+  pdp11)       atof=vax ;;
   *)           atof=ieee ;;
 esac
 
@@ -674,16 +738,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 ;;
-    i386aout)
-       fmt=aout  file=i386aout ;;
-    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"
@@ -811,6 +875,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!
This page took 0.028571 seconds and 4 git commands to generate.