configure.in revision 38889
1dnl Process this file with autoconf to produce a configure script.
2dnl
3
4AC_PREREQ(2.5)
5AC_INIT(libbfd.c)
6
7AC_CANONICAL_SYSTEM
8AC_ISC_POSIX
9
10AM_INIT_AUTOMAKE(bfd, 2.9.1)
11
12dnl These must be called before AM_PROG_LIBTOOL, because it may want
13dnl to call AC_CHECK_PROG.
14AC_CHECK_TOOL(AR, ar)
15AC_CHECK_TOOL(RANLIB, ranlib, :)
16
17dnl Default to a non shared library.  This may be overridden by the
18dnl configure option --enable-shared.
19AM_DISABLE_SHARED
20
21AM_PROG_LIBTOOL
22
23AC_ARG_ENABLE(64-bit-bfd,
24[  --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)],
25[case "${enableval}" in
26  yes)  want64=true  ;;
27  no)   want64=false ;;
28  *)    AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
29esac],[want64=false])dnl
30AC_ARG_ENABLE(targets,
31[  --enable-targets        alternative target configurations],
32[case "${enableval}" in
33  yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
34            ;;
35  no)       enable_targets= ;;
36  *)        enable_targets=$enableval ;;
37esac])dnl
38AC_ARG_ENABLE(commonbfdlib,
39[  --enable-commonbfdlib   build shared BFD/opcodes/libiberty library],
40[case "${enableval}" in
41  yes) commonbfdlib=true ;;
42  no)  commonbfdlib=false ;;
43  *)   AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
44esac])dnl
45AC_ARG_WITH(mmap,
46[  --with-mmap             try using mmap for BFD input files if available],
47[case "${withval}" in
48  yes)  want_mmap=true ;;
49  no)   want_mmap=false ;;
50  *)    AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;;
51esac],[want_mmap=false])dnl
52
53AM_CONFIG_HEADER(config.h:config.in)
54
55if test -z "$target" ; then
56    AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
57fi
58AC_ARG_PROGRAM
59
60AM_MAINTAINER_MODE
61AM_CYGWIN32
62AM_EXEEXT
63
64host64=false
65target64=false
66
67# host stuff:
68
69AC_PROG_CC
70
71# Permit host specific settings.
72. ${srcdir}/configure.host
73
74AC_SUBST(HDEFINES)
75AM_PROG_INSTALL
76
77BFD_HOST_64BIT_LONG=0
78BFD_HOST_64_BIT_DEFINED=0
79BFD_HOST_64_BIT=
80BFD_HOST_U_64_BIT=
81if test "x${HOST_64BIT_TYPE}" = "xlong"; then
82  BFD_HOST_64BIT_LONG=1
83elif test "x${HOST_64BIT_TYPE}" != "x"; then
84  BFD_HOST_64_BIT_DEFINED=1
85  BFD_HOST_64_BIT=${HOST_64BIT_TYPE}
86  BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE}
87fi
88AC_SUBST(BFD_HOST_64BIT_LONG)
89AC_SUBST(BFD_HOST_64_BIT_DEFINED)
90AC_SUBST(BFD_HOST_64_BIT)
91AC_SUBST(BFD_HOST_U_64_BIT)
92
93BFD_CC_FOR_BUILD
94
95AC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h)
96AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h)
97AC_HEADER_TIME
98AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen)
99
100BFD_BINARY_FOPEN
101
102BFD_NEED_DECLARATION(strstr)
103BFD_NEED_DECLARATION(malloc)
104BFD_NEED_DECLARATION(realloc)
105BFD_NEED_DECLARATION(free)
106BFD_NEED_DECLARATION(getenv)
107
108# If we are configured native, pick a core file support file.
109COREFILE=
110COREFLAG=
111if test "${target}" = "${host}"; then
112  case "${host}" in
113  alpha*-*-linux-gnu*)
114	COREFILE=trad-core.lo
115	AC_DEFINE(TRAD_HEADER,"hosts/alphalinux.h")
116	;;
117  alpha*-*-netbsd*)	COREFILE=netbsd-core.lo ;;
118  alpha*-*-*)		COREFILE=osf-core.lo ;;
119  arm-*-riscix)		COREFILE=trad-core.lo ;;
120  hppa*-*-hpux*)	COREFILE=hpux-core.lo ;;
121  hppa*-*-hiux*)	COREFILE=hpux-core.lo ;;
122  hppa*-*-bsd*)		COREFILE="hpux-core.lo hppabsd-core.lo"
123			COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;;
124changequote(,)dnl
125  i[3456]86-sequent-bsd*)
126changequote([,])dnl
127	COREFILE=trad-core.lo;
128	AC_DEFINE(TRAD_HEADER,"hosts/symmetry.h")
129	;;
130changequote(,)dnl
131  i[3456]86-sequent-sysv4*) ;;
132  i[3456]86-sequent-sysv*)
133changequote([,])dnl
134	COREFILE=trad-core.lo
135	AC_DEFINE(TRAD_HEADER,"hosts/symmetry.h")
136	;;
137changequote(,)dnl
138  i[3456]86-*-bsd* | i[3456]86-*-freebsd*)
139changequote([,])dnl
140	COREFILE=trad-core.lo
141	AC_DEFINE(TRAD_HEADER,"hosts/i386bsd.h")
142	;;
143changequote(,)dnl
144  i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
145changequote([,])dnl
146	COREFILE=netbsd-core.lo
147	;;
148changequote(,)dnl
149  i[3456]86-esix-sysv3*)
150changequote([,])dnl
151	COREFILE=trad-core.lo
152	AC_DEFINE(TRAD_HEADER,"hosts/esix.h")
153	;;
154changequote(,)dnl
155  i[3456]86-*-sco* | i[3456]86-*-isc*)
156changequote([,])dnl
157	COREFILE=trad-core.lo
158	AC_DEFINE(TRAD_HEADER,"hosts/i386sco.h")
159	;;
160changequote(,)dnl
161  i[3456]86-*-mach3*)
162changequote([,])dnl
163	COREFILE=trad-core.lo
164	AC_DEFINE(TRAD_HEADER,"hosts/i386mach3.h")
165	;;
166changequote(,)dnl
167  i[3456]86-*-linux-gnu*)
168changequote([,])dnl
169	COREFILE=trad-core.lo
170	AC_DEFINE(TRAD_HEADER,"hosts/i386linux.h")
171	;;
172changequote(,)dnl
173  i[3456]86-*-isc*)	COREFILE=trad-core.lo ;;
174  i[3456]86-*-aix*)	COREFILE=aix386-core.lo ;;
175changequote([,])dnl
176  i860-*-mach3* | i860-*-osf1*)
177	COREFILE=trad-core.lo
178	AC_DEFINE(TRAD_HEADER,"hosts/i860mach3.h")
179	;;
180  mips-dec-bsd*)
181	COREFILE=trad-core.lo
182	AC_DEFINE(TRAD_HEADER,"hosts/mipsbsd.h")
183	;;
184  mips-dec-mach3*)
185	COREFILE=trad-core.lo
186	AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h")
187	;;
188  mips-*-netbsd* | mips*-*-openbsd*)
189	COREFILE=netbsd-core.lo
190	;;
191  mips-dec-*)
192	COREFILE=trad-core.lo
193	AC_DEFINE(TRAD_HEADER,"hosts/decstation.h")
194	;;
195  mips-sgi-irix4*)	COREFILE=irix-core.lo ;;
196  mips-sgi-irix5*)	COREFILE=irix-core.lo ;;
197  mips-sgi-irix6*)	COREFILE=irix-core.lo ;;
198  mips-*-mach3*)
199	COREFILE=trad-core.lo
200	AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h")
201	;;
202  mips-*-sysv4*)	;;
203  mips-*-sysv* | mips-*-riscos*)
204	COREFILE=trad-core.lo
205	AC_DEFINE(TRAD_HEADER,"hosts/riscos.h")
206	;;
207  mips-sony-bsd*)
208	COREFILE=trad-core.lo
209	AC_DEFINE(TRAD_HEADER,"hosts/news-mips.h")
210	;;
211  m68*-bull*-sysv*)
212	COREFILE=trad-core.lo
213	AC_DEFINE(TRAD_HEADER,"hosts/dpx2.h")
214	;;
215  m68*-hp-hpux*)	COREFILE=hpux-core.lo ;;
216  m68*-hp-bsd*)
217	COREFILE=trad-core.lo
218	AC_DEFINE(TRAD_HEADER,"hosts/hp300bsd.h")
219	;;
220  m68*-*-linux-gnu*)
221	COREFILE=trad-core.lo
222	AC_DEFINE(TRAD_HEADER,"hosts/m68klinux.h")
223	;;
224  m68*-motorola-sysv*)
225	COREFILE=trad-core.lo
226	AC_DEFINE(TRAD_HEADER, "hosts/delta68.h")
227	;;
228  m68*-sony-*)
229	COREFILE=trad-core.lo
230	AC_DEFINE(TRAD_HEADER,"hosts/news.h")
231	;;
232  m68*-*-netbsd* | m68*-*-openbsd*)
233	COREFILE=netbsd-core.lo
234	;;
235  m68*-apple-aux*)
236	COREFILE=trad-core.lo
237	AC_DEFINE(TRAD_HEADER,"hosts/m68kaux.h")
238	;;
239  m88*-*-sysv4*)	;;
240  m88*-motorola-sysv*)	COREFILE=ptrace-core.lo ;;
241  m88*-*-mach3*)
242	COREFILE=trad-core.lo
243	AC_DEFINE(TRAD_HEADER,"hosts/m88kmach3.h")
244	;;
245  ns32k-pc532-mach)
246	COREFILE=trad-core.lo
247	AC_DEFINE(TRAD_HEADER,"hosts/pc532mach.h")
248	;;
249  ns32k-*-netbsd* | ns32k-*-openbsd*)
250	COREFILE=netbsd-core.lo
251	;;
252  rs6000-*-lynx*)	COREFILE=lynx-core.lo ;;
253  rs6000-*-aix4*)	COREFILE=rs6000-core.lo ;;
254  rs6000-*-*)		COREFILE=rs6000-core.lo ;;
255  powerpc-*-*bsd*)	COREFILE=netbsd-core.lo ;;
256  powerpc-*-aix4*)	COREFILE=rs6000-core.lo ;;
257  powerpc-*-aix*)	COREFILE=rs6000-core.lo ;;
258  powerpc-*-beos*)	;;
259  powerpc-*-netbsd*)	COREFILE=netbsd-core.lo ;;
260  sparc-*-netbsd* | sparc-*-openbsd*)
261	COREFILE=netbsd-core.lo
262	;;
263  tahoe-*-*)
264	COREFILE=trad-core.lo
265	AC_DEFINE(TRAD_HEADER,"hosts/tahoe.h")
266	;;
267  vax-*-ultrix2*)
268	COREFILE=trad-core.lo
269	AC_DEFINE(TRAD_HEADER,"hosts/vaxult2.h")
270	;;
271  vax-*-ultrix*)
272	COREFILE=trad-core.lo
273	AC_DEFINE(TRAD_HEADER,"hosts/vaxult2.h")
274	;;
275  vax-*-*)
276	COREFILE=trad-core.lo
277	AC_DEFINE(TRAD_HEADER,"hosts/vaxbsd.h")
278	;;
279  esac
280
281  case "$COREFILE" in
282  aix386-core.lo)	COREFLAG=-DAIX386_CORE ;;
283  hppabsd-core.lo)	COREFLAG=-DHPPABSD_CORE ;;
284  hpux-core.lo)		COREFLAG=-DHPUX_CORE ;;
285  irix-core.lo)		COREFLAG=-DIRIX_CORE ;;
286  lynx-core.lo)		COREFLAG=-DLYNX_CORE ;;
287  netbsd-core.lo)	COREFLAG=-DNETBSD_CORE ;;
288  osf-core.lo)		COREFLAG=-DOSF_CORE ;;
289  ptrace-core.lo)	COREFLAG=-DPTRACE_CORE ;;
290  rs6000-core.lo)	COREFLAG="$COREFLAG -DAIX_CORE" ;;
291  trad-core.lo)		COREFLAG="$COREFLAG -DTRAD_CORE" ;;
292  esac
293
294  # The ELF code uses the native <sys/procfs.h> to handle core files.
295  # Define HAVE_SYS_PROCFS_H if the file exists and defines
296  # prstatus_t.
297  AC_MSG_CHECKING([for sys/procfs.h])
298  AC_CACHE_VAL(bfd_cv_header_sys_procfs_h,
299  [AC_TRY_COMPILE([#include <sys/procfs.h>],
300  [prstatus_t t;],
301  bfd_cv_header_sys_procfs_h=yes, bfd_cv_header_sys_procfs_h=no)])
302  AC_MSG_RESULT($bfd_cv_header_sys_procfs_h)
303  if test $bfd_cv_header_sys_procfs_h = yes; then
304    AC_DEFINE(HAVE_SYS_PROCFS_H)
305  fi
306
307fi
308AC_SUBST(COREFILE)
309AC_SUBST(COREFLAG)
310
311# target stuff:
312
313# Canonicalize the secondary target names.
314if test -n "$enable_targets" ; then
315    for targ in `echo $enable_targets | sed 's/,/ /g'`
316    do
317	result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
318	if test -n "$result" ; then
319	    canon_targets="$canon_targets $result"
320	else
321	    # Allow targets that config.sub doesn't recognize, like "all".
322	    canon_targets="$canon_targets $targ"
323	fi
324    done
325fi
326
327all_targets=false
328defvec=
329selvecs=
330selarchs=
331TDEFINES=
332for targ in $target $canon_targets
333do
334    if test "x$targ" = "xall"; then
335        all_targets=true
336    else
337	. $srcdir/config.bfd
338	if test "x$targ" = "x$target"; then
339	    defvec=$targ_defvec
340	fi
341	selvecs="$selvecs $targ_defvec $targ_selvecs"
342	selarchs="$selarchs $targ_archs"
343	TDEFINES="$TDEFINES $targ_cflags"
344    fi
345done
346AC_SUBST(TDEFINES)
347
348# This processing still needs to be done if we're to decide properly whether
349# 64-bit support needs to be compiled in.  Currently, it will be included if
350# the default or any other explicitly requested target requires it; it
351# will not be included on a 32-bit host if no 64-bit target is requested, and
352# no "--with-64-bit-bfd" option is given, even if "--with-targets=all" is
353# used.
354
355# uniq the default and selected vectors in all the configured targets.
356f=""
357for i in $selvecs ; do
358    case " $f " in
359    *" $i "*) ;;
360    *) f="$f $i" ;;
361    esac
362done
363selvecs="$f"
364
365
366# uniq the architectures in all the configured targets.
367f=""
368for i in $selarchs ; do
369    case " $f " in
370    *" $i "*) ;;
371    *) f="$f $i" ;;
372    esac
373done
374selarchs="$f"
375
376# Target backend .o files.
377tb=
378
379elf="elf.lo elflink.lo dwarf2.lo"
380
381for vec in $selvecs
382do
383    case "$vec" in
384    # This list is alphabetized to make it easy to compare
385    # with the two vector lists in targets.c.
386    a29kcoff_big_vec)		tb="$tb coff-a29k.lo cofflink.lo" ;;
387    a_out_adobe_vec)		tb="$tb aout-adobe.lo aout32.lo" ;;
388    armcoff_little_vec)		tb="$tb coff-arm.lo cofflink.lo " ;;
389    armcoff_big_vec)		tb="$tb coff-arm.lo cofflink.lo " ;;
390    armpe_little_vec)		tb="$tb pe-arm.lo coff-arm.lo cofflink.lo " ;;
391    armpe_big_vec)		tb="$tb pe-arm.lo coff-arm.lo cofflink.lo " ;;
392    armpei_little_vec)		tb="$tb pei-arm.lo cofflink.lo " ;;
393    armpei_big_vec)		tb="$tb pei-arm.lo cofflink.lo " ;;
394    aout0_big_vec)		tb="$tb aout0.lo aout32.lo" ;;
395    aout_arm_big_vec)		tb="$tb aout-arm.lo aout32.lo" ;;
396    aout_arm_little_vec)	tb="$tb aout-arm.lo aout32.lo" ;;
397    aout_mips_big_vec)		tb="$tb mipsbsd.lo aout32.lo" ;;
398    aout_mips_little_vec)	tb="$tb mipsbsd.lo aout32.lo" ;;
399    apollocoff_vec)		tb="$tb coff-apollo.lo" ;;
400    b_out_vec_big_host)		tb="$tb bout.lo aout32.lo" ;;
401    b_out_vec_little_host)	tb="$tb bout.lo aout32.lo" ;;
402    bfd_elf64_alpha_vec)	tb="$tb elf64-alpha.lo elf64.lo $elf"
403				target64=true ;;
404    bfd_elf32_littlearc_vec)	tb="$tb elf32-arc.lo elf32.lo $elf" ;;
405    bfd_elf32_bigarc_vec)	tb="$tb elf32-arc.lo elf32.lo $elf" ;;
406    bfd_elf32_big_generic_vec) 	tb="$tb elf32-gen.lo elf32.lo $elf" ;;
407    bfd_elf32_bigmips_vec) 	tb="$tb elf32-mips.lo elf32.lo $elf ecofflink.lo" ;;
408    bfd_elf64_bigmips_vec) 	tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo"
409				target64=true ;;
410    bfd_elf32_d10v_vec)		tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
411    bfd_elf32_hppa_vec)		tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
412    bfd_elf32_i386_vec)		tb="$tb elf32-i386.lo elf32.lo $elf" ;;
413    bfd_elf32_i860_vec)		tb="$tb elf32-i860.lo elf32.lo $elf" ;;
414    bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
415    bfd_elf32_littlemips_vec) 	tb="$tb elf32-mips.lo elf32.lo $elf ecofflink.lo" ;;
416    bfd_elf64_littlemips_vec) 	tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo"
417				target64=true ;;
418    bfd_elf32_m32r_vec)		tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
419    bfd_elf32_m68k_vec)		tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
420    bfd_elf32_m88k_vec)		tb="$tb elf32-m88k.lo elf32.lo $elf" ;;
421    bfd_elf32_mn10200_vec)	tb="$tb elf-m10200.lo elf32.lo $elf" ;;
422    bfd_elf32_mn10300_vec)	tb="$tb elf-m10300.lo elf32.lo $elf" ;;
423    bfd_elf32_powerpc_vec)	tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
424    bfd_elf32_powerpcle_vec)	tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
425    bfd_elf32_sh_vec)		tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
426    bfd_elf32_shl_vec)		tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
427    bfd_elf32_sparc_vec)	tb="$tb elf32-sparc.lo elf32.lo $elf" ;;
428    bfd_elf32_v850_vec)		tb="$tb elf32-v850.lo elf32.lo $elf" ;;
429    bfd_elf64_big_generic_vec) 	tb="$tb elf64-gen.lo elf64.lo $elf"
430				target64=true ;;
431    bfd_elf64_little_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"
432				target64=true ;;
433    bfd_elf64_sparc_vec)	tb="$tb elf64-sparc.lo elf64.lo $elf"
434				target64=true ;;
435    cisco_core_vec)		tb="$tb cisco-core.lo" ;;
436    demo_64_vec)		tb="$tb demo64.lo aout64.lo"
437				target64=true ;;
438    ecoff_big_vec)		tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
439    ecoff_little_vec)		tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
440    ecoff_biglittle_vec)	tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
441    ecoffalpha_little_vec)	tb="$tb coff-alpha.lo ecoff.lo ecofflink.lo"
442				target64=true ;;
443    go32coff_vec)		tb="$tb coff-go32.lo cofflink.lo" ;;
444    go32stubbedcoff_vec)	tb="$tb coff-stgo32.lo cofflink.lo" ;;
445    evax_alpha_vec)		tb="$tb evax-alpha.lo evax-emh.lo evax-egsd.lo evax-etir.lo evax-misc.lo"
446 				target64=true ;;
447    h8300coff_vec)		tb="$tb coff-h8300.lo reloc16.lo" ;;
448    h8500coff_vec)		tb="$tb coff-h8500.lo reloc16.lo" ;;
449    host_aout_vec)		tb="$tb host-aout.lo aout32.lo" ;;
450    hp300bsd_vec)		tb="$tb hp300bsd.lo aout32.lo" ;;
451    hp300hpux_vec)		tb="$tb hp300hpux.lo aout32.lo" ;;
452    i386aout_vec)		tb="$tb i386aout.lo aout32.lo" ;;
453    i386bsd_vec)		tb="$tb i386bsd.lo aout32.lo" ;;
454    i386coff_vec)		tb="$tb coff-i386.lo cofflink.lo" ;;
455    i386dynix_vec)		tb="$tb i386dynix.lo aout32.lo" ;;
456    i386freebsd_vec)		tb="$tb i386freebsd.lo aout32.lo" ;;
457    i386msdos_vec)		tb="$tb i386msdos.lo" ;;
458    i386pe_vec)			tb="$tb pe-i386.lo cofflink.lo " ;;
459    i386pei_vec)		tb="$tb pei-i386.lo cofflink.lo" ;;
460    i386linux_vec)		tb="$tb i386linux.lo aout32.lo" ;;
461    i386lynx_aout_vec)		tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
462    i386lynx_coff_vec)		tb="$tb cf-i386lynx.lo cofflink.lo lynx-core.lo" ;;
463    i386mach3_vec)		tb="$tb i386mach3.lo aout32.lo" ;;
464    i386netbsd_vec)		tb="$tb i386netbsd.lo aout32.lo" ;;
465    i386os9k_vec)		tb="$tb i386os9k.lo aout32.lo" ;;
466    i860coff_vec)		tb="$tb coff-i860.lo cofflink.lo" ;;
467    icoff_big_vec)		tb="$tb coff-i960.lo cofflink.lo" ;;
468    icoff_little_vec)		tb="$tb coff-i960.lo cofflink.lo" ;;
469    ieee_vec)			tb="$tb ieee.lo" ;;
470    m68kcoff_vec)		tb="$tb coff-m68k.lo cofflink.lo" ;;
471    m68kcoffun_vec)		tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;;
472    m68klinux_vec)		tb="$tb m68klinux.lo aout32.lo" ;;
473    m68klynx_aout_vec)		tb="$tb m68klynx.lo lynx-core.lo aout32.lo" ;;
474    m68klynx_coff_vec)		tb="$tb cf-m68klynx.lo coff-m68k.lo cofflink.lo lynx-core.lo" ;;
475    m68knetbsd_vec)		tb="$tb m68knetbsd.lo aout32.lo" ;;
476    m68k4knetbsd_vec)		tb="$tb m68k4knetbsd.lo aout32.lo" ;;
477    m68kaux_coff_vec)		tb="$tb coff-aux.lo coff-m68k.lo cofflink.lo" ;;
478    m68ksysvcoff_vec)		tb="$tb coff-svm68k.lo cofflink.lo" ;;
479    m88kbcs_vec)		tb="$tb coff-m88k.lo" ;;
480    newsos3_vec)		tb="$tb newsos3.lo aout32.lo" ;;
481    nlm32_i386_vec)		tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;;
482    nlm32_sparc_vec)		tb="$tb nlm32-sparc.lo nlm32.lo nlm.lo" ;;
483    nlm32_alpha_vec)		tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"
484				target64=true ;;
485    riscix_vec)			tb="$tb aout32.lo riscix.lo" ;;
486    nlm32_powerpc_vec)		tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;;
487    pc532netbsd_vec)		tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
488    pc532machaout_vec)		tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
489    pmac_xcoff_vec)		tb="$tb coff-pmac.lo xcofflink.lo" ;;
490    rs6000coff_vec)		tb="$tb coff-rs6000.lo xcofflink.lo" ;;
491    bfd_powerpc_pe_vec)         tb="$tb pe-ppc.lo cofflink.lo" ;;  
492    bfd_powerpcle_pe_vec)       tb="$tb pe-ppc.lo cofflink.lo" ;;  
493    bfd_powerpc_pei_vec)        tb="$tb pei-ppc.lo cofflink.lo" ;;
494    bfd_powerpcle_pei_vec)      tb="$tb pei-ppc.lo cofflink.lo" ;;
495    ppcboot_vec)		tb="$tb ppcboot.lo" ;;
496    shcoff_vec)			tb="$tb coff-sh.lo cofflink.lo" ;;
497    shlcoff_vec)		tb="$tb coff-sh.lo cofflink.lo" ;;
498    shcoff_small_vec)		tb="$tb coff-sh.lo cofflink.lo" ;;
499    shlcoff_small_vec)		tb="$tb coff-sh.lo cofflink.lo" ;;
500    som_vec)			tb="$tb som.lo" ;;
501    sparcle_aout_vec)		tb="$tb aout-sparcle.lo aout32.lo" ;;
502    sparclinux_vec)		tb="$tb sparclinux.lo aout32.lo" ;;
503    sparclynx_aout_vec)		tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;;
504    sparclynx_coff_vec)		tb="$tb cf-sparclynx.lo lynx-core.lo" ;;
505    sparcnetbsd_vec)		tb="$tb sparcnetbsd.lo aout32.lo" ;;
506    sparccoff_vec)		tb="$tb coff-sparc.lo" ;;
507    srec_vec)			tb="$tb srec.lo" ;;
508    sunos_big_vec)		tb="$tb sunos.lo aout32.lo" ;;
509    symbolsrec_vec)		tb="$tb srec.lo" ;;
510    tekhex_vec)			tb="$tb tekhex.lo" ;;
511    tic30_aout_vec)		tb="$tb aout-tic30.lo" ;;
512    tic30_coff_vec)		tb="$tb coff-tic30.lo" ;;
513    we32kcoff_vec)		tb="$tb coff-we32k.lo" ;;
514    z8kcoff_vec)		tb="$tb coff-z8k.lo reloc16.lo" ;;
515    w65_vec)			tb="$tb coff-w65.lo reloc16.lo" ;;
516    versados_vec)		tb="$tb versados.lo" ;;
517
518    "")			;;
519    *) AC_MSG_ERROR(*** unknown target vector $vec) ;;
520    esac
521done
522
523# Target architecture .o files.
524# A couple of CPUs use shorter file names to avoid problems on DOS
525# filesystems.
526ta=`echo $selarchs | sed -e s/bfd_/cpu-/g -e s/_arch/.lo/g -e s/mn10200/m10200/ -e s/mn10300/m10300/`
527
528# Weed out duplicate .o files.
529f=""
530for i in $tb ; do
531    case " $f " in
532    *" $i "*) ;;
533    *) f="$f $i" ;;
534    esac
535done
536tb="$f"
537
538f=""
539for i in $ta ; do
540    case " $f " in
541    *" $i "*) ;;
542    *) f="$f $i" ;;
543    esac
544done
545ta="$f"
546
547bfd_backends="$tb"
548bfd_machines="$ta"
549
550if test x${all_targets} = xtrue ; then
551  bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)'
552  bfd_machines="${bfd_machines}"' $(ALL_MACHINES)'
553  selvecs=
554  havevecs=
555  selarchs=
556else	# all_targets is true
557  # Only set these if they will be nonempty, for the clever echo.
558  havevecs=
559  test -n "$selvecs" &&
560    havevecs=`echo $selvecs | sed -e 's/^/-DHAVE_/' -e 's/ \(.\)/ -DHAVE_\1/g'`
561  test -n "$selvecs" &&
562    selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
563  test -n "$selarchs" &&
564    selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
565fi	# all_targets is true
566
567case ${host64}-${target64}-${want64} in
568  *true*)
569    wordsize=64
570    all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
571    if test -z "$GCC" && test "$BFD_HOST_64BIT_LONG" = "0" && test "$BFD_HOST_64_BIT_DEFINED" = "0"; then
572      AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
573      AC_MSG_WARN([your compiler may not have a 64 bit integral type])
574    fi
575    ;;
576  false-false-false)
577    wordsize=32
578    all_backends='$(BFD32_BACKENDS)'
579    ;;
580esac
581
582AC_SUBST(wordsize)
583AC_SUBST(all_backends)
584AC_SUBST(bfd_backends)
585AC_SUBST(bfd_machines)
586
587tdefaults=""
588test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
589test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
590test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
591test -n "${havevecs}" && tdefaults="${tdefaults} ${havevecs}"
592AC_SUBST(tdefaults)
593
594dnl AC_CHECK_HEADERS(sys/mman.h)
595AC_FUNC_MMAP
596AC_CHECK_FUNCS(madvise mprotect)
597case ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in
598  true+yes )  AC_DEFINE(USE_MMAP) ;;
599esac
600
601rm -f doc/config.status
602AC_OUTPUT(Makefile doc/Makefile bfd-in3.h:bfd-in2.h)
603