]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gas/configure.in
* config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
[thirdparty/binutils-gdb.git] / gas / configure.in
index 076969b63a53d82e97980d71869ebcbf1eb3563a..e24d0e4b615311d955b99010d42b0c737af15454 100644 (file)
@@ -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
 
@@ -70,10 +74,14 @@ 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* | *-*-windows*)
     GDBINIT="gdb.ini"
+    AC_CONFIG_FILES(gdb.ini:gdbinit.in)
+    ;;
+  *)
+    GDBINIT=".gdbinit"
+    AC_CONFIG_FILES(.gdbinit:gdbinit.in)
     ;;
 esac
 AC_SUBST(GDBINIT)
@@ -110,20 +118,26 @@ changequote(,)dnl
     eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
 changequote([,])dnl
 
-    # check for architecture variants
+    # Check for architecture variants.
+    # Note: This table is alpha-sorted, please try to keep it that way.
     arch=
     endian=
     case ${cpu} in
+      am33_2.0)                cpu_type=mn10300 endian=little ;;
       alpha*)          cpu_type=alpha ;;
+      arm*be|xscale*be|strongarm*be | \
       arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;;
       arm*|xscale*|strongarm*)    cpu_type=arm endian=little ;;
+      c4x*)            cpu_type=tic4x ;;
+      crx*)            cpu_type=crx endian=little ;;
       hppa*)           cpu_type=hppa ;;
 changequote(,)dnl
       i[3-7]86)                cpu_type=i386 arch=i386;;
-      x86_64)          cpu_type=i386 arch=x86_64;;
       ia64)            cpu_type=ia64 ;;
       ip2k)             cpu_type=ip2k endian=big ;; 
       iq2000)           cpu_type=iq2000 endian=big ;; 
+      m32r)             cpu_type=m32r target_cpu=m32r endian=big ;;
+      m32rle)           cpu_type=m32r target_cpu=m32r endian=little ;;
       m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
       m680[012346]0)   cpu_type=m68k ;;
 changequote([,])dnl
@@ -153,6 +167,7 @@ changequote([,])dnl
       sparc86x*)       cpu_type=sparc arch=sparc86x  ;;
       sparc*)          cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
       v850*)           cpu_type=v850 ;;
+      x86_64)          cpu_type=i386 arch=x86_64;;
       xtensa*)         cpu_type=xtensa arch=xtensa ;;
       *)               cpu_type=${cpu} ;;
     esac
@@ -168,7 +183,8 @@ changequote([,])dnl
     bfd_gas=no
     em=generic
 
-    # assign object format
+    # Assign object format.
+    # Note: This table is alpha-sorted, please try to keep it that way.
     case ${generic_target} in
       a29k-*-coff)                     fmt=coff ;;
       a29k-amd-udi)                    fmt=coff ;;
@@ -178,7 +194,6 @@ changequote([,])dnl
       a29k-*-vxworks*)                 fmt=coff ;;
 
       alpha*-*-*vms*)                  fmt=evax ;;
-      alpha*-*-netware*)               fmt=ecoff ;;
       alpha*-*-osf*)                   fmt=ecoff ;;
       alpha*-*-linuxecoff*)            fmt=ecoff ;;
       alpha*-*-linux-gnu*)             fmt=elf em=linux ;;
@@ -189,8 +204,10 @@ changequote([,])dnl
 
       arm-*-aout)                      fmt=aout ;;
       arm-*-coff | thumb-*-coff)       fmt=coff ;;
-      arm-*-rtems | thumb-*-rtems)     fmt=elf ;;
+      arm-*-rtems* | thumb-*-rtems*)   fmt=elf ;;
       arm-*-elf | thumb-*-elf)         fmt=elf ;;
+      arm*-*-eabi*)                     fmt=elf ;;
+      arm*-*-symbianelf*)               fmt=elf em=symbian ;;
       arm-*-kaos*)                     fmt=elf ;;
       arm*-*-conix*)                   fmt=elf ;;
       arm-*-linux*aout*)               fmt=aout em=linux ;;
@@ -201,20 +218,23 @@ changequote([,])dnl
       arm-**-nto*)                     fmt=elf ;;
       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-wince-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 ;;
 
+      cris-*-linux-gnu*)               fmt=multi bfd_gas=yes em=linux ;;
       cris-*-*)                                fmt=multi bfd_gas=yes ;;
 
+      crx-*-elf*)                      fmt=elf ;;
+
       d10v-*-*)                                fmt=elf ;;
       d30v-*-*)                                fmt=elf ;;
       dlx-*-*)                         fmt=elf ;;
 
       fr30-*-*)                                fmt=elf ;;
+      frv-*-*linux*)                   fmt=elf em=linux;;
       frv-*-*)                         fmt=elf ;;
 
       hppa-*-linux*)   case ${cpu} in
@@ -253,7 +273,8 @@ changequote([,])dnl
       i386-*-bsd*)                     fmt=aout em=386bsd ;;
       i386-*-netbsd0.8)                        fmt=aout em=386bsd ;;
       i386-*-netbsdpe*)                        fmt=coff em=pe ;;
-      i386-*-netbsd*-gnu*)             fmt=elf em=nbsd ;;
+      i386-*-netbsd*-gnu* | \
+      i386-*-knetbsd*-gnu | \
       i386-*-netbsdelf*)               fmt=elf em=nbsd ;;
       i386-*-*n*bsd*)  case ${cpu} in
                            x86_64)     fmt=elf em=nbsd ;;
@@ -264,7 +285,7 @@ changequote([,])dnl
       i386-*-linux*coff*)              fmt=coff em=linux ;;
       i386-*-linux-gnu*)               fmt=elf em=linux ;;
       x86_64-*-linux-gnu*)             fmt=elf em=linux ;;
-      i386-*-lynxos*)                  fmt=coff em=lynx ;;
+      i386-*-lynxos*)                  fmt=elf em=lynx bfd_gas=yes ;;
 changequote(,)dnl
       i386-*-sysv[45]*)                        fmt=elf ;;
       i386-*-solaris*)                 fmt=elf ;;
@@ -272,7 +293,8 @@ changequote(,)dnl
       i386-*-freebsd[12].*)            fmt=aout em=386bsd ;;
       i386-*-freebsd[12])              fmt=aout em=386bsd ;;
 changequote([,])dnl
-      i386-*-freebsd*)                 fmt=elf em=freebsd ;;
+      i386-*-freebsd* | i386-*-kfreebsd*-gnu)
+                                       fmt=elf em=freebsd ;;
       i386-*-sysv*)                    fmt=coff ;;
       i386-*-sco3.2v5*coff)            fmt=coff ;;
       i386-*-isc*)                     fmt=coff ;;
@@ -299,7 +321,6 @@ changequote([,])dnl
       i386-*-mingw32*)                 fmt=coff em=pe ;;
       i386-*-nto-qnx*)                 fmt=elf ;;
       i386-*-*nt*)                     fmt=coff em=pe ;;
-      i386-*-vxworks*)                 fmt=aout ;;
       i386-*-chaos)                    fmt=elf ;;
 
       i860-*-*)                                fmt=elf endian=little
@@ -323,7 +344,8 @@ changequote([,])dnl
 
       iq2000-*-elf)                    fmt=elf bfd_gas=yes ;;
 
-      m32r-*-*)                                fmt=elf ;;
+      m32r-*-elf*)                     fmt=elf ;;
+      m32r-*-linux*)                   fmt=elf em=linux;;
 
       m68hc11-*-* | m6811-*-*)         fmt=elf ;;
       m68hc12-*-* | m6812-*-*)         fmt=elf ;;
@@ -342,6 +364,7 @@ changequote([,])dnl
       m68k-*-hpux*)                    fmt=hp300 em=hp300 ;;
       m68k-*-linux*aout*)              fmt=aout em=linux ;;
       m68k-*-linux-gnu*)               fmt=elf em=linux ;;
+      m68k-*-uclinux*)                 fmt=elf ;;
       m68k-*-gnu*)                     fmt=elf ;;
       m68k-*-lynxos*)                  fmt=coff em=lynx ;;
       m68k-*-netbsdelf*)               fmt=elf em=nbsd ;;
@@ -358,7 +381,6 @@ changequote([,])dnl
 
       # 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.) ;;
@@ -377,26 +399,41 @@ changequote([,])dnl
       mips-*-elf* | mips-*-rtems*)     fmt=elf ;;
       mips-*-netbsd*)                  fmt=elf ;;
       mips-*-openbsd*)                 fmt=elf ;;
-      mips-*-vxworks*)                 fmt=elf ;;
 
       mmix-*-*)                                fmt=elf ;;
       mn10200-*-*)                     fmt=elf ;;
+      # cpu_type for am33_2.0 is set to mn10300
+      mn10300-*-linux*)                        fmt=elf bfd_gas=yes em=linux ;;
       mn10300-*-*)                     fmt=elf ;;
+
       msp430-*-*)                      fmt=elf ;;
+
+      ns32k-pc532-mach*)               fmt=aout em=pc532mach ;;
+      ns32k-pc532-ux*)                 fmt=aout em=pc532mach ;;
+      ns32k-pc532-lites*)              fmt=aout em=nbsd532 ;;
+      ns32k-*-*n*bsd*)                 fmt=aout em=nbsd532 ;;
+
       openrisc-*-*)                    fmt=elf ;;
-      or32-*-rtems*)                   fmt=coff ;;
+      or32-*-rtems*)                   fmt=elf ;;
       or32-*-coff)                     fmt=coff ;;
       or32-*-elf)                      fmt=elf ;;
+
       pj*)                             fmt=elf ;;
 
       ppc-*-pe | ppc-*-cygwin*)                fmt=coff em=pe ;;
       ppc-*-winnt*)                    fmt=coff em=pe ;;
-      ppc-*-aix5*)                     fmt=coff em=aix5 ;;
+changequote(,)dnl
+      ppc-*-aix5.[01])                 fmt=coff em=aix5 ;;
+changequote([,])dnl
+      ppc-*-aix5.*)                    fmt=coff em=aix5
+       AC_DEFINE(AIX_WEAK_SUPPORT, 1,
+                 [Define if using AIX 5.2 value for C_WEAKEXT.])
+      ;;
       ppc-*-aix*)                      fmt=coff ;;
       ppc-*-beos*)                     fmt=coff ;;
       ppc-*-*n*bsd* | ppc-*-elf*)      fmt=elf ;;
       ppc-*-eabi* | ppc-*-sysv4*)      fmt=elf ;;
-      ppc-*-linux-gnu*)                        fmt=elf
+      ppc-*-linux-gnu*)                        fmt=elf em=linux
            case "$endian" in
                big)  ;;
                *)    AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
@@ -410,12 +447,10 @@ changequote([,])dnl
                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-**-nto*)                     fmt=elf ;;
-      ppc-*-vxworks*)                  fmt=elf ;;
-      ppc-*-windiss*)                  fmt=elf ;;
+      ppc-*-macos*)                    fmt=coff em=macos ;;
+      ppc-*-nto*)                      fmt=elf ;;
       ppc-*-kaos*)                     fmt=elf ;;
+      ppc-*-lynxos*)                   fmt=elf em=lynx bfd_gas=yes ;;
 
       s390x-*-linux-gnu*)              fmt=elf em=linux ;;
       s390-*-linux-gnu*)               fmt=elf em=linux ;;
@@ -428,21 +463,19 @@ changequote([,])dnl
       sh5*-*-netbsd*)                  fmt=elf em=nbsd ;;
       sh64*-*-netbsd*)                 fmt=elf em=nbsd ;;
       sh*-*-netbsdelf*)                        fmt=elf em=nbsd ;;
+      sh*-*-symbianelf*)               fmt=elf endian=little
+               AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
+               ;;
       sh-*-elf*)                       fmt=elf ;;
       sh-*-coff*)                      fmt=coff ;;
       sh-*-nto*)                       fmt=elf ;;
       sh-*-pe*)                                fmt=coff em=pe bfd_gas=yes endian=little ;;
-      sh-*-rtemself*)                  fmt=elf ;;
-      sh-*-rtems*)                     fmt=coff ;;
+      sh-*-rtemscoff*)                 fmt=coff ;;
+      sh-*-rtems*)                     fmt=elf ;;
       sh-*-kaos*)                      fmt=elf ;;
       shle*-*-kaos*)                   fmt=elf ;;
       sh64-*-elf*)                     fmt=elf ;;
 
-      ns32k-pc532-mach*)               fmt=aout em=pc532mach ;;
-      ns32k-pc532-ux*)                 fmt=aout em=pc532mach ;;
-      ns32k-pc532-lites*)              fmt=aout em=nbsd532 ;;
-      ns32k-*-*n*bsd*)                 fmt=aout em=nbsd532 ;;
-
       sparc-*-rtemsaout*)              fmt=aout ;;
       sparc-*-rtemself*)               fmt=elf ;;
       sparc-*-rtems*)                  fmt=elf ;;
@@ -464,8 +497,6 @@ changequote([,])dnl
       strongarm-*-coff)                        fmt=coff ;;
       strongarm-*-elf)                 fmt=elf ;;
       strongarm-*-kaos*)               fmt=elf ;;
-      xscale-*-coff)                   fmt=coff ;;
-      xscale-*-elf)                    fmt=elf ;;
 
       tic30-*-*aout*)                  fmt=aout bfd_gas=yes ;;
       tic30-*-*coff*)                  fmt=coff bfd_gas=yes ;;
@@ -480,10 +511,14 @@ changequote([,])dnl
       vax-*-netbsdelf*)                        fmt=elf em=nbsd ;;
       vax-*-netbsd*)                   fmt=aout em=nbsd ;;
       vax-*-bsd* | vax-*-ultrix*)      fmt=aout ;;
+      vax-*-linux-gnu*)                        fmt=elf em=linux bfd_gas=yes ;;
       vax-*-vms)                       fmt=vms ;;
 
       w65-*-*)                         fmt=coff ;;
 
+      xscale-*-coff)                   fmt=coff ;;
+      xscale-*-elf)                    fmt=elf ;;
+
       xstormy16-*-*)                   fmt=elf ;;
 
       xtensa-*-*)                      fmt=elf ;;
@@ -491,16 +526,16 @@ changequote([,])dnl
       z8k-*-coff | z8k-*-sim)          fmt=coff ;;
 
       *-*-aout | *-*-scout)            fmt=aout ;;
-      *-*-freebsd*)                    fmt=elf em=freebsd ;;
+      *-*-freebsd* | *-*-kfreebsd*-gnu)        fmt=elf em=freebsd ;;
       *-*-nindy*)                      fmt=bout ;;
       *-*-bsd*)                                fmt=aout em=sun3 ;;
       *-*-generic)                     fmt=generic ;;
       *-*-xray | *-*-hms)              fmt=coff ;;
       *-*-sim)                         fmt=coff ;;
       *-*-elf | *-*-sysv4* | *-*-solaris*) fmt=elf dev=yes ;;
-      *-*-aros*)                               fmt=elf em=linux bfd_gas=yes ;;
-      *-*-vxworks)                     fmt=aout ;;
-      *-*-netware)                     fmt=elf ;;
+      *-*-aros*)                       fmt=elf em=linux bfd_gas=yes ;;
+      *-*-vxworks | *-*-windiss)       fmt=elf ;;
+      *-*-netware)                     fmt=elf em=netware ;;
     esac
 
     if test ${this_target} = $target ; then
@@ -541,13 +576,16 @@ changequote([,])dnl
          mipsisa64 | mipsisa64el)
            mips_cpu=mips64
            ;;
+         mipsisa64r2 | mipsisa64r2el)
+           mips_cpu=mips64r2
+           ;;
          mipstx39 | mipstx39el)
            mips_cpu=r3900
            ;;
          mips64vr | mips64vrel)
            mips_cpu=vr4100
            ;;
-         mipsisa32r2*)
+         mipsisa32r2* | mipsisa64r2*)
 changequote(,)dnl
            mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
 changequote([,])dnl
@@ -1039,7 +1077,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
@@ -1054,3 +1093,5 @@ AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
  cgen_cpu_prefix=${cgen_cpu_prefix}
  obj_format=${obj_format}
  te_file=${te_file}])
+
+AC_OUTPUT