configure.in revision 33965
133965Sjdpdnl Process this file with autoconf to produce a configure script.
233965Sjdpdnl
333965SjdpAC_PREREQ(2.5)
433965SjdpAC_INIT(libbfd.c)
533965Sjdp
633965SjdpAC_ARG_ENABLE(64-bit-bfd,
733965Sjdp[  --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)],
833965Sjdp[case "${enableval}" in
933965Sjdp  yes)  want64=true  ;;
1033965Sjdp  no)   want64=false ;;
1133965Sjdp  *)    AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
1233965Sjdpesac],[want64=false])dnl
1333965SjdpAC_ARG_ENABLE(targets,
1433965Sjdp[  --enable-targets        alternative target configurations],
1533965Sjdp[case "${enableval}" in
1633965Sjdp  yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
1733965Sjdp            ;;
1833965Sjdp  no)       enable_targets= ;;
1933965Sjdp  *)        enable_targets=$enableval ;;
2033965Sjdpesac])dnl
2133965SjdpAC_ARG_ENABLE(shared,
2233965Sjdp[  --enable-shared         build shared BFD library],
2333965Sjdp[case "${enableval}" in
2433965Sjdp  yes) shared=true ;;
2533965Sjdp  no)  shared=false ;;
2633965Sjdp  *bfd*) shared=true ;;
2733965Sjdp  *) shared=false ;;
2833965Sjdpesac])dnl
2933965SjdpAC_ARG_ENABLE(commonbfdlib,
3033965Sjdp[  --enable-commonbfdlib   build shared BFD/opcodes/libiberty library],
3133965Sjdp[case "${enableval}" in
3233965Sjdp  yes) commonbfdlib=true ;;
3333965Sjdp  no)  commonbfdlib=false ;;
3433965Sjdp  *)   AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
3533965Sjdpesac])dnl
3633965SjdpAC_ARG_WITH(mmap,
3733965Sjdp[  --with-mmap             try using mmap for BFD input files if available],
3833965Sjdp[case "${withval}" in
3933965Sjdp  yes)  want_mmap=true ;;
4033965Sjdp  no)   want_mmap=false ;;
4133965Sjdp  *)    AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;;
4233965Sjdpesac],[want_mmap=false])dnl
4333965Sjdp
4433965SjdpAC_CONFIG_HEADER(config.h:config.in)
4533965Sjdp
4633965SjdpAC_CONFIG_AUX_DIR(`cd $srcdir/..;pwd`)
4733965SjdpAC_CANONICAL_SYSTEM
4833965Sjdpif test -z "$target" ; then
4933965Sjdp    AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
5033965Sjdpfi
5133965SjdpAC_ARG_PROGRAM
5233965Sjdp
5333965Sjdphost64=false
5433965Sjdptarget64=false
5533965Sjdp
5633965Sjdp# host stuff:
5733965Sjdp
5833965SjdpALLLIBS='$(TARGETLIB)'
5933965SjdpPICFLAG=
6033965SjdpSHLIB=unused-shlib
6133965SjdpSHLINK=unused-shlink
6233965Sjdpif test "${shared}" = "true"; then
6333965Sjdp  PICFLAG=-fpic
6433965Sjdp  if test "${commonbfdlib}" = "true"; then
6533965Sjdp    ALLLIBS='$(TARGETLIB)'
6633965Sjdp  else
6733965Sjdp    ALLLIBS='$(TARGETLIB) $(SHLIB) $(SHLINK)'
6833965Sjdpchangequote(,)dnl
6933965Sjdp    SHLIB=libbfd.so.`sed -e 's/[^0-9]*\([0-9.]*\).*/\1/' ${srcdir}/VERSION`
7033965Sjdpchangequote([,])dnl
7133965Sjdp    SHLINK=libbfd.so
7233965Sjdp  fi
7333965Sjdpfi
7433965Sjdp
7533965SjdpAC_PROG_CC
7633965Sjdp
7733965SjdpAC_ISC_POSIX
7833965Sjdp
7933965Sjdp# Permit host specific settings.
8033965Sjdp. ${srcdir}/configure.host
8133965Sjdp
8233965SjdpAC_SUBST(HDEFINES)
8333965SjdpAC_CHECK_TOOL(AR, ar)
8433965SjdpAC_CHECK_TOOL(RANLIB, ranlib, :)
8533965SjdpAC_PROG_INSTALL
8633965Sjdp
8733965Sjdpif test "${shared}" = "true"; then
8833965Sjdp  if test "${GCC}" != "yes" && test "${shared_non_gcc}" != "yes"; then
8933965Sjdp    AC_MSG_WARN([BFD --enable-shared only supported when using gcc])
9033965Sjdp    shared=false
9133965Sjdp    ALLLIBS='$(TARGETLIB)'
9233965Sjdp    PICFLAG=
9333965Sjdp    SHLIB=unused-shlib
9433965Sjdp  fi
9533965Sjdpfi
9633965Sjdp
9733965SjdpAC_SUBST(ALLLIBS)
9833965SjdpAC_SUBST(PICFLAG)
9933965SjdpAC_SUBST(SHLIB)
10033965SjdpAC_SUBST(SHLIB_CC)
10133965SjdpAC_SUBST(SHLIB_CFLAGS)
10233965SjdpAC_SUBST(SHLIB_LIBS)
10333965Sjdpif test "${commonbfdlib}" = "true"; then
10433965Sjdp  COMMON_SHLIB=yes
10533965Sjdp  PICLIST=piclist
10633965Sjdpelse
10733965Sjdp  COMMON_SHLIB=
10833965Sjdp  PICLIST=
10933965Sjdpfi
11033965SjdpAC_SUBST(COMMON_SHLIB)
11133965SjdpAC_SUBST(PICLIST)
11233965SjdpAC_SUBST(SHLINK)
11333965SjdpAC_SUBST(INSTALL_SHLIB)
11433965Sjdp
11533965SjdpVERSION=`cat ${srcdir}/VERSION`
11633965SjdpAC_SUBST(VERSION)
11733965Sjdp
11833965SjdpBFD_HOST_64BIT_LONG=0
11933965SjdpBFD_HOST_64_BIT_DEFINED=0
12033965SjdpBFD_HOST_64_BIT=
12133965SjdpBFD_HOST_U_64_BIT=
12233965Sjdpif test "x${HOST_64BIT_TYPE}" = "xlong"; then
12333965Sjdp  BFD_HOST_64BIT_LONG=1
12433965Sjdpelif test "x${HOST_64BIT_TYPE}" != "x"; then
12533965Sjdp  BFD_HOST_64_BIT_DEFINED=1
12633965Sjdp  BFD_HOST_64_BIT=${HOST_64BIT_TYPE}
12733965Sjdp  BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE}
12833965Sjdpfi
12933965SjdpAC_SUBST(BFD_HOST_64BIT_LONG)
13033965SjdpAC_SUBST(BFD_HOST_64_BIT_DEFINED)
13133965SjdpAC_SUBST(BFD_HOST_64_BIT)
13233965SjdpAC_SUBST(BFD_HOST_U_64_BIT)
13333965Sjdp
13433965SjdpBFD_CC_FOR_BUILD
13533965Sjdp
13633965SjdpAC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h)
13733965SjdpAC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h)
13833965SjdpAC_HEADER_TIME
13933965SjdpAC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf)
14033965Sjdp
14133965SjdpBFD_BINARY_FOPEN
14233965Sjdp
14333965SjdpBFD_NEED_DECLARATION(strstr)
14433965SjdpBFD_NEED_DECLARATION(malloc)
14533965SjdpBFD_NEED_DECLARATION(realloc)
14633965SjdpBFD_NEED_DECLARATION(free)
14733965SjdpBFD_NEED_DECLARATION(getenv)
14833965Sjdp
14933965Sjdp# If we are configured native, pick a core file support file.
15033965SjdpCOREFILE=
15133965SjdpCOREFLAG=
15233965Sjdpif test "${target}" = "${host}"; then
15333965Sjdp  case "${host}" in
15433965Sjdp  alpha*-*-linux*)
15533965Sjdp	COREFILE=trad-core.o
15633965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/alphalinux.h")
15733965Sjdp	;;
15833965Sjdp  alpha*-*-*)		COREFILE=osf-core.o ;;
15933965Sjdp  arm-*-riscix)		COREFILE=trad-core.o ;;
16033965Sjdp  hppa*-*-hpux*)	COREFILE=hpux-core.o ;;
16133965Sjdp  hppa*-*-hiux*)	COREFILE=hpux-core.o ;;
16233965Sjdp  hppa*-*-bsd*)		COREFILE="hpux-core.o hppabsd-core.o"
16333965Sjdp			COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;;
16433965Sjdpchangequote(,)dnl
16533965Sjdp  i[3456]86-sequent-bsd*)
16633965Sjdpchangequote([,])dnl
16733965Sjdp	COREFILE=trad-core.o;
16833965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/symmetry.h")
16933965Sjdp	;;
17033965Sjdpchangequote(,)dnl
17133965Sjdp  i[3456]86-sequent-sysv4*) ;;
17233965Sjdp  i[3456]86-sequent-sysv*)
17333965Sjdpchangequote([,])dnl
17433965Sjdp	COREFILE=trad-core.o
17533965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/symmetry.h")
17633965Sjdp	;;
17733965Sjdpchangequote(,)dnl
17833965Sjdp  i[3456]86-*-bsd* | i[3456]86-*-freebsd*)
17933965Sjdpchangequote([,])dnl
18033965Sjdp	COREFILE=trad-core.o
18133965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/i386bsd.h")
18233965Sjdp	;;
18333965Sjdpchangequote(,)dnl
18433965Sjdp  i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
18533965Sjdpchangequote([,])dnl
18633965Sjdp	COREFILE=netbsd-core.o
18733965Sjdp	;;
18833965Sjdpchangequote(,)dnl
18933965Sjdp  i[3456]86-esix-sysv3*)
19033965Sjdpchangequote([,])dnl
19133965Sjdp	COREFILE=trad-core.o
19233965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/esix.h")
19333965Sjdp	;;
19433965Sjdpchangequote(,)dnl
19533965Sjdp  i[3456]86-*-sco* | i[3456]86-*-isc*)
19633965Sjdpchangequote([,])dnl
19733965Sjdp	COREFILE=trad-core.o
19833965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/i386sco.h")
19933965Sjdp	;;
20033965Sjdpchangequote(,)dnl
20133965Sjdp  i[3456]86-*-mach3*)
20233965Sjdpchangequote([,])dnl
20333965Sjdp	COREFILE=trad-core.o
20433965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/i386mach3.h")
20533965Sjdp	;;
20633965Sjdpchangequote(,)dnl
20733965Sjdp  i[3456]86-*-linux*)
20833965Sjdpchangequote([,])dnl
20933965Sjdp	COREFILE=trad-core.o
21033965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/i386linux.h")
21133965Sjdp	;;
21233965Sjdpchangequote(,)dnl
21333965Sjdp  i[3456]86-*-isc*)	COREFILE=trad-core.o ;;
21433965Sjdp  i[3456]86-*-aix*)	COREFILE=aix386-core.o ;;
21533965Sjdpchangequote([,])dnl
21633965Sjdp  i860-*-mach3* | i860-*-osf1*)
21733965Sjdp	COREFILE=trad-core.o
21833965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/i860mach3.h")
21933965Sjdp	;;
22033965Sjdp  mips-dec-bsd*)
22133965Sjdp	COREFILE=trad-core.o
22233965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/mipsbsd.h")
22333965Sjdp	;;
22433965Sjdp  mips-dec-mach3*)
22533965Sjdp	COREFILE=trad-core.o
22633965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h")
22733965Sjdp	;;
22833965Sjdp  mips-*-netbsd* | mips*-*-openbsd*)
22933965Sjdp	COREFILE=netbsd-core.o
23033965Sjdp	;;
23133965Sjdp  mips-dec-*)
23233965Sjdp	COREFILE=trad-core.o
23333965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/decstation.h")
23433965Sjdp	;;
23533965Sjdp  mips-sgi-irix4*)	COREFILE=irix-core.o ;;
23633965Sjdp  mips-sgi-irix5*)	COREFILE=irix-core.o ;;
23733965Sjdp  mips-sgi-irix6*)	COREFILE=irix-core.o ;;
23833965Sjdp  mips-*-mach3*)
23933965Sjdp	COREFILE=trad-core.o
24033965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h")
24133965Sjdp	;;
24233965Sjdp  mips-*-sysv4*)	;;
24333965Sjdp  mips-*-sysv* | mips-*-riscos*)
24433965Sjdp	COREFILE=trad-core.o
24533965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/riscos.h")
24633965Sjdp	;;
24733965Sjdp  mips-sony-bsd*)
24833965Sjdp	COREFILE=trad-core.o
24933965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/news-mips.h")
25033965Sjdp	;;
25133965Sjdp  m68*-bull*-sysv*)
25233965Sjdp	COREFILE=trad-core.o
25333965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/dpx2.h")
25433965Sjdp	;;
25533965Sjdp  m68*-hp-hpux*)	COREFILE=hpux-core.o ;;
25633965Sjdp  m68*-hp-bsd*)
25733965Sjdp	COREFILE=trad-core.o
25833965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/hp300bsd.h")
25933965Sjdp	;;
26033965Sjdp  m68*-*-linux*)
26133965Sjdp	COREFILE=trad-core.o
26233965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/m68klinux.h")
26333965Sjdp	;;
26433965Sjdp  m68*-motorola-sysv*)
26533965Sjdp	COREFILE=trad-core.o
26633965Sjdp	AC_DEFINE(TRAD_HEADER, "hosts/delta68.h")
26733965Sjdp	;;
26833965Sjdp  m68*-sony-*)
26933965Sjdp	COREFILE=trad-core.o
27033965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/news.h")
27133965Sjdp	;;
27233965Sjdp  m68*-*-netbsd* | m68*-*-openbsd*)
27333965Sjdp	COREFILE=netbsd-core.o
27433965Sjdp	;;
27533965Sjdp  m68*-apple-aux*)
27633965Sjdp	COREFILE=trad-core.o
27733965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/m68kaux.h")
27833965Sjdp	;;
27933965Sjdp  m88*-*-sysv4*)	;;
28033965Sjdp  m88*-motorola-sysv*)	COREFILE=ptrace-core.o ;;
28133965Sjdp  m88*-*-mach3*)
28233965Sjdp	COREFILE=trad-core.o
28333965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/m88kmach3.h")
28433965Sjdp	;;
28533965Sjdp  ns32k-pc532-mach)
28633965Sjdp	COREFILE=trad-core.o
28733965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/pc532mach.h")
28833965Sjdp	;;
28933965Sjdp  ns32k-*-netbsd* | ns32k-*-openbsd*)
29033965Sjdp	COREFILE=netbsd-core.o
29133965Sjdp	;;
29233965Sjdp  rs6000-*-lynx*)	COREFILE=lynx-core.o ;;
29333965Sjdp  rs6000-*-aix4*)	COREFILE=rs6000-core.o ;;
29433965Sjdp  rs6000-*-*)		COREFILE=rs6000-core.o ;;
29533965Sjdp  powerpc-*-*bsd*)	COREFILE=netbsd-core.o ;;
29633965Sjdp  powerpc-*-aix4*)	COREFILE=rs6000-core.o ;;
29733965Sjdp  powerpc-*-aix*)	COREFILE=rs6000-core.o ;;
29833965Sjdp  powerpc-*-beos*)	;;
29933965Sjdp  sparc-*-netbsd* | sparc-*-openbsd*)
30033965Sjdp	COREFILE=netbsd-core.o
30133965Sjdp	;;
30233965Sjdp  tahoe-*-*)
30333965Sjdp	COREFILE=trad-core.o
30433965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/tahoe.h")
30533965Sjdp	;;
30633965Sjdp  vax-*-ultrix2*)
30733965Sjdp	COREFILE=trad-core.o
30833965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/vaxult2.h")
30933965Sjdp	;;
31033965Sjdp  vax-*-ultrix*)
31133965Sjdp	COREFILE=trad-core.o
31233965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/vaxult2.h")
31333965Sjdp	;;
31433965Sjdp  vax-*-*)
31533965Sjdp	COREFILE=trad-core.o
31633965Sjdp	AC_DEFINE(TRAD_HEADER,"hosts/vaxbsd.h")
31733965Sjdp	;;
31833965Sjdp  esac
31933965Sjdp
32033965Sjdp  case "$COREFILE" in
32133965Sjdp  aix386-core.o)	COREFLAG=-DAIX386_CORE ;;
32233965Sjdp  hppabsd-core.o)	COREFLAG=-DHPPABSD_CORE ;;
32333965Sjdp  hpux-core.o)		COREFLAG=-DHPUX_CORE ;;
32433965Sjdp  irix-core.o)		COREFLAG=-DIRIX_CORE ;;
32533965Sjdp  lynx-core.o)		COREFLAG=-DLYNX_CORE ;;
32633965Sjdp  osf-core.o)		COREFLAG=-DOSF_CORE ;;
32733965Sjdp  ptrace-core.o)	COREFLAG=-DPTRACE_CORE ;;
32833965Sjdp  rs6000-core.o)	COREFLAG="$COREFLAG -DAIX_CORE" ;;
32933965Sjdp  trad-core.o)		COREFLAG="$COREFLAG -DTRAD_CORE" ;;
33033965Sjdp  esac
33133965Sjdp
33233965Sjdp  # The ELF code uses the native <sys/procfs.h> to handle core files.
33333965Sjdp  # Define HAVE_SYS_PROCFS_H if the file exists and defines
33433965Sjdp  # prstatus_t.
33533965Sjdp  AC_MSG_CHECKING([for sys/procfs.h])
33633965Sjdp  AC_CACHE_VAL(bfd_cv_header_sys_procfs_h,
33733965Sjdp  [AC_TRY_COMPILE([#include <sys/procfs.h>],
33833965Sjdp  [prstatus_t t;],
33933965Sjdp  bfd_cv_header_sys_procfs_h=yes, bfd_cv_header_sys_procfs_h=no)])
34033965Sjdp  AC_MSG_RESULT($bfd_cv_header_sys_procfs_h)
34133965Sjdp  if test $bfd_cv_header_sys_procfs_h = yes; then
34233965Sjdp    AC_DEFINE(HAVE_SYS_PROCFS_H)
34333965Sjdp  fi
34433965Sjdp
34533965Sjdpfi
34633965SjdpAC_SUBST(COREFILE)
34733965SjdpAC_SUBST(COREFLAG)
34833965Sjdp
34933965Sjdp# target stuff:
35033965Sjdp
35133965Sjdp# Canonicalize the secondary target names.
35233965Sjdpif test -n "$enable_targets" ; then
35333965Sjdp    for targ in `echo $enable_targets | sed 's/,/ /g'`
35433965Sjdp    do
35533965Sjdp	result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
35633965Sjdp	if test -n "$result" ; then
35733965Sjdp	    canon_targets="$canon_targets $result"
35833965Sjdp	else
35933965Sjdp	    # Allow targets that config.sub doesn't recognize, like "all".
36033965Sjdp	    canon_targets="$canon_targets $targ"
36133965Sjdp	fi
36233965Sjdp    done
36333965Sjdpfi
36433965Sjdp
36533965Sjdpall_targets=false
36633965Sjdpdefvec=
36733965Sjdpselvecs=
36833965Sjdpselarchs=
36933965SjdpTDEFINES=
37033965Sjdpfor targ in $target $canon_targets
37133965Sjdpdo
37233965Sjdp    if test "x$targ" = "xall"; then
37333965Sjdp        all_targets=true
37433965Sjdp    else
37533965Sjdp	. $srcdir/config.bfd
37633965Sjdp	if test "x$targ" = "x$target"; then
37733965Sjdp	    defvec=$targ_defvec
37833965Sjdp	fi
37933965Sjdp	selvecs="$selvecs $targ_defvec $targ_selvecs"
38033965Sjdp	selarchs="$selarchs $targ_archs"
38133965Sjdp	TDEFINES="$TDEFINES $targ_cflags"
38233965Sjdp    fi
38333965Sjdpdone
38433965SjdpAC_SUBST(TDEFINES)
38533965Sjdp
38633965Sjdp# This processing still needs to be done if we're to decide properly whether
38733965Sjdp# 64-bit support needs to be compiled in.  Currently, it will be included if
38833965Sjdp# the default or any other explicitly requested target requires it; it
38933965Sjdp# will not be included on a 32-bit host if no 64-bit target is requested, and
39033965Sjdp# no "--with-64-bit-bfd" option is given, even if "--with-targets=all" is
39133965Sjdp# used.
39233965Sjdp
39333965Sjdp# uniq the default and selected vectors in all the configured targets.
39433965Sjdpf=""
39533965Sjdpfor i in $selvecs ; do
39633965Sjdp    case " $f " in
39733965Sjdp    *" $i "*) ;;
39833965Sjdp    *) f="$f $i" ;;
39933965Sjdp    esac
40033965Sjdpdone
40133965Sjdpselvecs="$f"
40233965Sjdp
40333965Sjdp# uniq the architectures in all the configured targets.
40433965Sjdpf=""
40533965Sjdpfor i in $selarchs ; do
40633965Sjdp    case " $f " in
40733965Sjdp    *" $i "*) ;;
40833965Sjdp    *) f="$f $i" ;;
40933965Sjdp    esac
41033965Sjdpdone
41133965Sjdpselarchs="$f"
41233965Sjdp
41333965Sjdp# Target backend .o files.
41433965Sjdptb=
41533965Sjdp
41633965Sjdpelf="elf.o elflink.o"
41733965Sjdp
41833965Sjdpfor vec in $selvecs
41933965Sjdpdo
42033965Sjdp    case "$vec" in
42133965Sjdp    # This list is alphabetized to make it easy to compare
42233965Sjdp    # with the two vector lists in targets.c.
42333965Sjdp    a29kcoff_big_vec)		tb="$tb coff-a29k.o cofflink.o" ;;
42433965Sjdp    a_out_adobe_vec)		tb="$tb aout-adobe.o aout32.o" ;;
42533965Sjdp    armcoff_little_vec)		tb="$tb coff-arm.o cofflink.o " ;;
42633965Sjdp    armcoff_big_vec)		tb="$tb coff-arm.o cofflink.o " ;;
42733965Sjdp    armpe_little_vec)		tb="$tb pe-arm.o cofflink.o " ;;
42833965Sjdp    armpe_big_vec)		tb="$tb pe-arm.o cofflink.o " ;;
42933965Sjdp    armpei_little_vec)		tb="$tb pei-arm.o cofflink.o " ;;
43033965Sjdp    armpei_big_vec)		tb="$tb pei-arm.o cofflink.o " ;;
43133965Sjdp    aout0_big_vec)		tb="$tb aout0.o aout32.o" ;;
43233965Sjdp    aout_arm_big_vec)		tb="$tb aout-arm.o aout32.o" ;;
43333965Sjdp    aout_arm_little_vec)	tb="$tb aout-arm.o aout32.o" ;;
43433965Sjdp    aout_mips_big_vec)		tb="$tb mipsbsd.o aout32.o" ;;
43533965Sjdp    aout_mips_little_vec)	tb="$tb mipsbsd.o aout32.o" ;;
43633965Sjdp    apollocoff_vec)		tb="$tb coff-apollo.o" ;;
43733965Sjdp    b_out_vec_big_host)		tb="$tb bout.o aout32.o" ;;
43833965Sjdp    b_out_vec_little_host)	tb="$tb bout.o aout32.o" ;;
43933965Sjdp    bfd_elf64_alpha_vec)	tb="$tb elf64-alpha.o elf64.o $elf"
44033965Sjdp				target64=true ;;
44133965Sjdp    bfd_elf32_big_generic_vec) 	tb="$tb elf32-gen.o elf32.o $elf" ;;
44233965Sjdp    bfd_elf32_bigmips_vec) 	tb="$tb elf32-mips.o elf32.o $elf ecofflink.o" ;;
44333965Sjdp    bfd_elf64_bigmips_vec) 	tb="$tb elf64-mips.o elf64.o elf32-mips.o elf32.o $elf ecofflink.o"
44433965Sjdp				target64=true ;;
44533965Sjdp    bfd_elf32_d10v_vec)		tb="$tb elf32-d10v.o elf32.o $elf" ;;
44633965Sjdp    bfd_elf32_hppa_vec)		tb="$tb elf32-hppa.o elf32.o $elf" ;;
44733965Sjdp    bfd_elf32_i386_vec)		tb="$tb elf32-i386.o elf32.o $elf" ;;
44833965Sjdp    bfd_elf32_i860_vec)		tb="$tb elf32-i860.o elf32.o $elf" ;;
44933965Sjdp    bfd_elf32_little_generic_vec) tb="$tb elf32-gen.o elf32.o $elf" ;;
45033965Sjdp    bfd_elf32_littlemips_vec) 	tb="$tb elf32-mips.o elf32.o $elf ecofflink.o" ;;
45133965Sjdp    bfd_elf64_littlemips_vec) 	tb="$tb elf64-mips.o elf64.o elf32-mips.o elf32.o $elf ecofflink.o"
45233965Sjdp				target64=true ;;
45333965Sjdp    bfd_elf32_m32r_vec)		tb="$tb elf32-m32r.o elf32.o $elf" ;;
45433965Sjdp    bfd_elf32_m68k_vec)		tb="$tb elf32-m68k.o elf32.o $elf" ;;
45533965Sjdp    bfd_elf32_m88k_vec)		tb="$tb elf32-m88k.o elf32.o $elf" ;;
45633965Sjdp    bfd_elf32_mn10200_vec)	tb="$tb elf-m10200.o elf32.o $elf" ;;
45733965Sjdp    bfd_elf32_mn10300_vec)	tb="$tb elf-m10300.o elf32.o $elf" ;;
45833965Sjdp    bfd_elf32_powerpc_vec)	tb="$tb elf32-ppc.o elf32.o $elf" ;;
45933965Sjdp    bfd_elf32_powerpcle_vec)	tb="$tb elf32-ppc.o elf32.o $elf" ;;
46033965Sjdp    bfd_elf32_sh_vec)		tb="$tb elf32-sh.o elf32.o $elf coff-sh.o" ;;
46133965Sjdp    bfd_elf32_shl_vec)		tb="$tb elf32-sh.o elf32.o $elf coff-sh.o" ;;
46233965Sjdp    bfd_elf32_sparc_vec)	tb="$tb elf32-sparc.o elf32.o $elf" ;;
46333965Sjdp    bfd_elf64_big_generic_vec) 	tb="$tb elf64-gen.o elf64.o $elf"
46433965Sjdp				target64=true ;;
46533965Sjdp    bfd_elf64_little_generic_vec) tb="$tb elf64-gen.o elf64.o $elf"
46633965Sjdp				target64=true ;;
46733965Sjdp    bfd_elf64_sparc_vec)	tb="$tb elf64-sparc.o elf64.o $elf"
46833965Sjdp				target64=true ;;
46933965Sjdp    cisco_core_vec)		tb="$tb cisco-core.o" ;;
47033965Sjdp    demo_64_vec)		tb="$tb demo64.o aout64.o"
47133965Sjdp				target64=true ;;
47233965Sjdp    ecoff_big_vec)		tb="$tb coff-mips.o ecoff.o ecofflink.o" ;;
47333965Sjdp    ecoff_little_vec)		tb="$tb coff-mips.o ecoff.o ecofflink.o" ;;
47433965Sjdp    ecoff_biglittle_vec)	tb="$tb coff-mips.o ecoff.o ecofflink.o" ;;
47533965Sjdp    ecoffalpha_little_vec)	tb="$tb coff-alpha.o ecoff.o ecofflink.o"
47633965Sjdp				target64=true ;;
47733965Sjdp    evax_alpha_vec)		tb="$tb evax-alpha.o evax-emh.o evax-egsd.o evax-etir.o evax-misc.o"
47833965Sjdp 				target64=true ;;
47933965Sjdp    h8300coff_vec)		tb="$tb coff-h8300.o reloc16.o" ;;
48033965Sjdp    h8500coff_vec)		tb="$tb coff-h8500.o reloc16.o" ;;
48133965Sjdp    host_aout_vec)		tb="$tb host-aout.o aout32.o" ;;
48233965Sjdp    hp300bsd_vec)		tb="$tb hp300bsd.o aout32.o" ;;
48333965Sjdp    hp300hpux_vec)		tb="$tb hp300hpux.o aout32.o" ;;
48433965Sjdp    i386aout_vec)		tb="$tb i386aout.o aout32.o" ;;
48533965Sjdp    i386bsd_vec)		tb="$tb i386bsd.o aout32.o" ;;
48633965Sjdp    i386coff_vec)		tb="$tb coff-i386.o cofflink.o" ;;
48733965Sjdp    i386dynix_vec)		tb="$tb i386dynix.o aout32.o" ;;
48833965Sjdp    i386freebsd_vec)		tb="$tb i386freebsd.o aout32.o" ;;
48933965Sjdp    i386msdos_vec)		tb="$tb i386msdos.o" ;;
49033965Sjdp    i386pe_vec)			tb="$tb pe-i386.o cofflink.o " ;;
49133965Sjdp    i386pei_vec)		tb="$tb pei-i386.o cofflink.o" ;;
49233965Sjdp    i386linux_vec)		tb="$tb i386linux.o aout32.o" ;;
49333965Sjdp    i386lynx_aout_vec)		tb="$tb i386lynx.o lynx-core.o aout32.o" ;;
49433965Sjdp    i386lynx_coff_vec)		tb="$tb cf-i386lynx.o cofflink.o lynx-core.o" ;;
49533965Sjdp    i386mach3_vec)		tb="$tb i386mach3.o aout32.o" ;;
49633965Sjdp    i386netbsd_vec)		tb="$tb i386netbsd.o aout32.o" ;;
49733965Sjdp    i386os9k_vec)		tb="$tb i386os9k.o aout32.o" ;;
49833965Sjdp    i860coff_vec)		tb="$tb coff-i860.o cofflink.o" ;;
49933965Sjdp    icoff_big_vec)		tb="$tb coff-i960.o cofflink.o" ;;
50033965Sjdp    icoff_little_vec)		tb="$tb coff-i960.o cofflink.o" ;;
50133965Sjdp    ieee_vec)			tb="$tb ieee.o" ;;
50233965Sjdp    m68kcoff_vec)		tb="$tb coff-m68k.o cofflink.o" ;;
50333965Sjdp    m68kcoffun_vec)		tb="$tb coff-u68k.o coff-m68k.o cofflink.o" ;;
50433965Sjdp    m68klinux_vec)		tb="$tb m68klinux.o aout32.o" ;;
50533965Sjdp    m68klynx_aout_vec)		tb="$tb m68klynx.o lynx-core.o aout32.o" ;;
50633965Sjdp    m68klynx_coff_vec)		tb="$tb cf-m68klynx.o coff-m68k.o cofflink.o lynx-core.o" ;;
50733965Sjdp    m68knetbsd_vec)		tb="$tb m68knetbsd.o aout32.o" ;;
50833965Sjdp    m68k4knetbsd_vec)		tb="$tb m68k4knetbsd.o aout32.o" ;;
50933965Sjdp    m68kaux_coff_vec)		tb="$tb coff-aux.o coff-m68k.o cofflink.o" ;;
51033965Sjdp    m68ksysvcoff_vec)		tb="$tb coff-svm68k.o cofflink.o" ;;
51133965Sjdp    m88kbcs_vec)		tb="$tb coff-m88k.o" ;;
51233965Sjdp    newsos3_vec)		tb="$tb newsos3.o aout32.o" ;;
51333965Sjdp    nlm32_i386_vec)		tb="$tb nlm32-i386.o nlm32.o nlm.o" ;;
51433965Sjdp    nlm32_sparc_vec)		tb="$tb nlm32-sparc.o nlm32.o nlm.o" ;;
51533965Sjdp    nlm32_alpha_vec)		tb="$tb nlm32-alpha.o nlm32.o nlm.o"
51633965Sjdp				target64=true ;;
51733965Sjdp    riscix_vec)			tb="$tb aout32.o riscix.o" ;;
51833965Sjdp    nlm32_powerpc_vec)		tb="$tb nlm32-ppc.o nlm32.o nlm.o" ;;
51933965Sjdp    pc532netbsd_vec)		tb="$tb ns32knetbsd.o aout-ns32k.o" ;;
52033965Sjdp    pc532machaout_vec)		tb="$tb pc532-mach.o aout-ns32k.o" ;;
52133965Sjdp    pmac_xcoff_vec)		tb="$tb coff-pmac.o xcofflink.o" ;;
52233965Sjdp    rs6000coff_vec)		tb="$tb coff-rs6000.o xcofflink.o" ;;
52333965Sjdp    bfd_powerpc_pe_vec)         tb="$tb pe-ppc.o cofflink.o" ;;  
52433965Sjdp    bfd_powerpcle_pe_vec)       tb="$tb pe-ppc.o cofflink.o" ;;  
52533965Sjdp    bfd_powerpc_pei_vec)        tb="$tb pei-ppc.o cofflink.o" ;;
52633965Sjdp    bfd_powerpcle_pei_vec)      tb="$tb pei-ppc.o cofflink.o" ;;
52733965Sjdp    ppcboot_vec)		tb="$tb ppcboot.o" ;;
52833965Sjdp    shcoff_vec)			tb="$tb coff-sh.o cofflink.o" ;;
52933965Sjdp    shlcoff_vec)		tb="$tb coff-sh.o cofflink.o" ;;
53033965Sjdp    som_vec)			tb="$tb som.o" ;;
53133965Sjdp    sparcle_aout_vec)		tb="$tb aout-sparcle.o aout32.o" ;;
53233965Sjdp    sparclinux_vec)		tb="$tb sparclinux.o aout32.o stab-syms.o" ;;
53333965Sjdp    sparclynx_aout_vec)		tb="$tb sparclynx.o lynx-core.o aout32.o" ;;
53433965Sjdp    sparclynx_coff_vec)		tb="$tb cf-sparclynx.o lynx-core.o" ;;
53533965Sjdp    sparcnetbsd_vec)		tb="$tb sparcnetbsd.o aout32.o" ;;
53633965Sjdp    sparccoff_vec)		tb="$tb coff-sparc.o" ;;
53733965Sjdp    srec_vec)			tb="$tb srec.o" ;;
53833965Sjdp    sunos_big_vec)		tb="$tb sunos.o aout32.o" ;;
53933965Sjdp    symbolsrec_vec)		tb="$tb srec.o" ;;
54033965Sjdp    tekhex_vec)			tb="$tb tekhex.o" ;;
54133965Sjdp    we32kcoff_vec)		tb="$tb coff-we32k.o" ;;
54233965Sjdp    z8kcoff_vec)		tb="$tb coff-z8k.o reloc16.o" ;;
54333965Sjdp    w65_vec)			tb="$tb coff-w65.o reloc16.o" ;;
54433965Sjdp    versados_vec)		tb="$tb versados.o" ;;
54533965Sjdp
54633965Sjdp    "")			;;
54733965Sjdp    *) AC_MSG_ERROR(*** unknown target vector $vec) ;;
54833965Sjdp    esac
54933965Sjdpdone
55033965Sjdp
55133965Sjdp# Target architecture .o files.
55233965Sjdp# A couple of CPUs use shorter file names to avoid problems on DOS
55333965Sjdp# filesystems.
55433965Sjdpta=`echo $selarchs | sed -e s/bfd_/cpu-/g -e s/_arch/.o/g -e s/mn10200/m10200/ -e s/mn10300/m10300/`
55533965Sjdp
55633965Sjdp# Weed out duplicate .o files.
55733965Sjdpf=""
55833965Sjdpfor i in $tb ; do
55933965Sjdp    case " $f " in
56033965Sjdp    *" $i "*) ;;
56133965Sjdp    *) f="$f $i" ;;
56233965Sjdp    esac
56333965Sjdpdone
56433965Sjdptb="$f"
56533965Sjdp
56633965Sjdpf=""
56733965Sjdpfor i in $ta ; do
56833965Sjdp    case " $f " in
56933965Sjdp    *" $i "*) ;;
57033965Sjdp    *) f="$f $i" ;;
57133965Sjdp    esac
57233965Sjdpdone
57333965Sjdpta="$f"
57433965Sjdp
57533965Sjdpbfd_backends="$tb"
57633965Sjdpbfd_machines="$ta"
57733965Sjdp
57833965Sjdpif test x${all_targets} = xtrue ; then
57933965Sjdp  bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)'
58033965Sjdp  bfd_machines="${bfd_machines}"' $(ALL_MACHINES)'
58133965Sjdp  selvecs=
58233965Sjdp  havevecs=
58333965Sjdp  selarchs=
58433965Sjdpelse	# all_targets is true
58533965Sjdp  # Only set these if they will be nonempty, for the clever echo.
58633965Sjdp  havevecs=
58733965Sjdp  test -n "$selvecs" &&
58833965Sjdp    havevecs=`echo $selvecs | sed -e 's/^/-DHAVE_/' -e 's/ \(.\)/ -DHAVE_\1/g'`
58933965Sjdp  test -n "$selvecs" &&
59033965Sjdp    selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
59133965Sjdp  test -n "$selarchs" &&
59233965Sjdp    selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
59333965Sjdpfi	# all_targets is true
59433965Sjdp
59533965Sjdpcase ${host64}-${target64}-${want64} in
59633965Sjdp  *true*)
59733965Sjdp    wordsize=64
59833965Sjdp    all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
59933965Sjdp    if test -z "$GCC" && test "$BFD_HOST_64BIT_LONG" = "0" && test "$BFD_HOST_64_BIT_DEFINED" = "0"; then
60033965Sjdp      AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
60133965Sjdp      AC_MSG_WARN([your compiler may not have a 64 bit integral type])
60233965Sjdp    fi
60333965Sjdp    ;;
60433965Sjdp  false-false-false)
60533965Sjdp    wordsize=32
60633965Sjdp    all_backends='$(BFD32_BACKENDS)'
60733965Sjdp    ;;
60833965Sjdpesac
60933965Sjdp
61033965SjdpAC_SUBST(wordsize)
61133965SjdpAC_SUBST(all_backends)
61233965SjdpAC_SUBST(bfd_backends)
61333965SjdpAC_SUBST(bfd_machines)
61433965Sjdp
61533965Sjdptdefaults=""
61633965Sjdptest -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
61733965Sjdptest -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
61833965Sjdptest -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
61933965Sjdptest -n "${havevecs}" && tdefaults="${tdefaults} ${havevecs}"
62033965SjdpAC_SUBST(tdefaults)
62133965Sjdp
62233965Sjdpdnl AC_CHECK_HEADERS(sys/mman.h)
62333965SjdpAC_FUNC_MMAP
62433965SjdpAC_CHECK_FUNCS(madvise mprotect)
62533965Sjdpcase ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in
62633965Sjdp  true+yes )  AC_DEFINE(USE_MMAP) ;;
62733965Sjdpesac
62833965Sjdp
62933965Sjdprm -f doc/config.status
63033965SjdpAC_OUTPUT(Makefile doc/Makefile bfd-in3.h:bfd-in2.h,
63133965Sjdp[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])
632