home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / binutils-2.7-src.tgz / tar.out / fsf / binutils / bfd / configure.in < prev    next >
Text File  |  1996-09-28  |  18KB  |  596 lines

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