Use elf on Unixware 7.
[deliverable/binutils-gdb.git] / gas / configure.in
index f022063273e05441dc5db1f69e797047dc7b5175..dafdfd49785cb53f5ceef6d99740575fcd35d55a 100644 (file)
@@ -10,7 +10,7 @@ AC_INIT(as.h)
 
 AC_CANONICAL_SYSTEM
 
-AM_INIT_AUTOMAKE(gas, 2.9.4)
+AM_INIT_AUTOMAKE(gas, 2.10.90)
 
 AM_PROG_LIBTOOL
 
@@ -40,18 +40,54 @@ 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)
 
+# 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*)
+    GDBINIT="gdb.ini"
+    ;;
+esac
+AC_SUBST(GDBINIT)
+
 te_file=generic
 
 # Makefile target for installing gas in $(tooldir)/bin.
 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
@@ -85,6 +121,8 @@ changequote([,])dnl
       hppa*)           cpu_type=hppa ;;
 changequote(,)dnl
       i[456]86)                cpu_type=i386 ;;
+      ia64)            cpu_type=ia64 ;;
+      m6811|m6812)     cpu_type=m68hc11 ;;
       m680[012346]0)   cpu_type=m68k ;;
 changequote([,])dnl
       m68008)          cpu_type=m68k ;;
@@ -93,6 +131,8 @@ changequote([,])dnl
       m8*)             cpu_type=m88k ;;
       mips*el)         cpu_type=mips endian=little ;;
       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*)                cpu_type=ppc endian=big ;;
       rs6000*)         cpu_type=ppc ;;
@@ -137,24 +177,42 @@ changequote([,])dnl
       arm-*-aout)                      fmt=aout ;;
       arm-*-coff | thumb-*-coff)        fmt=coff ;;
       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*)               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-*-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 ;;
@@ -162,6 +220,7 @@ changequote([,])dnl
 
       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 ;;
@@ -174,10 +233,13 @@ changequote([,])dnl
       i386-*-linux*coff*)   fmt=coff em=linux ;;
       i386-*-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-*-freebsdelf*)   fmt=elf bfd_gas=yes ;;
-      i386-*-freebsd*)      fmt=aout em=386bsd ;;
+      i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
+                            fmt=aout em=386bsd ;;
+changequote([,])dnl
+      i386-*-freebsd*)     fmt=elf bfd_gas=yes ;;
       i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
                           fmt=coff ;;
       i386-*-sco3.2v5*)      fmt=elf
@@ -197,10 +259,15 @@ 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 ;;
+      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 ;;
@@ -211,8 +278,13 @@ changequote([,])dnl
       i960-*-vxworks*)      fmt=bout ;;
       i960-*-elf*)         fmt=elf ;;
 
+      ia64-*-elf*)         fmt=elf ;;
+      ia64-*-linux-gnu*)    fmt=elf em=linux ;;
+
       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 ;;
@@ -249,11 +321,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 ;;
@@ -263,6 +337,7 @@ changequote([,])dnl
                            ;;
       mn10200-*-*)         fmt=elf bfd_gas=yes ;;
       mn10300-*-*)         fmt=elf bfd_gas=yes ;;
+      pj*)                 fmt=elf ;;
       ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
                            fmt=coff em=pe ;;
       ppc-*-aix*)           fmt=coff ;;
@@ -288,9 +363,11 @@ changequote([,])dnl
       ppc-*-macos* | ppc-*-mpw*)
                            fmt=coff em=macos ;;
       ppc-*-netware*)       fmt=elf em=ppcnw ;;
+      ppc-*-vxworks*)       fmt=elf ;;
 
       sh-*-elf*)           fmt=elf ;;
       sh-*-coff*)           fmt=coff ;;
+      sh-*-pe*)             fmt=coff em=pe bfd_gas=yes;;
       sh-*-rtemself*)       fmt=elf ;;
       sh-*-rtems*)         fmt=coff ;;
 
@@ -309,7 +386,15 @@ 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 ;;
@@ -317,6 +402,8 @@ changequote([,])dnl
 
       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 ;;
@@ -367,6 +454,7 @@ 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 ;;
       ppc-*)   bfd_gas=yes ;;
@@ -375,6 +463,10 @@ changequote([,])dnl
       *-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 ;;
       *)               ;;
     esac
 
@@ -478,17 +570,45 @@ changequote([,])dnl
       mips-*-*-elf)    case "$endian" in
                        big)    emulation="mipsbelf mipslelf mipself" ;;
                        *)      emulation="mipslelf mipsbelf mipself" ;;
-      # Uncommenting the next line will turn on support for i386 COFF
-      # in any i386 ELF configuration.  This probably doesn't work
-      # correctly.
-      # i386-*-*-elf)  emulation="i386coff i386elf" ;;
                        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" ;;
+      #
+      i386-*-aout)     emulation="i386aout" ;;
+      i386-*-coff)     emulation="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.
@@ -578,10 +698,12 @@ for em in . $emulations ; do
        fmt=elf   file=mipself ;;
     mipsbecoff | mipslecoff)
        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"
@@ -608,10 +730,15 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
   obj_format=multi
 fi
 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
-  te_file=multi
-  extra_objects="$extra_objects $emfiles"
   DEFAULT_EMULATION=`set . $emulations ; echo $2`
-  AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?])
+  # e-mips* has more than one emulation per file, e-i386* has just one at the
+  # moment.  If only one emulation is specified, then don't define
+  # USE_EMULATIONS or include any of the e-files as they will only be bloat.
+  case "${obj_format}${emfiles}" in
+    multi* | *mips*)
+      extra_objects="$extra_objects $emfiles"
+      AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
+  esac
 fi
 AC_SUBST(extra_objects)
 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
@@ -704,6 +831,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!
@@ -752,7 +887,7 @@ 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_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
 [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
This page took 0.027878 seconds and 4 git commands to generate.