# 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