elf32.c (slurp_symbol_table): fix cast-as-lvalue bug
[deliverable/binutils-gdb.git] / bfd / configure.in
index a55cf40b1fbd7fd26776e2928979c8a044b2ff4b..55469a00df2f87d8879293b97046ea1ba2d98aa9 100644 (file)
 # appropriate for this directory.  For more information, check any
 # existing configure script.
 
+configdirs="doc"
 srctrigger=libbfd.c
-srcname="bfd"
+srcname="BFD"
+target_dependent=true
+host64=false
+target64=false
+want64=false
 
 # per-host:
 
-if [ "${host_os}" = "posix" ] ; then
-       bfd_host=posix
-else
-       case "${host_cpu}" in
-       rs6000) bfd_host=aix ;;
-       mips)
-               case "${host_vendor}" in
-               dec)    bfd_host=dec3100 ;;
-               sgi)    bfd_host=irix3 ;;
-               esac
-               ;;
-       m88k)
-               case "${host_vendor}" in
-               *)
-                       case "${host_os}" in
-                       dgux)   bfd_host=dgux ;;
-                       esac
-                       ;;
-               esac
-               ;;
-       m68k)
-               case "${host_vendor}" in
-               hp)     
-                       case "${host_os}" in
-                       hpux)   bfd_host=hp9000 ;;
-                       bsd)    bfd_host=hp300bsd ;;
-                       esac
-                       ;;
-               sony)   bfd_host=news ;;
-               sun)    bfd_host=sun3 ;;
-               esac
-               ;;
-
-       i386)
-               case "${host_vendor}" in
-               *)
-                       case "${host_os}" in
-                       sysv)   bfd_host=i386v ;;
-                       esac
-                       ;;
-               esac
-               ;;
-
-       sparc)
-               case "${host_vendor}" in
-               sun)    bfd_host=sun4 ;;
-               esac
-               ;;
-
-       rtpc)   bfd_host=rtbsd
-               ;;
-
-       a29k)   bfd_host=ultra3
-               ;;
-
-       tahoe | vax)
-               bfd_host=${host_cpu}
-               ;;
-       esac
-fi
+. ${srcdir}/configure.host
 
-if [ ! -f config/h-${bfd_host} ] ; then
-       echo '***' BFD does not support host ${host}: no file config/h-${bfd_host}
-       exit 1
+# Set up to make a link between the host's include file and "sysdep.h".
+files="hosts/${my_host}.h"
+links="sysdep.h"
+
+if [ ! -f ${srcdir}/${files} ] ; then
+       files=../bfd/hosts/std-host.h
+       echo "[${srcname} has no specific support for host ${host} -- using std-host]"
 fi
 
-host_makefile_frag=config/h-${bfd_host}
+host_makefile_frag=
+if [ -f ${srcdir}/config/${my_host}.mh ] ; then
+       host_makefile_frag=config/${my_host}.mh
+fi
 
 # per-target:
 
-case "${target_vendor}" in
-aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
-sony)  bfd_target=news ;;
-intel) bfd_target=${target_cpu}-coff ;;        
-
-hitachi)
-       case "${target_cpu}" in
-       h8300) bfd_target=h8300-ieee ;;
-       *) echo "bad hitachi cpu" ;;
-       esac
-       ;;
-
-
-wrs)
-       case "${target_cpu}" in
-       i960) bfd_target=i960-bout ;;
-       m68k) bfd_target=m68k-aout ;;
-       esac
-       ;;
-sun)
-       case "${target_cpu}" in
-       m68k)   bfd_target=m68k-aout ;;
-       sparc)  bfd_target=sparc-aout ;;
-       esac
-       ;;
-dec)
-       case "${target_cpu}" in
-       mips) bfd_target=dec3100 ;;
-       esac
-       ;;
-hp)
-       case "${target_cpu}" in
-       m68k)
-               case "${target_os}" in
-               hpux)   bfd_target=hp9000 ;;
-               bsd)    bfd_target=hp300bsd ;;
-               esac
-               ;;
-       esac
-       ;;
-sgi)
-       case "${target_cpu}" in
-       mips)
-               bfd_target=irix3 ;;
-       esac
-       ;;
-none|nyu)
-       case "${target_cpu}" in
-       i386) bfd_target=i386-coff ;;
-       a29k) case "${target_os}" in
-               aout) bfd_target=a29k-aout ;;
-               coff) bfd_target=a29k-coff ;;
-               sym1) bfd_target=a29k-coff ;;
-              esac
-              ;;
-       tahoe | vax) bfd_target=${target_cpu} ;;
-       esac
-       ;;
-*)
-       case "${target_cpu}" in
-       tahoe | vax) bfd_target=${target_cpu} ;;
-       esac
-       ;;
+# WHEN ADDING ENTRIES TO THIS MATRIX:
+#  Make sure that the left side always has two dashes.  Otherwise you
+#  can get spurious matches.  Even for unambiguous cases, do this as a
+#  convention, else the table becomes a real mess to understand and maintain.
+
+case "${target}" in
+  alpha-*-*)           bfd_target=alphaosf ;;
+  a29k-*-ebmon)                bfd_target=a29k-coff ;;
+  a29k-*-udi)          bfd_target=a29k-coff ;;
+  a29k-*-aout)         bfd_target=a29k-aout ;;
+  a29k-*-coff)         bfd_target=a29k-coff ;;
+  a29k-*-sym1)         bfd_target=a29k-coff ;;
+  h8300-*-*)           bfd_target=h8300-coff ;;
+  h8500-*-*)           bfd_target=h8500-coff ;;
+  sh-*-*)              bfd_target=sh-coff ;;
+  hppa*-*-bsd*)                bfd_target=hppabsd ;;
+  hppa*-*-hpux*)       bfd_target=hppahpux ;;
+  hppa*-*-osf)         bfd_target=hppa-elf ;;
+  i[34]86-*-sysv4*)    bfd_target=i386-elf ;;
+  i[34]86-*-sysv*)     bfd_target=i386-coff ;;
+  i[34]86-*-isc*)      bfd_target=i386-sco ;; # gets core dump reading right
+  i[34]86-*-sco*)      bfd_target=i386-sco ;;
+  i[34]86-*-bsd*)      bfd_target=i386-bsd ;;
+  i[34]86-*-aix*)      bfd_target=i386-coff ;;
+  i[34]86-*-elf)       bfd_target=i386-elf ;;
+  i[34]86-*-linux*)    bfd_target=i386-linux ;;
+  i[34]86-none-*)      bfd_target=i386-coff ;;
+  i960-*-vxworks)      bfd_target=i960-bout ;;
+  i960-*-aout)         bfd_target=i960-bout ;;
+  i960-*-bout)         bfd_target=i960-bout ;;
+  m68*-hp-bsd*)                bfd_target=hp300bsd ;;
+  m68*-*-aout)         bfd_target=m68k-aout ;;
+  m68*-*-coff)         bfd_target=m68k-coff ;;
+  m68*-*-hpux*)                bfd_target=hp300hpux ;;
+  m68*-*-os68k)                bfd_target=m68k-aout ;;
+  m68*-*-sunos*)       bfd_target=m68k-aout ;;
+  m68*-*-sysv*)                bfd_target=m68k-coff ;;
+  m68*-*-vxworks*)     bfd_target=m68k-aout ;;
+  m68*-ericsson-*)     bfd_target=m68k-aout ;;
+  m68*-netx-*)         bfd_target=m68k-aout ;;
+  m88k-*-*)            bfd_target=m88k-coff ;;
+  mips-big-*)          bfd_target=bigmips ;;
+  mips-dec-bsd*)        bfd_target=mipsdecbsd ;;
+  mips-dec-*)          bfd_target=decstation ;;
+  mips-*-ecoffl*)      bfd_target=decstation ;;
+  mips-*-ecoff*)       bfd_target=bigmips ;;
+  mips-sgi-*)          bfd_target=bigmips ;;
+  mips-*-sysv*)                bfd_target=riscos ;;
+  mips-*-bsd*)         bfd_target=noop ;;
+  rs6000-*-*)          bfd_target=rs6000 ;;
+  sparc-*-solaris2*)   bfd_target=sparc-elf ;;
+  sparc-*-sysv4*)      bfd_target=sparc-elf ;;
+  sparc64-*-aout*)     bfd_target=sparc-aout ; target64=true ;; # v9
+  sparc64-*-elf*)      bfd_target=sparc-aout ; target64=true ;; # v9
+  sparc*-*-*)          bfd_target=sparc-aout ;;
+  tahoe-*-*)           bfd_target=tahoe ;;
+  vax-*-vms)           bfd_target=vax-vms ;;
+  vax-*-*)             bfd_target=vax ;;
+  we32k-*-*)           bfd_target=we32k ;;
+  z8k*-*-*)            bfd_target=z8k-coff ;;
+
+  *-*-aout)            bfd_target=${target_cpu}-aout ;;
+  *-*-bsd*)            bfd_target=${target_cpu}-aout ;;
+  *-*-sysv4*)          bfd_target=${target_cpu}-elf ;;
+  *-*-solaris2*)       bfd_target=${target_cpu}-elf ;;
+  *-*-go32)            bfd_target=${target_cpu}-aout ;;
+  *-*-sysv*)           bfd_target=${target_cpu}-coff ;;
+
+  *-*-aout64)          bfd_target=${target_cpu}-aout64 ; target64=true ;;
+  *-*-elf64)           bfd_target=${target_cpu}-elf64 ; target64=true ;;
+
+  *-adobe-*)           bfd_target=adobe ;;
+  *-sony-*)            bfd_target=news ;;
+  *-intel-*)           bfd_target=${target_cpu}-coff ;;
+  *-stratus-*)         bfd_target=${target_cpu}-elf ;;
+  *-cbm-*)             bfd_target=${target_cpu}-elf ;;
+  *-ncr-*)             bfd_target=${target_cpu}-elf ;;
+  *-tandem-*)          bfd_target=st2000 ;;
 esac
 
-if [ ! -f config/t-${bfd_target} ] ; then
-       echo '***' BFD does not support target ${target}: no file config/t-${bfd_target}
+if [ ! -f ${srcdir}/config/${bfd_target}.mt ] ; then
+       if [ -n "${bfd_target}" ] ; then
+               echo '***' No file ${srcdir}/config/${bfd_target}.mt 1>&2
+       fi
+       echo '***' BFD does not support target ${target} 1>&2
+       echo '***' Look in bfd/configure.in for supported targets 1>&2
        exit 1
 fi
+target_makefile_frag=config/${bfd_target}.mt
+
+# We don't do any links based on the target system, just very minor makefile
+# config.
+
+# post-target:
+
+rm -f Makefile.tmp Makefile.2
+mv Makefile Makefile.tmp
+
+case ${with_minimal_bfd} in
+  yes)
+    echo MINIMIZE=1 > Makefile.2
+    ;;
+  no | "")
+    echo MINIMIZE=0 > Makefile.2
+    ;;
+  *)
+    echo "*** bad value \"${with_minimal_bfd}\" for minimal-bfd flag; ignored" 1>&2
+    echo MINIMIZE=0 > Makefile.2
+    ;;
+esac
+
+case ${with_64_bit_bfd} in
+  yes)
+    want64=true
+    ;;
+  no | "")
+    want64=false
+    ;;
+  *)
+    echo "*** bad value \"${with_64_bit_bfd}\" for 64-bit-bfd flag; ignored" 1>&2
+    ;;
+esac
 
-target_makefile_frag=config/t-${bfd_target}
+case ${host64}-${target64}-${want64} in
+  *true*)
+    echo WORDSIZE=64 >> Makefile.2
+    echo 'BFD_BACKENDS = $(BFD32_BACKENDS) $(BFD64_BACKENDS)' >> Makefile.2
+    ;;
+  false-false-false)
+    echo WORDSIZE=32 >> Makefile.2
+    echo 'BFD_BACKENDS = $(BFD32_BACKENDS)' >> Makefile.2
+    ;;
+esac
 
-files=
-links=
+cat Makefile.tmp >> Makefile.2
+rm -f Makefile.tmp
+mv Makefile.2 Makefile
This page took 0.026188 seconds and 4 git commands to generate.