X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fconfigure.in;h=b04ca1ac0146b5d41f71860b60d15d0dfa694f60;hb=e39c2bd2e21426e4a48dd0fc0d9698ae43b853e3;hp=d7967ec04e7dcdab214a8ed1793b7fb5e1eac425;hpb=967d40ca76bb03a50621314468ba9f6eeed6f998;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/configure.in b/bfd/configure.in index d7967ec04e..b04ca1ac01 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -1,253 +1,590 @@ -# This file is a shell script that supplies the information necessary -# to tailor a template configure script into the configure script -# appropriate for this directory. For more information, check any -# existing configure script. - -configdirs="doc" -srctrigger=libbfd.c -srcname="BFD" -target_dependent=true - -# per-host: - -case "${host_cpu}" in - -rs6000) my_host=rs6000 - ;; - -mips) - case "${host_vendor}" in - dec) my_host=decstation ;; - sgi) - case "${host_os}" in - irix3) my_host=irix3 ;; - irix4) my_host=irix4 ;; - esac - ;; - esac - ;; - -m88k) - case "${host_vendor}" in - motorola) - my_host=delta88 ;; - harris) - my_host=harris ;; - *) - case "${host_os}" in - dgux) my_host=dgux ;; - esac - ;; - esac - ;; - -m68*) - case "${host_vendor}" in - cbm) - case ${host_os} in - amigados) my_host=amigados ;; - sysv4*) my_host=amix ;; - esac - ;; - hp) - case "${host_os}" in - hpux) my_host=hp9000 ;; - bsd) my_host=hp300bsd ;; - esac - ;; - sony) my_host=news ;; - sun) my_host=sun3 ;; - apollo*) - case "${host_os}" in - sysv*) my_host=apollov68 ;; - bsd*) my_host=apollo68 ;; - esac - ;; - esac - ;; - -i860) my_host=stratus - ;; - -i386 | i486) - case "${host_vendor}" in - ncr*) - case "${host_os}" in - sysv4*) my_host=ncr3000 ;; - esac - ;; - *) - case "${host_os}" in - go32) my_host=go32 ;; - sysv4*) my_host=i386v4 ;; - sysv* | scosysv*) my_host=i386v ;; - mach*) my_host=i386mach ;; - msdos*) my_host=dose ;; - linux) my_host=i386linux ;; - esac - ;; - esac - ;; - -sparc) - case "${host_os}" in - sunos64) my_host=sparc-ll ;; - sysv4) my_host=sysv4 ;; - solaris2) my_host=solaris2 ;; - sysv64) my_host=sysv4-ll ;; - *) my_host=sparc ;; - esac - ;; - -romp) my_host=rtbsd - ;; - -a29k) my_host=ultra3 - ;; - -tahoe) - my_host=tahoe - ;; - -vax) - case "${host_os}" in - ultrix*) my_host=vaxult ;; - *) my_host=vaxbsd ;; - esac - ;; -hppa*) - case "${host_vendor}" in - hp) - case "${host_os}" in - hpux) my_host=hppahpux ;; - bsd) my_host=hppabsd ;; - esac - ;; - esac - ;; -esac +dnl Process this file with autoconf to produce a configure script. +dnl +AC_PREREQ(2.3) +AC_INIT(libbfd.c) + +AC_ARG_ENABLE(64-bit-bfd, +[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)], +[case "${enableval}" in + yes) want64=true ;; + no) want64=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;; +esac],[want64=false])dnl +AC_ARG_ENABLE(targets, +[ --enable-targets alternative target configurations], +[case "${enableval}" in + yes | "") AC_ERROR(enable-targets option must specify target names or 'all') + ;; + no) enable_targets= ;; + *) enable_targets=$enableval ;; +esac])dnl +AC_ARG_ENABLE(shared, +[ --enable-shared build shared BFD library], +[case "${enableval}" in + yes) shared=true ;; + no) shared=false ;; + *bfd*) shared=true ;; + *) shared=false ;; +esac])dnl +AC_ARG_ENABLE(commonbfdlib, +[ --enable-commonbfdlib build shared BFD/opcodes/libiberty library], +[case "${enableval}" in + yes) commonbfdlib=true ;; + no) commonbfdlib=false ;; + *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;; +esac])dnl +AC_ARG_WITH(mmap, +[ --with-mmap try using mmap for BFD input files if available], +[case "${withval}" in + yes) want_mmap=true ;; + no) want_mmap=false ;; + *) AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;; +esac],[want_mmap=false])dnl + +AC_CONFIG_HEADER(config.h:config.in) + +AC_CONFIG_AUX_DIR(`cd $srcdir/..;pwd`) +AC_CANONICAL_SYSTEM +if test -z "$target" ; then + AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) +fi +AC_ARG_PROGRAM + +host64=false +target64=false + +# host stuff: + +ALLLIBS='$(TARGETLIB)' +PICFLAG= +SHLIB=unused-shlib +SHLINK=unused-shlink +if test "${shared}" = "true"; then + PICFLAG=-fpic + if test "${commonbfdlib}" = "true"; then + ALLLIBS='$(TARGETLIB)' + else + ALLLIBS='$(TARGETLIB) $(SHLIB) $(SHLINK)' +changequote(,)dnl + SHLIB=libbfd.so.`sed -e 's/[^0-9]*\([0-9.]*\).*/\1/' ${srcdir}/VERSION` +changequote([,])dnl + SHLINK=libbfd.so + fi +fi -# Set up to make a link between the host's include file and "sysdep.h". -files="hosts/${my_host}.h" -links="sysdep.h" +AC_PROG_CC -if [ ! -f ${srcdir}/${files} ] ; then - if [ -n "${my_host}" ] ; then - echo '***' No file ${srcdir}/${files} 1>&2 - fi - echo '***' ${srcname} does not support host ${host} 1>&2 - exit 1 +# Permit host specific settings. +. ${srcdir}/configure.host + +AC_SUBST(HDEFINES) +AC_CHECK_TOOL(AR, ar) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_PROG_INSTALL + +if test "${shared}" = "true"; then + if test "${GCC}" != "yes" && test "${shared_non_gcc}" != "yes"; then + AC_MSG_WARN([BFD --enable-shared only supported when using gcc]) + shared=false + ALLLIBS='$(TARGETLIB)' + PICFLAG= + SHLIB=unused-shlib + fi fi -host_makefile_frag= -if [ -f ${srcdir}/config/${my_host}.mh ] ; then - host_makefile_frag=config/${my_host}.mh +AC_SUBST(ALLLIBS) +AC_SUBST(PICFLAG) +AC_SUBST(SHLIB) +AC_SUBST(SHLIB_CC) +AC_SUBST(SHLIB_CFLAGS) +if test "${commonbfdlib}" = "true"; then + COMMON_SHLIB=yes + PICLIST=piclist +else + COMMON_SHLIB= + PICLIST= fi +AC_SUBST(COMMON_SHLIB) +AC_SUBST(PICLIST) +AC_SUBST(SHLINK) -# per-target: - -case "${target}" in - -rs6000-ibm-* ) bfd_target=rs6000 ;; - -a29k-amd-ebmon ) bfd_target=a29k-coff ;; -a29k-amd-udi ) bfd_target=a29k-coff ;; -a29k-amd-* ) bfd_target=a29k-aout ;; - -h8300-hitachi-* ) bfd_target=h8300-coff ;; -*-hitachi-* ) echo "bad hitachi cpu"; exit 1 ;; - -i960-wrs-* ) bfd_target=i960-bout ;; -m68k-wrs-* ) bfd_target=m68k-aout ;; -m68k-netx-* ) bfd_target=m68k-aout ;; -m680[01234]0-wrs-* ) bfd_target=m68k-aout ;; -m680[01234]0-netx-* ) bfd_target=m68k-aout ;; -m683?2-wrs-* ) bfd_target=m68k-aout ;; -m683?2-netx-* ) bfd_target=m68k-aout ;; -sparc-wrs-* ) bfd_target=sparc-aout ;; - -m68*-ericsson-* ) bfd_target=m68k-aout ;; - -m68k-sun-* ) bfd_target=m68k-aout ;; -m680[01234]0-sun-* ) bfd_target=m68k-aout ;; -m683?2-sun-* ) bfd_target=m68k-aout ;; -sparc-sun-sysv4 ) bfd_target=sparc-elf ;; -sparc-sun-solaris2* ) bfd_target=sparc-elf ;; -sparc-sun-* ) bfd_target=sparc-aout ;; - -mips-dec-* ) bfd_target=decstation ;; -vax-dec-* ) bfd_target=vax ;; - -m68k-hp-hpux ) bfd_target=hp9000 ;; -m680[01234]0-hp-hpux ) bfd_target=hp9000 ;; -m683?2-hp-hpux ) bfd_target=hp9000 ;; -m68k-hp-bsd ) bfd_target=hp300bsd ;; -m60[01234]0-hp-bsd ) bfd_target=hp300bsd ;; -m683?2-hp-bsd ) bfd_target=hp300bsd ;; - -mips-sgi-* ) bfd_target=irix3 ;; -mips-big-* ) bfd_target=irix3 ;; - -*-tandem-* ) bfd_target=st2000 ;; - -m68k-none-os68k ) bfd_target=m68k-aout ;; -m680[01234]0-none-os68k ) bfd_target=m68k-aout ;; -m683?2-none-os68k ) bfd_target=m68k-aout ;; -i386-sco-* ) bfd_target=i386-coff ;; - -m68*-*-aout ) bfd_target=m68k-aout ;; -m68*-*-coff ) bfd_target=m68k-coff ;; - -a29k-none-aout ) bfd_target=a29k-aout ;; -a29k-none-coff ) bfd_target=a29k-coff ;; -a29k-nyu-sym1 ) bfd_target=a29k-coff ;; - -m88k-harris-* ) bfd_target=m88k-coff ;; -m88k-motorola-* ) bfd_target=m88k-coff ;; - -vax-*-* ) bfd_target=vax ;; -tahoe-*-* ) bfd_target=tahoe ;; - -hppa*-hp-hpux ) bfd_target=hppahpux ;; -hppa*-hp-bsd ) bfd_target=hppabsd ;; - -i[34]86-ncr-sysv4* ) bfd_target=i386-elf ;; - -*-*-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 ;; -*-*-linux* ) bfd_target=${target_cpu}-linux ;; -*-*-sysv* ) bfd_target=${target_cpu}-coff ;; -*-*-scosysv* ) bfd_target=${target_cpu}-coff ;; -tahoe-*-none ) bfd_target=${target_cpu} ;; -vax-*-none ) bfd_target=${target_cpu} ;; - -# These are obsolete and should be removed. FIXME. -- gnu -*-aout-* ) bfd_target=${target_cpu}-aout ;; -*-bout-* ) bfd_target=${target_cpu}-bout ;; -*-coff-* ) bfd_target=${target_cpu}-coff ;; -*-elf-* ) bfd_target=${target_cpu}-elf ;; - -i386-none-* ) bfd_target=i386-coff ;; -*-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 ;; +HOST_64BIT_LONG=0 +if test "x${HOST_64BIT_TYPE}" = "xlong"; then + HOST_64BIT_LONG=1 +fi +AC_SUBST(HOST_64BIT_LONG) -esac +BFD_CC_FOR_BUILD + +AC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h) +AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h) +AC_HEADER_TIME +AC_CHECK_FUNCS(fcntl getpagesize) -if [ ! -f ${srcdir}/config/${bfd_target}.mt ] ; then - if [ -n "${bfd_target}" ] ; then - echo '***' No file ${srcdir}/config/${bfd_target}.mt 1>&2 +BFD_BINARY_FOPEN + +BFD_NEED_DECLARATION(malloc) +BFD_NEED_DECLARATION(free) + +# If we are configured native, pick a core file support file. +COREFILE= +COREFLAG= +if test "${target}" = "${host}"; then + case "${host}" in + alpha*-*-linux*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/alphalinux.h") + ;; + alpha*-*-*) COREFILE=osf-core.o ;; + arm-*-riscix) COREFILE=trad-core.o ;; + hppa*-*-hpux*) COREFILE=hpux-core.o ;; + hppa*-*-hiux*) COREFILE=hpux-core.o ;; + hppa*-*-bsd*) COREFILE="hpux-core.o hppabsd-core.o" + COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;; +changequote(,)dnl + i[345]86-sequent-bsd*) +changequote([,])dnl + COREFILE=trad-core.o; + AC_DEFINE(TRAD_HEADER,"hosts/symmetry.h") + ;; +changequote(,)dnl + i[345]86-sequent-sysv4*) ;; + i[345]86-sequent-sysv*) +changequote([,])dnl + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/symmetry.h") + ;; +changequote(,)dnl + i[345]86-*-bsd* | i[345]86-*-freebsd*) +changequote([,])dnl + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/i386bsd.h") + ;; +changequote(,)dnl + i[345]86-*-netbsd*) +changequote([,])dnl + COREFILE=netbsd-core.o + ;; +changequote(,)dnl + i[345]86-esix-sysv3*) +changequote([,])dnl + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/esix.h") + ;; +changequote(,)dnl + i[345]86-*-sco* | i[345]86-*-isc*) +changequote([,])dnl + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/i386sco.h") + ;; +changequote(,)dnl + i[345]86-*-mach3*) +changequote([,])dnl + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/i386mach3.h") + ;; +changequote(,)dnl + i[345]86-*-linux*) +changequote([,])dnl + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/i386linux.h") + ;; +changequote(,)dnl + i[345]86-*-isc*) COREFILE=trad-core.o ;; + i[345]86-*-aix*) COREFILE=aix386-core.o ;; +changequote([,])dnl + i860-*-mach3* | i860-*-osf1*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/i860mach3.h") + ;; + mips-dec-bsd*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/mipsbsd.h") + ;; + mips-dec-mach3*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h") + ;; + mips-*-netbsd*) + COREFILE=netbsd-core.o + ;; + mips-dec-*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/decstation.h") + ;; + mips-sgi-irix4*) COREFILE=irix-core.o ;; + mips-sgi-irix5*) COREFILE=irix-core.o ;; + mips-*-mach3*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h") + ;; + mips-*-sysv4*) ;; + mips-*-sysv* | mips-*-riscos*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/riscos.h") + ;; + mips-sony-bsd*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/news-mips.h") + ;; + m68*-bull*-sysv*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/dpx2.h") + ;; + m68*-hp-hpux*) COREFILE=hpux-core.o ;; + m68*-hp-bsd*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/hp300bsd.h") + ;; + m68*-*-linux*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/m68klinux.h") + ;; + m68*-motorola-sysv*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER, "hosts/delta68.h") + ;; + m68*-sony-*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/news.h") + ;; + m68*-*-netbsd*) + COREFILE=netbsd-core.o + ;; + m68*-apple-aux*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/m68kaux.h") + ;; + m88*-*-sysv4*) ;; + m88*-motorola-sysv*) COREFILE=ptrace-core.o ;; + m88*-*-mach3*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/m88kmach3.h") + ;; + ns32k-pc532-mach) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/pc532mach.h") + ;; + ns32k-*-netbsd*) + COREFILE=netbsd-core.o + ;; + rs6000-*-lynx*) COREFILE=lynx-core.o ;; + rs6000-*-aix4*) COREFILE=rs6000-core.o ;; + rs6000-*-*) COREFILE=rs6000-core.o ;; + powerpc-*-aix4*) COREFILE=rs6000-core.o ;; + powerpc-*-aix*) COREFILE=rs6000-core.o ;; + sparc-*-netbsd*) + COREFILE=netbsd-core.o + ;; + tahoe-*-*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/tahoe.h") + ;; + vax-*-ultrix2*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/vaxult2.h") + ;; + vax-*-ultrix*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/vaxult2.h") + ;; + vax-*-*) + COREFILE=trad-core.o + AC_DEFINE(TRAD_HEADER,"hosts/vaxbsd.h") + ;; + esac + + case "$COREFILE" in + aix386-core.o) COREFLAG=-DAIX386_CORE ;; + hppabsd-core.o) COREFLAG=-DHPPABSD_CORE ;; + hpux-core.o) COREFLAG=-DHPUX_CORE ;; + irix-core.o) COREFLAG=-DIRIX_CORE ;; + lynx-core.o) COREFLAG=-DLYNX_CORE ;; + osf-core.o) COREFLAG=-DOSF_CORE ;; + ptrace-core.o) COREFLAG=-DPTRACE_CORE ;; + rs6000-core.o) COREFLAG="$COREFLAG -DAIX_CORE" ;; + trad-core.o) COREFLAG="$COREFLAG -DTRAD_CORE" ;; + esac + + # The ELF code uses the native to handle core files. + # Define HAVE_SYS_PROCFS_H if the file exists and defines + # prstatus_t. + AC_MSG_CHECKING([for sys/procfs.h]) + AC_CACHE_VAL(bfd_cv_header_sys_procfs_h, + [AC_TRY_COMPILE([#include ], + [prstatus_t t;], + bfd_cv_header_sys_procfs_h=yes, bfd_cv_header_sys_procfs_h=no)]) + AC_MSG_RESULT($bfd_cv_header_sys_procfs_h) + if test $bfd_cv_header_sys_procfs_h = yes; then + AC_DEFINE(HAVE_SYS_PROCFS_H) + fi + +fi +AC_SUBST(COREFILE) +AC_SUBST(COREFLAG) + +# target stuff: + +# Canonicalize the secondary target names. +if test -n "$enable_targets" ; then + for targ in `echo $enable_targets | sed 's/,/ /g'` + do + result=`$ac_config_sub $targ 2>/dev/null` + if test -n "$result" ; then + canon_targets="$canon_targets $result" + else + # Allow targets that config.sub doesn't recognize, like "all". + canon_targets="$canon_targets $targ" fi - echo '***' BFD does not support target ${target} 1>&2 - echo '***' Look in bfd/configure.in for supported targets 1>&2 - exit 1 + done fi -target_makefile_frag=config/${bfd_target}.mt -# We don't do any links based on the target system, just very minor makefile -# config. +all_targets=false +defvec= +selvecs= +selarchs= +TDEFINES= +for targ in $target $canon_targets +do + if test "x$targ" = "xall"; then + all_targets=true + else + . $srcdir/config.bfd + if test "x$targ" = "x$target"; then + defvec=$targ_defvec + fi + selvecs="$selvecs $targ_defvec $targ_selvecs" + selarchs="$selarchs $targ_archs" + TDEFINES="$TDEFINES $targ_cflags" + fi +done +AC_SUBST(TDEFINES) + +# This processing still needs to be done if we're to decide properly whether +# 64-bit support needs to be compiled in. Currently, it will be included if +# the default or any other explicitly requested target requires it; it +# will not be included on a 32-bit host if no 64-bit target is requested, and +# no "--with-64-bit-bfd" option is given, even if "--with-targets=all" is +# used. + +# uniq the default and selected vectors in all the configured targets. +f="" +for i in $selvecs ; do + case " $f " in + *" $i "*) ;; + *) f="$f $i" ;; + esac +done +selvecs="$f" + +# uniq the architectures in all the configured targets. +f="" +for i in $selarchs ; do + case " $f " in + *" $i "*) ;; + *) f="$f $i" ;; + esac +done +selarchs="$f" + +# Target backend .o files. +tb= + +elf="elf.o elflink.o" + +for vec in $selvecs +do + case "$vec" in + # This list is alphabetized to make it easy to compare + # with the two vector lists in targets.c. + a29kcoff_big_vec) tb="$tb coff-a29k.o cofflink.o" ;; + a_out_adobe_vec) tb="$tb aout-adobe.o aout32.o" ;; + armcoff_little_vec) tb="$tb coff-arm.o cofflink.o " ;; + armcoff_big_vec) tb="$tb coff-arm.o cofflink.o " ;; + armpe_little_vec) tb="$tb pe-arm.o cofflink.o " ;; + armpe_big_vec) tb="$tb pe-arm.o cofflink.o " ;; + armpei_little_vec) tb="$tb pei-arm.o cofflink.o " ;; + armpei_big_vec) tb="$tb pei-arm.o cofflink.o " ;; + aout0_big_vec) tb="$tb aout0.o aout32.o" ;; + aout_arm_big_vec) tb="$tb aout-arm.o aout32.o" ;; + aout_arm_little_vec) tb="$tb aout-arm.o aout32.o" ;; + aout_mips_big_vec) tb="$tb mipsbsd.o aout32.o" ;; + aout_mips_little_vec) tb="$tb mipsbsd.o aout32.o" ;; + apollocoff_vec) tb="$tb coff-apollo.o" ;; + b_out_vec_big_host) tb="$tb bout.o aout32.o" ;; + b_out_vec_little_host) tb="$tb bout.o aout32.o" ;; +# start-sanitize-arc + bfd_elf32_littlearc_vec) tb="$tb elf32-arc.o elf32.o $elf" ;; + bfd_elf32_bigarc_vec) tb="$tb elf32-arc.o elf32.o $elf" ;; +# end-sanitize-arc + bfd_elf32_big_generic_vec) tb="$tb elf32-gen.o elf32.o $elf" ;; + bfd_elf32_bigmips_vec) tb="$tb elf32-mips.o elf32.o $elf ecofflink.o" ;; + bfd_elf64_bigmips_vec) tb="$tb elf64-mips.o elf64.o elf32-mips.o elf32.o $elf ecofflink.o" + target64=true ;; + bfd_elf32_hppa_vec) tb="$tb elf32-hppa.o elf32.o $elf" ;; + bfd_elf32_i386_vec) tb="$tb elf32-i386.o elf32.o $elf" ;; + bfd_elf32_i860_vec) tb="$tb elf32-i860.o elf32.o $elf" ;; + bfd_elf32_little_generic_vec) tb="$tb elf32-gen.o elf32.o $elf" ;; + bfd_elf32_littlemips_vec) tb="$tb elf32-mips.o elf32.o $elf ecofflink.o" ;; + bfd_elf64_littlemips_vec) tb="$tb elf64-mips.o elf64.o elf32-mips.o elf32.o $elf ecofflink.o" + target64=true ;; + bfd_elf32_m68k_vec) tb="$tb elf32-m68k.o elf32.o $elf" ;; + bfd_elf32_m88k_vec) tb="$tb elf32-m88k.o elf32.o $elf" ;; + bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.o elf32.o $elf" ;; + bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.o elf32.o $elf" ;; + bfd_elf32_sparc_vec) tb="$tb elf32-sparc.o elf32.o $elf" ;; + bfd_elf64_big_generic_vec) tb="$tb elf64-gen.o elf64.o $elf" + target64=true ;; + bfd_elf64_little_generic_vec) tb="$tb elf64-gen.o elf64.o $elf" + target64=true ;; + bfd_elf64_sparc_vec) tb="$tb elf64-sparc.o elf64.o $elf" + target64=true ;; + cisco_core_vec) tb="$tb cisco-core.o" ;; + demo_64_vec) tb="$tb demo64.o aout64.o" + target64=true ;; + ecoff_big_vec) tb="$tb coff-mips.o ecoff.o ecofflink.o" ;; + ecoff_little_vec) tb="$tb coff-mips.o ecoff.o ecofflink.o" ;; + ecoffalpha_little_vec) tb="$tb coff-alpha.o ecoff.o ecofflink.o" + target64=true ;; + h8300coff_vec) tb="$tb coff-h8300.o reloc16.o" ;; + h8500coff_vec) tb="$tb coff-h8500.o reloc16.o" ;; + host_aout_vec) tb="$tb host-aout.o aout32.o" ;; + hp300bsd_vec) tb="$tb hp300bsd.o aout32.o" ;; + hp300hpux_vec) tb="$tb hp300hpux.o aout32.o" ;; + i386aout_vec) tb="$tb i386aout.o aout32.o" ;; + i386bsd_vec) tb="$tb i386bsd.o aout32.o" ;; + i386coff_vec) tb="$tb coff-i386.o cofflink.o" ;; + i386dynix_vec) tb="$tb i386dynix.o aout32.o" ;; + i386freebsd_vec) tb="$tb i386freebsd.o aout32.o" ;; + i386msdos_vec) tb="$tb i386msdos.o" ;; + i386pe_vec) tb="$tb pe-i386.o cofflink.o " ;; + i386pei_vec) tb="$tb pei-i386.o cofflink.o" ;; + i386linux_vec) tb="$tb i386linux.o aout32.o" ;; + i386lynx_aout_vec) tb="$tb i386lynx.o lynx-core.o aout32.o" ;; + i386lynx_coff_vec) tb="$tb cf-i386lynx.o cofflink.o lynx-core.o" ;; + i386mach3_vec) tb="$tb i386mach3.o aout32.o" ;; + i386netbsd_vec) tb="$tb i386netbsd.o aout32.o" ;; + i386os9k_vec) tb="$tb i386os9k.o aout32.o" ;; + i860coff_vec) tb="$tb coff-i860.o cofflink.o" ;; + icoff_big_vec) tb="$tb coff-i960.o cofflink.o" ;; + icoff_little_vec) tb="$tb coff-i960.o cofflink.o" ;; + ieee_vec) tb="$tb ieee.o" ;; + m68kcoff_vec) tb="$tb coff-m68k.o cofflink.o" ;; + m68kcoffun_vec) tb="$tb coff-u68k.o coff-m68k.o cofflink.o" ;; + m68klinux_vec) tb="$tb m68klinux.o aout32.o" ;; + m68klynx_aout_vec) tb="$tb m68klynx.o lynx-core.o aout32.o" ;; + m68klynx_coff_vec) tb="$tb cf-m68klynx.o coff-m68k.o cofflink.o lynx-core.o" ;; + m68knetbsd_vec) tb="$tb m68knetbsd.o aout32.o" ;; + m68k4knetbsd_vec) tb="$tb m68k4knetbsd.o aout32.o" ;; + m68kaux_coff_vec) tb="$tb coff-aux.o coff-m68k.o cofflink.o" ;; + m88kbcs_vec) tb="$tb coff-m88k.o" ;; + newsos3_vec) tb="$tb newsos3.o aout32.o" ;; + nlm32_i386_vec) tb="$tb nlm32-i386.o nlm32.o nlm.o" ;; + nlm32_sparc_vec) tb="$tb nlm32-sparc.o nlm32.o nlm.o" ;; + nlm32_alpha_vec) tb="$tb nlm32-alpha.o nlm32.o nlm.o" + target64=true ;; + riscix_vec) tb="$tb aout32.o riscix.o" ;; + nlm32_powerpc_vec) tb="$tb nlm32-ppc.o nlm32.o nlm.o" ;; + pc532netbsd_vec) tb="$tb ns32knetbsd.o aout-ns32k.o" ;; + pc532machaout_vec) tb="$tb pc532-mach.o aout-ns32k.o" ;; + pmac_xcoff_vec) tb="$tb coff-pmac.o xcofflink.o" ;; + rs6000coff_vec) tb="$tb coff-rs6000.o xcofflink.o" ;; + bfd_powerpc_pe_vec) tb="$tb pe-ppc.o cofflink.o" ;; + bfd_powerpcle_pe_vec) tb="$tb pe-ppc.o cofflink.o" ;; + bfd_powerpc_pei_vec) tb="$tb pei-ppc.o cofflink.o" ;; + bfd_powerpcle_pei_vec) tb="$tb pei-ppc.o cofflink.o" ;; + ppcboot_vec) tb="$tb ppcboot.o" ;; + shcoff_vec) tb="$tb coff-sh.o cofflink.o" ;; +# start-sanitize-rce + rce_aout_vec) tb="$tb aout-rce.o aout32.o" ;; +# end-sanitize-rce + shlcoff_vec) tb="$tb coff-sh.o cofflink.o" ;; + som_vec) tb="$tb som.o" ;; + sparclynx_aout_vec) tb="$tb sparclynx.o lynx-core.o aout32.o" ;; + sparclynx_coff_vec) tb="$tb cf-sparclynx.o lynx-core.o" ;; + sparcnetbsd_vec) tb="$tb sparcnetbsd.o aout32.o" ;; + sparccoff_vec) tb="$tb coff-sparc.o" ;; + srec_vec) tb="$tb srec.o" ;; + sunos_big_vec) tb="$tb sunos.o aout32.o" ;; + symbolsrec_vec) tb="$tb srec.o" ;; + tekhex_vec) tb="$tb tekhex.o" ;; + we32kcoff_vec) tb="$tb coff-we32k.o" ;; + z8kcoff_vec) tb="$tb coff-z8k.o reloc16.o" ;; + w65_vec) tb="$tb coff-w65.o reloc16.o" ;; + versados_vec) tb="$tb versados.o" ;; + + "") ;; + *) AC_MSG_ERROR(*** unknown target vector $vec) ;; + esac +done + +# Target architecture .o files. +ta=`echo $selarchs | sed -e s/bfd_/cpu-/g -e s/_arch/.o/g` + +# Weed out duplicate .o files. +f="" +for i in $tb ; do + case " $f " in + *" $i "*) ;; + *) f="$f $i" ;; + esac +done +tb="$f" + +f="" +for i in $ta ; do + case " $f " in + *" $i "*) ;; + *) f="$f $i" ;; + esac +done +ta="$f" + +bfd_backends="$tb" +bfd_machines="$ta" + +if test x${all_targets} = xtrue ; then + bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)' + bfd_machines="${bfd_machines}"' $(ALL_MACHINES)' + selvecs= + selarchs= +else # all_targets is true + # Only set these if they will be nonempty, for the clever echo. + test -n "$selvecs" && + selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'` + test -n "$selarchs" && + selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'` +fi # all_targets is true + +case ${host64}-${target64}-${want64} in + *true*) + wordsize=64 + all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)' + ;; + false-false-false) + wordsize=32 + all_backends='$(BFD32_BACKENDS)' + ;; +esac + +AC_SUBST(wordsize) +AC_SUBST(all_backends) +AC_SUBST(bfd_backends) +AC_SUBST(bfd_machines) + +tdefaults="" +test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}" +test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'" +test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'" +AC_SUBST(tdefaults) + +dnl AC_CHECK_HEADERS(sys/mman.h) +AC_FUNC_MMAP +AC_CHECK_FUNCS(madvise mprotect) +case ${want_mmap}+${ac_cv_func_mmap} in + true+yes ) AC_DEFINE(USE_MMAP) ;; +esac + +rm -f doc/config.status +AC_OUTPUT(Makefile doc/Makefile, +[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])