configure.in revision 60484
133965Sjdpdnl Process this file with autoconf to produce a configure script.
233965Sjdpdnl
338889Sjdp
460484SobrienAC_PREREQ(2.13)
533965SjdpAC_INIT(libbfd.c)
633965Sjdp
738889SjdpAC_CANONICAL_SYSTEM
838889SjdpAC_ISC_POSIX
938889Sjdp
1060484SobrienAM_INIT_AUTOMAKE(bfd, 2.9.5)
1138889Sjdp
1238889Sjdpdnl These must be called before AM_PROG_LIBTOOL, because it may want
1338889Sjdpdnl to call AC_CHECK_PROG.
1438889SjdpAC_CHECK_TOOL(AR, ar)
1538889SjdpAC_CHECK_TOOL(RANLIB, ranlib, :)
1638889Sjdp
1738889Sjdpdnl Default to a non shared library.  This may be overridden by the
1838889Sjdpdnl configure option --enable-shared.
1938889SjdpAM_DISABLE_SHARED
2038889Sjdp
2138889SjdpAM_PROG_LIBTOOL
2238889Sjdp
2333965SjdpAC_ARG_ENABLE(64-bit-bfd,
2433965Sjdp[  --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)],
2533965Sjdp[case "${enableval}" in
2633965Sjdp  yes)  want64=true  ;;
2733965Sjdp  no)   want64=false ;;
2833965Sjdp  *)    AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
2933965Sjdpesac],[want64=false])dnl
3033965SjdpAC_ARG_ENABLE(targets,
3133965Sjdp[  --enable-targets        alternative target configurations],
3233965Sjdp[case "${enableval}" in
3333965Sjdp  yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
3433965Sjdp            ;;
3533965Sjdp  no)       enable_targets= ;;
3633965Sjdp  *)        enable_targets=$enableval ;;
3733965Sjdpesac])dnl
3833965SjdpAC_ARG_ENABLE(commonbfdlib,
3933965Sjdp[  --enable-commonbfdlib   build shared BFD/opcodes/libiberty library],
4033965Sjdp[case "${enableval}" in
4133965Sjdp  yes) commonbfdlib=true ;;
4233965Sjdp  no)  commonbfdlib=false ;;
4333965Sjdp  *)   AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
4433965Sjdpesac])dnl
4533965SjdpAC_ARG_WITH(mmap,
4633965Sjdp[  --with-mmap             try using mmap for BFD input files if available],
4733965Sjdp[case "${withval}" in
4833965Sjdp  yes)  want_mmap=true ;;
4933965Sjdp  no)   want_mmap=false ;;
5033965Sjdp  *)    AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;;
5133965Sjdpesac],[want_mmap=false])dnl
5233965Sjdp
5338889SjdpAM_CONFIG_HEADER(config.h:config.in)
5433965Sjdp
5533965Sjdpif test -z "$target" ; then
5633965Sjdp    AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
5733965Sjdpfi
5833965SjdpAC_ARG_PROGRAM
5933965Sjdp
6038889SjdpAM_MAINTAINER_MODE
6160484SobrienAC_EXEEXT
6238889Sjdp
6333965Sjdphost64=false
6433965Sjdptarget64=false
6533965Sjdp
6633965Sjdp# host stuff:
6733965Sjdp
6833965SjdpAC_PROG_CC
6933965Sjdp
7060484SobrienALL_LINGUAS=
7160484SobrienCY_GNU_GETTEXT
7260484Sobrien
7333965Sjdp# Permit host specific settings.
7433965Sjdp. ${srcdir}/configure.host
7533965Sjdp
7633965SjdpAC_SUBST(HDEFINES)
7760484SobrienAC_PROG_INSTALL
7833965Sjdp
7933965SjdpBFD_HOST_64BIT_LONG=0
8033965SjdpBFD_HOST_64_BIT_DEFINED=0
8133965SjdpBFD_HOST_64_BIT=
8233965SjdpBFD_HOST_U_64_BIT=
8333965Sjdpif test "x${HOST_64BIT_TYPE}" = "xlong"; then
8433965Sjdp  BFD_HOST_64BIT_LONG=1
8533965Sjdpelif test "x${HOST_64BIT_TYPE}" != "x"; then
8633965Sjdp  BFD_HOST_64_BIT_DEFINED=1
8733965Sjdp  BFD_HOST_64_BIT=${HOST_64BIT_TYPE}
8833965Sjdp  BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE}
8933965Sjdpfi
9033965SjdpAC_SUBST(BFD_HOST_64BIT_LONG)
9133965SjdpAC_SUBST(BFD_HOST_64_BIT_DEFINED)
9233965SjdpAC_SUBST(BFD_HOST_64_BIT)
9333965SjdpAC_SUBST(BFD_HOST_U_64_BIT)
9433965Sjdp
9533965SjdpBFD_CC_FOR_BUILD
9633965Sjdp
9733965SjdpAC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h)
9833965SjdpAC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h)
9933965SjdpAC_HEADER_TIME
10060484SobrienAC_HEADER_DIRENT
10160484SobrienAC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid)
10233965Sjdp
10333965SjdpBFD_BINARY_FOPEN
10433965Sjdp
10533965SjdpBFD_NEED_DECLARATION(strstr)
10633965SjdpBFD_NEED_DECLARATION(malloc)
10733965SjdpBFD_NEED_DECLARATION(realloc)
10833965SjdpBFD_NEED_DECLARATION(free)
10933965SjdpBFD_NEED_DECLARATION(getenv)
11033965Sjdp
11133965Sjdp# If we are configured native, pick a core file support file.
11233965SjdpCOREFILE=
11333965SjdpCOREFLAG=
11460484SobrienTRAD_HEADER=
11533965Sjdpif test "${target}" = "${host}"; then
11633965Sjdp  case "${host}" in
11738889Sjdp  alpha*-*-linux-gnu*)
11838889Sjdp	COREFILE=trad-core.lo
11960484Sobrien	TRAD_HEADER='"hosts/alphalinux.h"'
12033965Sjdp	;;
12138889Sjdp  alpha*-*-netbsd*)	COREFILE=netbsd-core.lo ;;
12238889Sjdp  alpha*-*-*)		COREFILE=osf-core.lo ;;
12338889Sjdp  arm-*-riscix)		COREFILE=trad-core.lo ;;
12438889Sjdp  hppa*-*-hpux*)	COREFILE=hpux-core.lo ;;
12538889Sjdp  hppa*-*-hiux*)	COREFILE=hpux-core.lo ;;
12660484Sobrien  hppa*-*-mpeix*)	COREFILE=hpux-core.lo ;;
12738889Sjdp  hppa*-*-bsd*)		COREFILE="hpux-core.lo hppabsd-core.lo"
12833965Sjdp			COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;;
12960484Sobrien  i370-*-*)		
13060484Sobrien	COREFILE=trad-core.lo
13160484Sobrien	TRAD_HEADER='"hosts/i370linux.h"'
13260484Sobrien	;;
13360484Sobrien
13433965Sjdpchangequote(,)dnl
13533965Sjdp  i[3456]86-sequent-bsd*)
13633965Sjdpchangequote([,])dnl
13760484Sobrien	COREFILE=trad-core.lo
13860484Sobrien	TRAD_HEADER='"hosts/symmetry.h"'
13933965Sjdp	;;
14033965Sjdpchangequote(,)dnl
14133965Sjdp  i[3456]86-sequent-sysv4*) ;;
14233965Sjdp  i[3456]86-sequent-sysv*)
14333965Sjdpchangequote([,])dnl
14438889Sjdp	COREFILE=trad-core.lo
14560484Sobrien	TRAD_HEADER='"hosts/symmetry.h"'
14633965Sjdp	;;
14733965Sjdpchangequote(,)dnl
14833965Sjdp  i[3456]86-*-bsd* | i[3456]86-*-freebsd*)
14933965Sjdpchangequote([,])dnl
15038889Sjdp	COREFILE=trad-core.lo
15160484Sobrien	TRAD_HEADER='"hosts/i386bsd.h"'
15233965Sjdp	;;
15333965Sjdpchangequote(,)dnl
15433965Sjdp  i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
15533965Sjdpchangequote([,])dnl
15638889Sjdp	COREFILE=netbsd-core.lo
15733965Sjdp	;;
15833965Sjdpchangequote(,)dnl
15933965Sjdp  i[3456]86-esix-sysv3*)
16033965Sjdpchangequote([,])dnl
16138889Sjdp	COREFILE=trad-core.lo
16260484Sobrien	TRAD_HEADER='"hosts/esix.h"'
16333965Sjdp	;;
16433965Sjdpchangequote(,)dnl
16560484Sobrien  i[3456]86-*-sco3.2v5*)
16660484Sobrienchangequote([,])dnl
16760484Sobrien	COREFILE=sco5-core.lo
16860484Sobrien	;;
16960484Sobrienchangequote(,)dnl
17033965Sjdp  i[3456]86-*-sco* | i[3456]86-*-isc*)
17133965Sjdpchangequote([,])dnl
17238889Sjdp	COREFILE=trad-core.lo
17360484Sobrien	TRAD_HEADER='"hosts/i386sco.h"'
17433965Sjdp	;;
17533965Sjdpchangequote(,)dnl
17633965Sjdp  i[3456]86-*-mach3*)
17733965Sjdpchangequote([,])dnl
17838889Sjdp	COREFILE=trad-core.lo
17960484Sobrien	TRAD_HEADER='"hosts/i386mach3.h"'
18033965Sjdp	;;
18133965Sjdpchangequote(,)dnl
18238889Sjdp  i[3456]86-*-linux-gnu*)
18333965Sjdpchangequote([,])dnl
18438889Sjdp	COREFILE=trad-core.lo
18560484Sobrien	TRAD_HEADER='"hosts/i386linux.h"'
18633965Sjdp	;;
18733965Sjdpchangequote(,)dnl
18838889Sjdp  i[3456]86-*-isc*)	COREFILE=trad-core.lo ;;
18938889Sjdp  i[3456]86-*-aix*)	COREFILE=aix386-core.lo ;;
19033965Sjdpchangequote([,])dnl
19133965Sjdp  i860-*-mach3* | i860-*-osf1*)
19238889Sjdp	COREFILE=trad-core.lo
19360484Sobrien	TRAD_HEADER='"hosts/i860mach3.h"'
19433965Sjdp	;;
19533965Sjdp  mips-dec-bsd*)
19638889Sjdp	COREFILE=trad-core.lo
19760484Sobrien	TRAD_HEADER='"hosts/mipsbsd.h"'
19833965Sjdp	;;
19933965Sjdp  mips-dec-mach3*)
20038889Sjdp	COREFILE=trad-core.lo
20160484Sobrien	TRAD_HEADER='"hosts/mipsmach3.h"'
20233965Sjdp	;;
20333965Sjdp  mips-*-netbsd* | mips*-*-openbsd*)
20438889Sjdp	COREFILE=netbsd-core.lo
20533965Sjdp	;;
20633965Sjdp  mips-dec-*)
20738889Sjdp	COREFILE=trad-core.lo
20860484Sobrien	TRAD_HEADER='"hosts/decstation.h"'
20933965Sjdp	;;
21038889Sjdp  mips-sgi-irix4*)	COREFILE=irix-core.lo ;;
21138889Sjdp  mips-sgi-irix5*)	COREFILE=irix-core.lo ;;
21238889Sjdp  mips-sgi-irix6*)	COREFILE=irix-core.lo ;;
21333965Sjdp  mips-*-mach3*)
21438889Sjdp	COREFILE=trad-core.lo
21560484Sobrien	TRAD_HEADER='"hosts/mipsmach3.h"'
21633965Sjdp	;;
21733965Sjdp  mips-*-sysv4*)	;;
21833965Sjdp  mips-*-sysv* | mips-*-riscos*)
21938889Sjdp	COREFILE=trad-core.lo
22060484Sobrien	TRAD_HEADER='"hosts/riscos.h"'
22133965Sjdp	;;
22233965Sjdp  mips-sony-bsd*)
22338889Sjdp	COREFILE=trad-core.lo
22460484Sobrien	TRAD_HEADER='"hosts/news-mips.h"'
22533965Sjdp	;;
22633965Sjdp  m68*-bull*-sysv*)
22738889Sjdp	COREFILE=trad-core.lo
22860484Sobrien	TRAD_HEADER='"hosts/dpx2.h"'
22933965Sjdp	;;
23038889Sjdp  m68*-hp-hpux*)	COREFILE=hpux-core.lo ;;
23133965Sjdp  m68*-hp-bsd*)
23238889Sjdp	COREFILE=trad-core.lo
23360484Sobrien	TRAD_HEADER='"hosts/hp300bsd.h"'
23433965Sjdp	;;
23538889Sjdp  m68*-*-linux-gnu*)
23638889Sjdp	COREFILE=trad-core.lo
23760484Sobrien	TRAD_HEADER='"hosts/m68klinux.h"'
23833965Sjdp	;;
23933965Sjdp  m68*-motorola-sysv*)
24038889Sjdp	COREFILE=trad-core.lo
24160484Sobrien	TRAD_HEADER='"hosts/delta68.h"'
24233965Sjdp	;;
24333965Sjdp  m68*-sony-*)
24438889Sjdp	COREFILE=trad-core.lo
24560484Sobrien	TRAD_HEADER='"hosts/news.h"'
24633965Sjdp	;;
24733965Sjdp  m68*-*-netbsd* | m68*-*-openbsd*)
24838889Sjdp	COREFILE=netbsd-core.lo
24933965Sjdp	;;
25033965Sjdp  m68*-apple-aux*)
25138889Sjdp	COREFILE=trad-core.lo
25260484Sobrien	TRAD_HEADER='"hosts/m68kaux.h"'
25333965Sjdp	;;
25433965Sjdp  m88*-*-sysv4*)	;;
25538889Sjdp  m88*-motorola-sysv*)	COREFILE=ptrace-core.lo ;;
25633965Sjdp  m88*-*-mach3*)
25738889Sjdp	COREFILE=trad-core.lo
25860484Sobrien	TRAD_HEADER='"hosts/m88kmach3.h"'
25933965Sjdp	;;
26033965Sjdp  ns32k-pc532-mach)
26138889Sjdp	COREFILE=trad-core.lo
26260484Sobrien	TRAD_HEADER='"hosts/pc532mach.h"'
26333965Sjdp	;;
26433965Sjdp  ns32k-*-netbsd* | ns32k-*-openbsd*)
26538889Sjdp	COREFILE=netbsd-core.lo
26633965Sjdp	;;
26738889Sjdp  rs6000-*-lynx*)	COREFILE=lynx-core.lo ;;
26838889Sjdp  rs6000-*-aix4*)	COREFILE=rs6000-core.lo ;;
26938889Sjdp  rs6000-*-*)		COREFILE=rs6000-core.lo ;;
27038889Sjdp  powerpc-*-*bsd*)	COREFILE=netbsd-core.lo ;;
27138889Sjdp  powerpc-*-aix4*)	COREFILE=rs6000-core.lo ;;
27238889Sjdp  powerpc-*-aix*)	COREFILE=rs6000-core.lo ;;
27333965Sjdp  powerpc-*-beos*)	;;
27438889Sjdp  powerpc-*-netbsd*)	COREFILE=netbsd-core.lo ;;
27533965Sjdp  sparc-*-netbsd* | sparc-*-openbsd*)
27638889Sjdp	COREFILE=netbsd-core.lo
27733965Sjdp	;;
27833965Sjdp  tahoe-*-*)
27938889Sjdp	COREFILE=trad-core.lo
28060484Sobrien	TRAD_HEADER='"hosts/tahoe.h"'
28133965Sjdp	;;
28233965Sjdp  vax-*-ultrix2*)
28338889Sjdp	COREFILE=trad-core.lo
28460484Sobrien	TRAD_HEADER='"hosts/vaxult2.h"'
28533965Sjdp	;;
28633965Sjdp  vax-*-ultrix*)
28738889Sjdp	COREFILE=trad-core.lo
28860484Sobrien	TRAD_HEADER='"hosts/vaxult2.h"'
28933965Sjdp	;;
29033965Sjdp  vax-*-*)
29138889Sjdp	COREFILE=trad-core.lo
29260484Sobrien	TRAD_HEADER='"hosts/vaxbsd.h"'
29333965Sjdp	;;
29433965Sjdp  esac
29533965Sjdp
29633965Sjdp  case "$COREFILE" in
29738889Sjdp  aix386-core.lo)	COREFLAG=-DAIX386_CORE ;;
29838889Sjdp  hppabsd-core.lo)	COREFLAG=-DHPPABSD_CORE ;;
29938889Sjdp  hpux-core.lo)		COREFLAG=-DHPUX_CORE ;;
30038889Sjdp  irix-core.lo)		COREFLAG=-DIRIX_CORE ;;
30138889Sjdp  lynx-core.lo)		COREFLAG=-DLYNX_CORE ;;
30238889Sjdp  netbsd-core.lo)	COREFLAG=-DNETBSD_CORE ;;
30338889Sjdp  osf-core.lo)		COREFLAG=-DOSF_CORE ;;
30438889Sjdp  ptrace-core.lo)	COREFLAG=-DPTRACE_CORE ;;
30538889Sjdp  rs6000-core.lo)	COREFLAG="$COREFLAG -DAIX_CORE" ;;
30660484Sobrien  sco5-core.lo)		COREFLAG="$COREFLAG -DSCO5_CORE" ;;
30738889Sjdp  trad-core.lo)		COREFLAG="$COREFLAG -DTRAD_CORE" ;;
30833965Sjdp  esac
30933965Sjdp
31060484Sobrien  # ELF corefile support has several flavors, but all of
31160484Sobrien  # them use something called <sys/procfs.h>
31260484Sobrien  AC_CHECK_HEADERS(sys/procfs.h)
31360484Sobrien  if test "$ac_cv_header_sys_procfs_h" = yes; then
31460484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE(prstatus_t)
31560484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus_t, pr_who)
31660484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
31760484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo_t)
31860484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE(psinfo_t)
31960484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE(lwpstatus_t)
32060484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_context)
32160484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_reg)
32260484Sobrien    BFD_HAVE_SYS_PROCFS_TYPE(win32_pstatus_t)
32333965Sjdp  fi
32433965Sjdpfi
32533965SjdpAC_SUBST(COREFILE)
32633965SjdpAC_SUBST(COREFLAG)
32760484SobrienAC_DEFINE_UNQUOTED(TRAD_HEADER, $TRAD_HEADER,
32860484Sobrien  [Name of host specific header file to include in trad-core.c.])
32933965Sjdp
33060484Sobrien# Horrible hacks to build DLLs on Windows.
33160484SobrienWIN32LDFLAGS=
33260484SobrienWIN32LIBADD=
33360484Sobriencase "${host}" in
33460484Sobrien*-*-cygwin*)
33560484Sobrien  if test "$enable_shared" = "yes"; then
33660484Sobrien    WIN32LDFLAGS="-no-undefined"
33760484Sobrien    WIN32LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32"
33860484Sobrien  fi
33960484Sobrien  ;;
34060484Sobrienesac
34160484SobrienAC_SUBST(WIN32LDFLAGS)
34260484SobrienAC_SUBST(WIN32LIBADD)
34360484Sobrien
34433965Sjdp# target stuff:
34533965Sjdp
34633965Sjdp# Canonicalize the secondary target names.
34733965Sjdpif test -n "$enable_targets" ; then
34833965Sjdp    for targ in `echo $enable_targets | sed 's/,/ /g'`
34933965Sjdp    do
35060484Sobrien	result=`$ac_config_sub $targ 2>/dev/null`
35133965Sjdp	if test -n "$result" ; then
35233965Sjdp	    canon_targets="$canon_targets $result"
35333965Sjdp	else
35433965Sjdp	    # Allow targets that config.sub doesn't recognize, like "all".
35533965Sjdp	    canon_targets="$canon_targets $targ"
35633965Sjdp	fi
35733965Sjdp    done
35833965Sjdpfi
35933965Sjdp
36033965Sjdpall_targets=false
36133965Sjdpdefvec=
36233965Sjdpselvecs=
36333965Sjdpselarchs=
36433965SjdpTDEFINES=
36533965Sjdpfor targ in $target $canon_targets
36633965Sjdpdo
36733965Sjdp    if test "x$targ" = "xall"; then
36833965Sjdp        all_targets=true
36933965Sjdp    else
37033965Sjdp	. $srcdir/config.bfd
37133965Sjdp	if test "x$targ" = "x$target"; then
37233965Sjdp	    defvec=$targ_defvec
37333965Sjdp	fi
37433965Sjdp	selvecs="$selvecs $targ_defvec $targ_selvecs"
37533965Sjdp	selarchs="$selarchs $targ_archs"
37633965Sjdp	TDEFINES="$TDEFINES $targ_cflags"
37733965Sjdp    fi
37833965Sjdpdone
37933965SjdpAC_SUBST(TDEFINES)
38033965Sjdp
38133965Sjdp# This processing still needs to be done if we're to decide properly whether
38233965Sjdp# 64-bit support needs to be compiled in.  Currently, it will be included if
38333965Sjdp# the default or any other explicitly requested target requires it; it
38433965Sjdp# will not be included on a 32-bit host if no 64-bit target is requested, and
38560484Sobrien# no "--with-64-bit-bfd" option is given, even if "--enable-targets=all" is
38633965Sjdp# used.
38733965Sjdp
38833965Sjdp# uniq the default and selected vectors in all the configured targets.
38933965Sjdpf=""
39033965Sjdpfor i in $selvecs ; do
39133965Sjdp    case " $f " in
39233965Sjdp    *" $i "*) ;;
39333965Sjdp    *) f="$f $i" ;;
39433965Sjdp    esac
39533965Sjdpdone
39633965Sjdpselvecs="$f"
39733965Sjdp
39838889Sjdp
39933965Sjdp# uniq the architectures in all the configured targets.
40033965Sjdpf=""
40133965Sjdpfor i in $selarchs ; do
40233965Sjdp    case " $f " in
40333965Sjdp    *" $i "*) ;;
40433965Sjdp    *) f="$f $i" ;;
40533965Sjdp    esac
40633965Sjdpdone
40733965Sjdpselarchs="$f"
40833965Sjdp
40933965Sjdp# Target backend .o files.
41033965Sjdptb=
41133965Sjdp
41260484Sobrienelf="elf.lo elflink.lo dwarf2.lo dwarf1.lo"
41333965Sjdp
41433965Sjdpfor vec in $selvecs
41533965Sjdpdo
41633965Sjdp    case "$vec" in
41733965Sjdp    # This list is alphabetized to make it easy to compare
41833965Sjdp    # with the two vector lists in targets.c.
41938889Sjdp    a29kcoff_big_vec)		tb="$tb coff-a29k.lo cofflink.lo" ;;
42038889Sjdp    a_out_adobe_vec)		tb="$tb aout-adobe.lo aout32.lo" ;;
42138889Sjdp    armcoff_little_vec)		tb="$tb coff-arm.lo cofflink.lo " ;;
42238889Sjdp    armcoff_big_vec)		tb="$tb coff-arm.lo cofflink.lo " ;;
42360484Sobrien    armnetbsd_vec)		tb="$tb armnetbsd.lo aout32.lo" ;;
42460484Sobrien    armpe_little_vec)		tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
42560484Sobrien    armpe_big_vec)		tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
42660484Sobrien    armpei_little_vec)		tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
42760484Sobrien    armpei_big_vec)		tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
42860484Sobrien    arm_epoc_pe_little_vec)	tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
42960484Sobrien    arm_epoc_pe_big_vec)	tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;;
43060484Sobrien    arm_epoc_pei_little_vec)	tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
43160484Sobrien    arm_epoc_pei_big_vec)	tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;;
43238889Sjdp    aout0_big_vec)		tb="$tb aout0.lo aout32.lo" ;;
43338889Sjdp    aout_arm_big_vec)		tb="$tb aout-arm.lo aout32.lo" ;;
43438889Sjdp    aout_arm_little_vec)	tb="$tb aout-arm.lo aout32.lo" ;;
43538889Sjdp    aout_mips_big_vec)		tb="$tb mipsbsd.lo aout32.lo" ;;
43638889Sjdp    aout_mips_little_vec)	tb="$tb mipsbsd.lo aout32.lo" ;;
43738889Sjdp    apollocoff_vec)		tb="$tb coff-apollo.lo" ;;
43838889Sjdp    b_out_vec_big_host)		tb="$tb bout.lo aout32.lo" ;;
43938889Sjdp    b_out_vec_little_host)	tb="$tb bout.lo aout32.lo" ;;
44038889Sjdp    bfd_elf64_alpha_vec)	tb="$tb elf64-alpha.lo elf64.lo $elf"
44133965Sjdp				target64=true ;;
44260484Sobrien    bfd_elf32_avr_vec)		tb="$tb elf32-avr.lo elf32.lo $elf" ;;
44338889Sjdp    bfd_elf32_littlearc_vec)	tb="$tb elf32-arc.lo elf32.lo $elf" ;;
44460484Sobrien    bfd_elf32_littlearm_vec)	tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
44560484Sobrien    bfd_elf32_littlearm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
44638889Sjdp    bfd_elf32_bigarc_vec)	tb="$tb elf32-arc.lo elf32.lo $elf" ;;
44760484Sobrien    bfd_elf32_bigarm_vec)	tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
44860484Sobrien    bfd_elf32_bigarm_oabi_vec)	tb="$tb elfarm-oabi.lo elf32.lo $elf" ;;
44938889Sjdp    bfd_elf32_big_generic_vec) 	tb="$tb elf32-gen.lo elf32.lo $elf" ;;
45038889Sjdp    bfd_elf32_bigmips_vec) 	tb="$tb elf32-mips.lo elf32.lo $elf ecofflink.lo" ;;
45138889Sjdp    bfd_elf64_bigmips_vec) 	tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo"
45233965Sjdp				target64=true ;;
45338889Sjdp    bfd_elf32_d10v_vec)		tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
45460484Sobrien    bfd_elf32_d30v_vec)		tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
45560484Sobrien    bfd_elf32_fr30_vec)		tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
45638889Sjdp    bfd_elf32_hppa_vec)		tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
45760484Sobrien    bfd_elf32_i370_vec)		tb="$tb elf32-i370.lo elf32.lo $elf" ;;
45838889Sjdp    bfd_elf32_i386_vec)		tb="$tb elf32-i386.lo elf32.lo $elf" ;;
45938889Sjdp    bfd_elf32_i860_vec)		tb="$tb elf32-i860.lo elf32.lo $elf" ;;
46060484Sobrien    bfd_elf32_i960_vec)		tb="$tb elf32-i960.lo elf32.lo $elf" ;;
46138889Sjdp    bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
46238889Sjdp    bfd_elf32_littlemips_vec) 	tb="$tb elf32-mips.lo elf32.lo $elf ecofflink.lo" ;;
46338889Sjdp    bfd_elf64_littlemips_vec) 	tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo"
46433965Sjdp				target64=true ;;
46538889Sjdp    bfd_elf32_m32r_vec)		tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
46638889Sjdp    bfd_elf32_m68k_vec)		tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
46738889Sjdp    bfd_elf32_m88k_vec)		tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
46860484Sobrien    bfd_elf32_mcore_big_vec)	tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
46960484Sobrien    bfd_elf32_mcore_little_vec)	tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
47038889Sjdp    bfd_elf32_mn10200_vec)	tb="$tb elf-m10200.lo elf32.lo $elf" ;;
47138889Sjdp    bfd_elf32_mn10300_vec)	tb="$tb elf-m10300.lo elf32.lo $elf" ;;
47260484Sobrien    bfd_elf32_pj_vec)           tb="$tb elf32-pj.lo elf32.lo $elf";;
47360484Sobrien    bfd_elf32_pjl_vec)          tb="$tb elf32-pj.lo elf32.lo $elf";;
47438889Sjdp    bfd_elf32_powerpc_vec)	tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
47538889Sjdp    bfd_elf32_powerpcle_vec)	tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
47638889Sjdp    bfd_elf32_sh_vec)		tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
47738889Sjdp    bfd_elf32_shl_vec)		tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
47838889Sjdp    bfd_elf32_sparc_vec)	tb="$tb elf32-sparc.lo elf32.lo $elf" ;;
47938889Sjdp    bfd_elf32_v850_vec)		tb="$tb elf32-v850.lo elf32.lo $elf" ;;
48038889Sjdp    bfd_elf64_big_generic_vec) 	tb="$tb elf64-gen.lo elf64.lo $elf"
48133965Sjdp				target64=true ;;
48238889Sjdp    bfd_elf64_little_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"
48333965Sjdp				target64=true ;;
48438889Sjdp    bfd_elf64_sparc_vec)	tb="$tb elf64-sparc.lo elf64.lo $elf"
48533965Sjdp				target64=true ;;
48660484Sobrien    cisco_core_big_vec)		tb="$tb cisco-core.lo" ;;
48760484Sobrien    cisco_core_little_vec)	tb="$tb cisco-core.lo" ;;
48838889Sjdp    demo_64_vec)		tb="$tb demo64.lo aout64.lo"
48933965Sjdp				target64=true ;;
49038889Sjdp    ecoff_big_vec)		tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
49138889Sjdp    ecoff_little_vec)		tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
49238889Sjdp    ecoff_biglittle_vec)	tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
49338889Sjdp    ecoffalpha_little_vec)	tb="$tb coff-alpha.lo ecoff.lo ecofflink.lo"
49433965Sjdp				target64=true ;;
49538889Sjdp    go32coff_vec)		tb="$tb coff-go32.lo cofflink.lo" ;;
49638889Sjdp    go32stubbedcoff_vec)	tb="$tb coff-stgo32.lo cofflink.lo" ;;
49738889Sjdp    h8300coff_vec)		tb="$tb coff-h8300.lo reloc16.lo" ;;
49838889Sjdp    h8500coff_vec)		tb="$tb coff-h8500.lo reloc16.lo" ;;
49938889Sjdp    host_aout_vec)		tb="$tb host-aout.lo aout32.lo" ;;
50038889Sjdp    hp300bsd_vec)		tb="$tb hp300bsd.lo aout32.lo" ;;
50138889Sjdp    hp300hpux_vec)		tb="$tb hp300hpux.lo aout32.lo" ;;
50238889Sjdp    i386aout_vec)		tb="$tb i386aout.lo aout32.lo" ;;
50338889Sjdp    i386bsd_vec)		tb="$tb i386bsd.lo aout32.lo" ;;
50438889Sjdp    i386coff_vec)		tb="$tb coff-i386.lo cofflink.lo" ;;
50538889Sjdp    i386dynix_vec)		tb="$tb i386dynix.lo aout32.lo" ;;
50638889Sjdp    i386freebsd_vec)		tb="$tb i386freebsd.lo aout32.lo" ;;
50738889Sjdp    i386msdos_vec)		tb="$tb i386msdos.lo" ;;
50860484Sobrien    i386pe_vec)			tb="$tb pe-i386.lo peigen.lo cofflink.lo" ;;
50960484Sobrien    i386pei_vec)		tb="$tb pei-i386.lo peigen.lo cofflink.lo" ;;
51038889Sjdp    i386linux_vec)		tb="$tb i386linux.lo aout32.lo" ;;
51138889Sjdp    i386lynx_aout_vec)		tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
51238889Sjdp    i386lynx_coff_vec)		tb="$tb cf-i386lynx.lo cofflink.lo lynx-core.lo" ;;
51338889Sjdp    i386mach3_vec)		tb="$tb i386mach3.lo aout32.lo" ;;
51438889Sjdp    i386netbsd_vec)		tb="$tb i386netbsd.lo aout32.lo" ;;
51538889Sjdp    i386os9k_vec)		tb="$tb i386os9k.lo aout32.lo" ;;
51638889Sjdp    i860coff_vec)		tb="$tb coff-i860.lo cofflink.lo" ;;
51738889Sjdp    icoff_big_vec)		tb="$tb coff-i960.lo cofflink.lo" ;;
51838889Sjdp    icoff_little_vec)		tb="$tb coff-i960.lo cofflink.lo" ;;
51938889Sjdp    ieee_vec)			tb="$tb ieee.lo" ;;
52038889Sjdp    m68kcoff_vec)		tb="$tb coff-m68k.lo cofflink.lo" ;;
52138889Sjdp    m68kcoffun_vec)		tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;;
52238889Sjdp    m68klinux_vec)		tb="$tb m68klinux.lo aout32.lo" ;;
52338889Sjdp    m68klynx_aout_vec)		tb="$tb m68klynx.lo lynx-core.lo aout32.lo" ;;
52438889Sjdp    m68klynx_coff_vec)		tb="$tb cf-m68klynx.lo coff-m68k.lo cofflink.lo lynx-core.lo" ;;
52538889Sjdp    m68knetbsd_vec)		tb="$tb m68knetbsd.lo aout32.lo" ;;
52638889Sjdp    m68k4knetbsd_vec)		tb="$tb m68k4knetbsd.lo aout32.lo" ;;
52738889Sjdp    m68kaux_coff_vec)		tb="$tb coff-aux.lo coff-m68k.lo cofflink.lo" ;;
52838889Sjdp    m68ksysvcoff_vec)		tb="$tb coff-svm68k.lo cofflink.lo" ;;
52938889Sjdp    m88kbcs_vec)		tb="$tb coff-m88k.lo" ;;
53060484Sobrien    mipslpe_vec)		tb="$tb pe-mips.lo cofflink.lo" ;;
53160484Sobrien    mipslpei_vec)		tb="$tb pei-mips.lo cofflink.lo" ;;
53260484Sobrien    mcore_pe_big_vec)		tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;;
53360484Sobrien    mcore_pe_little_vec)	tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;;
53460484Sobrien    mcore_pei_big_vec)		tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;;
53560484Sobrien    mcore_pei_little_vec)	tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;;
53638889Sjdp    newsos3_vec)		tb="$tb newsos3.lo aout32.lo" ;;
53738889Sjdp    nlm32_i386_vec)		tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
53838889Sjdp    nlm32_sparc_vec)		tb="$tb nlm32-sparc.lo nlm32.lo nlm.lo" ;;
53938889Sjdp    nlm32_alpha_vec)		tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"
54033965Sjdp				target64=true ;;
54138889Sjdp    riscix_vec)			tb="$tb aout32.lo riscix.lo" ;;
54238889Sjdp    nlm32_powerpc_vec)		tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;;
54338889Sjdp    pc532netbsd_vec)		tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
54438889Sjdp    pc532machaout_vec)		tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
54538889Sjdp    pmac_xcoff_vec)		tb="$tb coff-pmac.lo xcofflink.lo" ;;
54638889Sjdp    rs6000coff_vec)		tb="$tb coff-rs6000.lo xcofflink.lo" ;;
54760484Sobrien    bfd_powerpc_pe_vec)         tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;  
54860484Sobrien    bfd_powerpcle_pe_vec)       tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;;  
54960484Sobrien    bfd_powerpc_pei_vec)        tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
55060484Sobrien    bfd_powerpcle_pei_vec)      tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;;
55138889Sjdp    ppcboot_vec)		tb="$tb ppcboot.lo" ;;
55238889Sjdp    shcoff_vec)			tb="$tb coff-sh.lo cofflink.lo" ;;
55338889Sjdp    shlcoff_vec)		tb="$tb coff-sh.lo cofflink.lo" ;;
55438889Sjdp    shcoff_small_vec)		tb="$tb coff-sh.lo cofflink.lo" ;;
55538889Sjdp    shlcoff_small_vec)		tb="$tb coff-sh.lo cofflink.lo" ;;
55660484Sobrien    shlpe_vec)			tb="$tb pe-sh.lo coff-sh.lo cofflink.lo" ;;
55760484Sobrien    shlpei_vec)			tb="$tb pei-sh.lo coff-sh.lo cofflink.lo" ;;
55838889Sjdp    som_vec)			tb="$tb som.lo" ;;
55938889Sjdp    sparcle_aout_vec)		tb="$tb aout-sparcle.lo aout32.lo" ;;
56038889Sjdp    sparclinux_vec)		tb="$tb sparclinux.lo aout32.lo" ;;
56138889Sjdp    sparclynx_aout_vec)		tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;;
56238889Sjdp    sparclynx_coff_vec)		tb="$tb cf-sparclynx.lo lynx-core.lo" ;;
56338889Sjdp    sparcnetbsd_vec)		tb="$tb sparcnetbsd.lo aout32.lo" ;;
56438889Sjdp    sparccoff_vec)		tb="$tb coff-sparc.lo" ;;
56538889Sjdp    srec_vec)			tb="$tb srec.lo" ;;
56638889Sjdp    sunos_big_vec)		tb="$tb sunos.lo aout32.lo" ;;
56738889Sjdp    symbolsrec_vec)		tb="$tb srec.lo" ;;
56838889Sjdp    tekhex_vec)			tb="$tb tekhex.lo" ;;
56938889Sjdp    tic30_aout_vec)		tb="$tb aout-tic30.lo" ;;
57038889Sjdp    tic30_coff_vec)		tb="$tb coff-tic30.lo" ;;
57160484Sobrien    tic80coff_vec)		tb="$tb coff-tic80.lo cofflink.lo" ;;
57260484Sobrien    versados_vec)		tb="$tb versados.lo" ;;
57360484Sobrien    vms_alpha_vec)		tb="$tb vms.lo vms-hdr.lo vms-gsd.lo vms-tir.lo vms-misc.lo"
57460484Sobrien 				target64=true ;;
57560484Sobrien    vms_vax_vec)		tb="$tb vms.lo vms-hdr.lo vms-gsd.lo vms-tir.lo vms-misc.lo" ;;
57660484Sobrien    w65_vec)			tb="$tb coff-w65.lo reloc16.lo" ;;
57738889Sjdp    we32kcoff_vec)		tb="$tb coff-we32k.lo" ;;
57838889Sjdp    z8kcoff_vec)		tb="$tb coff-z8k.lo reloc16.lo" ;;
57933965Sjdp
58033965Sjdp    "")			;;
58133965Sjdp    *) AC_MSG_ERROR(*** unknown target vector $vec) ;;
58233965Sjdp    esac
58333965Sjdpdone
58433965Sjdp
58533965Sjdp# Target architecture .o files.
58633965Sjdp# A couple of CPUs use shorter file names to avoid problems on DOS
58733965Sjdp# filesystems.
58838889Sjdpta=`echo $selarchs | sed -e s/bfd_/cpu-/g -e s/_arch/.lo/g -e s/mn10200/m10200/ -e s/mn10300/m10300/`
58933965Sjdp
59033965Sjdp# Weed out duplicate .o files.
59133965Sjdpf=""
59233965Sjdpfor i in $tb ; do
59333965Sjdp    case " $f " in
59433965Sjdp    *" $i "*) ;;
59533965Sjdp    *) f="$f $i" ;;
59633965Sjdp    esac
59733965Sjdpdone
59833965Sjdptb="$f"
59933965Sjdp
60033965Sjdpf=""
60133965Sjdpfor i in $ta ; do
60233965Sjdp    case " $f " in
60333965Sjdp    *" $i "*) ;;
60433965Sjdp    *) f="$f $i" ;;
60533965Sjdp    esac
60633965Sjdpdone
60733965Sjdpta="$f"
60833965Sjdp
60933965Sjdpbfd_backends="$tb"
61033965Sjdpbfd_machines="$ta"
61133965Sjdp
61233965Sjdpif test x${all_targets} = xtrue ; then
61333965Sjdp  bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)'
61433965Sjdp  bfd_machines="${bfd_machines}"' $(ALL_MACHINES)'
61533965Sjdp  selvecs=
61633965Sjdp  havevecs=
61733965Sjdp  selarchs=
61833965Sjdpelse	# all_targets is true
61933965Sjdp  # Only set these if they will be nonempty, for the clever echo.
62033965Sjdp  havevecs=
62133965Sjdp  test -n "$selvecs" &&
62233965Sjdp    havevecs=`echo $selvecs | sed -e 's/^/-DHAVE_/' -e 's/ \(.\)/ -DHAVE_\1/g'`
62333965Sjdp  test -n "$selvecs" &&
62433965Sjdp    selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
62533965Sjdp  test -n "$selarchs" &&
62633965Sjdp    selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
62733965Sjdpfi	# all_targets is true
62833965Sjdp
62933965Sjdpcase ${host64}-${target64}-${want64} in
63033965Sjdp  *true*)
63133965Sjdp    wordsize=64
63233965Sjdp    all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
63333965Sjdp    if test -z "$GCC" && test "$BFD_HOST_64BIT_LONG" = "0" && test "$BFD_HOST_64_BIT_DEFINED" = "0"; then
63433965Sjdp      AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
63533965Sjdp      AC_MSG_WARN([your compiler may not have a 64 bit integral type])
63633965Sjdp    fi
63733965Sjdp    ;;
63833965Sjdp  false-false-false)
63933965Sjdp    wordsize=32
64033965Sjdp    all_backends='$(BFD32_BACKENDS)'
64133965Sjdp    ;;
64233965Sjdpesac
64333965Sjdp
64433965SjdpAC_SUBST(wordsize)
64533965SjdpAC_SUBST(all_backends)
64633965SjdpAC_SUBST(bfd_backends)
64733965SjdpAC_SUBST(bfd_machines)
64833965Sjdp
64933965Sjdptdefaults=""
65033965Sjdptest -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
65133965Sjdptest -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
65233965Sjdptest -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
65333965Sjdptest -n "${havevecs}" && tdefaults="${tdefaults} ${havevecs}"
65433965SjdpAC_SUBST(tdefaults)
65533965Sjdp
65633965Sjdpdnl AC_CHECK_HEADERS(sys/mman.h)
65733965SjdpAC_FUNC_MMAP
65833965SjdpAC_CHECK_FUNCS(madvise mprotect)
65933965Sjdpcase ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in
66060484Sobrien  true+yes )  AC_DEFINE(USE_MMAP, 1, [Use mmap if it's available?]) ;;
66133965Sjdpesac
66233965Sjdp
66333965Sjdprm -f doc/config.status
66460484SobrienAC_OUTPUT(Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in,
66560484Sobrien[sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile])
666