* configure.in (hiux): Fixes from m-kasahr@sramhc.sra.co.JP.
[deliverable/binutils-gdb.git] / gas / configure.in
index c52d3ca3ab4375d06c7052593365890cf6b64929..c5f94cb8f74bf372daddab45a39711b086347426 100644 (file)
@@ -1,19 +1,19 @@
 # This file is configure.in
 #
-#   Copyright (C) 1987-1992 Free Software Foundation, Inc.
-#   
+#   Copyright (C) 1987-1992,1993,1994 Free Software Foundation, Inc.
+#
 #  This file is part of GAS, the GNU Assembler.
-#   
+#
 #   GAS is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
 #   the Free Software Foundation; either version 2, or (at your option)
 #   any later version.
-#   
+#
 #   GAS is distributed in the hope that it will be useful,
 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #   GNU General Public License for more details.
-#   
+#
 #   You should have received a copy of the GNU General Public License
 #   along with GAS; see the file COPYING.  If not, write to
 #   the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
@@ -45,6 +45,7 @@ case "${host}" in
   hppa*-hp-hpux*)              gas_host=hpux           ;;
   hppa*-hp-bsd*)               gas_host=hppabsd        ;;
   hppa*-hp-osf*)               gas_host=hppaosf        ;;
+  hppa*-*-hiux*)               gas_host=hpux           ;;
 
   i[34]86-ibm-aix*)            gas_host=i386aix        ;;
   i[34]86-*-isc*)              gas_host=sysv           ;;
@@ -53,9 +54,9 @@ case "${host}" in
   m68k-sun-sunos*)             gas_host=sun3           ;;
   m68*-*-hpux)                 gas_host=hpux           ;;
 
-  mips-dec-ultrix*)            gas_host=decstatn       ;;
-  mips-*-bsd*)                 gas_host=mipsbsd        ;;
-  mips-sgi-irix*)              gas_host=irix           ;;
+  mips*-dec-ultrix*)           gas_host=decstatn       ;;
+  mips*-*-bsd*)                        gas_host=mipsbsd        ;;
+  mips*-sgi-irix*)             gas_host=irix           ;;
 
   rs6000-*-*)                  gas_host=rs6000         ;;
 
@@ -64,8 +65,11 @@ case "${host}" in
 
   vax-*-vms*)                  gas_host=vms            ;;
   vax-*-bsd*)                  gas_host=vax            ;;
+  vax-*-ultrix*)               gas_host=vax            ;;
 
-  *-*-ansi | *-*-ultrix | *-*-hpux | *-*-sysv*)
+  *-*-sysv4* | *-*-unixware)   gas_host=sysv           ;;
+
+  *-*-ansi | *-*-hpux | *-*-sysv)
                                gas_host=${host_os}     ;;
 
 esac
@@ -94,23 +98,30 @@ esac
 # assign cpu type
 emulation=generic
 
+# default is big
+endian=big
+
 # check for architecture variants
 case ${target_cpu} in
-  sparclite*)   cpu_type=sparc ;;
-  sparc64)     cpu_type=sparc64 obj_format=elf ;; # v9
-  m680[01234]0) cpu_type=m68k ;;
-  m683??)       cpu_type=m68k ;;
-  i486)                cpu_type=i386 ;;
-  h8300h)      cpu_type=h8300 ;;
   # Actually we've only got support for the 1.1, so we shouldn't generalize,
   # but this is what the support files are named...
-  hppa1.1)     cpu_type=hppa ;;
+  hppa*)       cpu_type=hppa ;;
+  i486)                cpu_type=i386 ;;
+  m680[01234]0) cpu_type=m68k ;;
+  m68008)      cpu_type=m68k ;;
+  m683??)       cpu_type=m68k ;;
+  m8*)         cpu_type=m88k ;;
+  mips*el)     cpu_type=mips endian=little;;
+  mips*)       cpu_type=mips ;;
+  rs6000*)     cpu_type=ppc ;;
+  sparc64)     cpu_type=sparc64 obj_format=elf ;; # v9
+  sparclite*)   cpu_type=sparc ;;
   *)           cpu_type=${target_cpu} ;;
 esac
 
 gas_target=${cpu_type}
-
 generic_target=${cpu_type}-${target_vendor}-${target_os}
+dev=no
 
 # assign object format
 case ${generic_target} in
@@ -118,54 +129,104 @@ case ${generic_target} in
   a29k-amd-ebmon)      obj_format=coffbfd gas_target=ebmon29k ;;
   a29k-amd-ebmonold)   obj_format=coff gas_target=ebmon29k ;;
 
+  alpha-*-osf*)                obj_format=ecoff dev=yes ;;
+
   hppa-*-osf)          obj_format=elf emulation=hppa ;;
   hppa-*-hpux*)                obj_format=som emulation=hppa ;;
+  hppa-*-bsd*)         obj_format=som emulation=hppa ;;
+  hppa-*-hiux*)                obj_format=som emulation=hppa ;;
 
   h8300-*-coff)                obj_format=coffbfd ;;
 
   i386-ibm-aix*)       obj_format=coffbfd gas_target=i386coff
                         emulation=i386aix ;;
   i386-*-bsd*)         obj_format=aout emulation=386bsd ;;
+  i386-*-netbsd0.8)    obj_format=aout emulation=netbsd ;;
+  i386-*-netbsd*)      obj_format=aout emulation=netbsd ;;
+  i386-*-linux*elf*)   obj_format=elf  emulation=linux ;;
+  i386-*-linux*coff*)  obj_format=coffbfd emulation=linux
+                        gas_target=i386coff ;;
   i386-*-linux*)       obj_format=aout emulation=linux ;;
-  i386-*-lynxos* | i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
-                       obj_format=coffbfd gas_target=i386coff ;; 
+  i386-*-lynxos*)      obj_format=coffbfd gas_target=i386coff
+                        emulation=lynx ;;
+  i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
+                       obj_format=elf ;;
+  i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
+                       obj_format=coffbfd gas_target=i386coff ;;
+  i386-*-vsta)         obj_format=aout ;;
   i386-*-go32)         obj_format=aout ;;
 
-  i960-wrs-vxworks)    obj_format=bout ;;
+  i960-wrs-vxworks | i960-*-nindy*)
+                       obj_format=bout ;;
   i960-*-coff)         obj_format=coff emulation=ic960 ;;
 
-  m68k-wrs-vxworks)    obj_format=aout emulation=sun3 ;;    
-  m68k-ericsson-[Oo][Ss][Ee])
+  m68k-wrs-vxworks | m68k-ericsson-ose | m68k-*-sunos*)
                        obj_format=aout emulation=sun3 ;;
-  m68k-*-coff | m68*-*-sysv*)
+  m68k-*-coff | m68k-*-sysv*)
                        obj_format=coffbfd gas_target=m68kcoff ;;
   m68k-*-hpux)         obj_format=hp300 emulation=hp300 ;;
+  m68k-*-lynxos*)      obj_format=coffbfd gas_target=m68kcoff
+                        emulation=lynx ;;
 
   m88k-*-coff*)                obj_format=coffbfd gas_target=m88kcoff ;;
 
   # don't change emulation like *-*-bsd does
   mips-*-bsd*)         bfd_gas=yes obj_format=aout gas_target=mips-lit ;;
   mips-*-ultrix*)      obj_format=ecoff gas_target=mips-lit ;;
-  mips-*-ecoffl*)      obj_format=ecoff gas_target=mips-lit ;;
+  mips-*-ecoff*)       obj_format=ecoff 
+                       if [ $endian = big ] ; then
+                         gas_target=mips-big
+                       else
+                         gas_target=mips-lit
+                       fi 
+                       ;;
   mips-*-ecoff*)       obj_format=ecoff gas_target=mips-big ;;
+  mips-*-irix5*)       obj_format=elf gas_target=mips-big ;;
   mips-*-irix*)                obj_format=ecoff gas_target=mips-big emulation=irix ;;
+  mips-*-riscos*)      obj_format=ecoff gas_target=mips-big ;;
+  mips-*-sysv*)                obj_format=ecoff gas_target=mips-big ;;
+  mips-*-elf*)         obj_format=elf 
+                       if [ $endian = big ] ; then
+                         gas_target=mips-big
+                       else
+                         gas_target=mips-lit
+                       fi
+                       ;;
 
-  sparc*-*-sunos4*)    bfd_gas=preferred obj_format=aout emulation=sun3 ;;
+  ppc-*-aix*)          obj_format=coff bfd_gas=yes ;;
 
-  sparc*-fujitsu-none) obj_format=aout ;;
+  sh-*-coff)           obj_format=coffbfd ;;
 
+  sparc*-*-sunos4*)    obj_format=aout emulation=sun3 bfd_gas=yes ;;
+  sparc*-*-aout | sparc*-*-vxworks)
+                       obj_format=aout bfd_gas=yes ;;
+  sparc*-*-coff)       obj_format=coff bfd_gas=yes ;;
+  sparc*-*-lynxos)     obj_format=coff bfd_gas=yes ;;
+  sparc*-fujitsu-none) obj_format=aout bfd_gas=yes ;;
+  sparc*-*-elf | sparc*-*-solaris*)
+                       obj_format=elf ;;
   sparc64-*-aout*)     obj_format=aout bfd_gas=yes ;; # v9
 
-  *-*-aout | *-*-scout | *-*-linux)
+  vax-*-bsd* | vax-*-ultrix*)
                        obj_format=aout ;;
-  *-*-bout* | *-*-nindy*)
+  vax-*-vms)           obj_format=vms ;;
+
+  z8k-*-coff | z8k-*-sim)
+                       obj_format=coffbfd ;;
+
+  *-*-aout | *-*-scout)
+                       obj_format=aout ;;
+  *-*-nindy*)
                        obj_format=bout ;;
-  *-*-bsd* | *-*-sunos*)
+  *-*-bsd*)
                        obj_format=aout emulation=sun3 ;;
   *-*-generic)         obj_format=generic ;;
   *-*-xray | *-*-hms)  obj_format=coffbfd ;;
   *-*-sysv32)          obj_format=coff emulation=sysv32 ;;
   *-*-sim)             obj_format=coffbfd ;;
+  *-*-elf | *-*-sysv4* | *-*-solaris*)
+       echo '*** Warning: GAS support for ELF format is incomplete' 1>&2
+                       obj_format=elf dev=yes ;;
   *-*-coff* | *-sysv* | *-*-sco*)
                        obj_format=coff
                        case ${target_vendor} in
@@ -174,14 +235,12 @@ case ${generic_target} in
                        esac
                        ;;
   *-*-vxworks)         obj_format=aout ;;
-  *-*-coff)            obj_format=coff ;;
-  *-*-elf | *-*-solaris*)
-       echo '*** Warning: GAS support for ELF format is incomplete' 1>&2
-                       obj_format=elf ;;
-  *-*-vms)             obj_format=vms ;;
+  *-*-netware)         obj_format=elf ;;
 esac
 
-# assign floating point type
+# 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
   ns32k | vax | tahoe )        atof=${target_cpu} ;;
   *)                   atof=ieee ;;
@@ -192,10 +251,12 @@ if [ ! -r ${srcdir}/config/tc-${cpu_type}.c ]; then
   exit 1
 fi
 
-if [ x${obj_format} = x ]; then
-  echo "*** GAS doesn't know what format to use for target" ${target}  1>&2
-  exit 1
-fi
+case "${obj_format}" in
+  "")
+      echo "*** GAS doesn't know what format to use for target" ${target} 1>&2
+      exit 1
+      ;;
+esac
 
 if [ ! -r ${srcdir}/config/obj-${obj_format}.c ]; then
   echo '*** GAS does not have support for object file format' ${obj_format} 1>&2
@@ -211,6 +272,7 @@ case ${bfd_gas}-${obj_format} in
   no-coffbfd)  need_bfd=yes ;;
   *-elf)       bfd_gas=yes ;;
   *-ecoff)     bfd_gas=yes ;;
+  *-som)       bfd_gas=yes ;;
   *)           ;;
 esac
 
@@ -233,6 +295,15 @@ case ${with_bfd_assembler}-${bfd_gas} in
     ;;
 esac
 
+reject_dev_configs=yes
+
+case ${reject_dev_configs}-${dev} in
+  yes-yes) # Oops.
+    echo "*** GAS does not support the ${generic_target} configuration" 1>&2
+    exit 1
+    ;;
+esac
+
 files="config/ho-${gas_host}.h config/tc-${cpu_type}.c \
        config/tc-${cpu_type}.h config/te-${emulation}.h \
        config/obj-${obj_format}.h config/obj-${obj_format}.c \
@@ -243,38 +314,25 @@ links="host.h targ-cpu.c targ-cpu.h targ-env.h obj-format.h obj-format.c atof-ta
 # post-target:
 
 case ${bfd_gas} in
-  yes)
-    rm -f Makefile.tem
-    mv Makefile Makefile.tem
-    echo BFDDEF=-DBFD_ASSEMBLER > Makefile
-    cat Makefile.tem >> Makefile
-    rm -f Makefile.tem
-    need_bfd=yes
-    ;;
-  *)
-    ;;
+  yes) bfddef="BFDDEF=define" need_bfd=yes             ;;
+  *)    bfddef="BFDDEF=undef"                          ;;
 esac
 
 case ${need_bfd} in
-  yes)
-    rm -f Makefile.tem
-    mv Makefile Makefile.tem
-    echo BFDLIB=../bfd/libbfd.a > Makefile
-    cat Makefile.tem >> Makefile
-    rm -f Makefile.tem
-    ;;
-  *)
-    ;;
+  yes) bfdlib="BFDLIB=../bfd/libbfd.a"                 ;;
+  *)   bfdlib=""                                       ;;
 esac
 
-if [ x${host} != x${target} ] ; then
-    rm -f Makefile.tem
-    mv Makefile Makefile.tem
-    echo CROSS=-DCROSS_COMPILE > Makefile
-    cat Makefile.tem >> Makefile
-    rm -f Makefile.tem
-else
-    true
-fi
+case "x${host}" in
+  "x${target}")        cross=""                                ;;
+  *)           cross="CROSS=-DCROSS_COMPILE"           ;;
+esac
+
+rm -f Makefile.tem
+echo $bfddef >  Makefile.tem
+echo $bfdlib >> Makefile.tem
+echo $cross  >> Makefile.tem
+cat Makefile >> Makefile.tem
+mv -f Makefile.tem Makefile
 
 # end of gas/configure.in
This page took 0.026545 seconds and 4 git commands to generate.