1dnl Process this file with autoconf to produce a configure script. 2dnl 3dnl Copyright (C) 2012-2024 Free Software Foundation, Inc. 4dnl 5dnl This file is free software; you can redistribute it and/or modify 6dnl it under the terms of the GNU General Public License as published by 7dnl the Free Software Foundation; either version 3 of the License, or 8dnl (at your option) any later version. 9dnl 10dnl This program is distributed in the hope that it will be useful, 11dnl but WITHOUT ANY WARRANTY; without even the implied warranty of 12dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13dnl GNU General Public License for more details. 14dnl 15dnl You should have received a copy of the GNU General Public License 16dnl along with this program; see the file COPYING3. If not see 17dnl <http://www.gnu.org/licenses/>. 18dnl 19 20m4_include([version.m4]) 21AC_INIT([bfd], BFD_VERSION) 22AC_CONFIG_SRCDIR([libbfd.c]) 23 24AC_CANONICAL_TARGET 25 26AM_INIT_AUTOMAKE 27AM_SILENT_RULES([yes]) 28 29dnl These must be called before LT_INIT, because it may want 30dnl to call AC_CHECK_PROG. 31AC_CHECK_TOOL(AR, ar) 32AC_CHECK_TOOL(RANLIB, ranlib, :) 33 34dnl Default to a non shared library. This may be overridden by the 35dnl configure option --enable-shared. 36AC_DISABLE_SHARED 37 38AC_PROG_CC 39AC_GNU_SOURCE 40AC_USE_SYSTEM_EXTENSIONS 41 42LT_INIT([dlopen]) 43 44# AC_PLUGINS setting $plugins is called by ACX_LARGEFILE. 45ACX_LARGEFILE 46 47changequote(,)dnl 48case "${target}" in 49 hppa*64*-*-*) ;; 50 *-*-*aout*| i[3-7]86-*-msdos* | ns32k-*-* | pdp11-*-*) 51changequote([,])dnl 52 if test "$plugins" = "yes"; then 53 if test "${enable_plugins+set}" = set; then 54 AC_MSG_WARN(Enabling plugins for AOUT is experimental) 55 else 56 plugins=no 57 fi 58 fi ;; 59 hppa*-*-hpux* | *-*-*vms* | \ 60 powerpc*-*-aix* | powerpc-*-beos* | powerpc-*-macos* | rs6000-*-*) 61 if test "$plugins" = "yes"; then 62 if test "${enable_plugins+set}" = set; then 63 AC_MSG_WARN(Enabling plugins may result in ar creating non-standard archives for ${target}) 64 else 65 plugins=no 66 fi 67 fi ;; 68esac 69 70AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes") 71 72ac_checking= 73. ${srcdir}/development.sh 74test "$development" = true && ac_checking=yes 75AC_ARG_ENABLE(checking, 76[ --enable-checking enable run-time checks], 77[case "${enableval}" in 78 no|none) ac_checking= ;; 79 *) ac_checking=yes ;; 80esac])dnl 81if test x$ac_checking != x ; then 82 AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.]) 83fi 84 85BFD_64_BIT 86if test $enable_64_bit_bfd = yes ; then 87 want64=true 88else 89 want64=false 90fi 91 92AC_ARG_ENABLE(targets, 93[ --enable-targets alternative target configurations], 94[case "${enableval}" in 95 yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all']) 96 ;; 97 no) enable_targets= ;; 98 *) enable_targets=$enableval ;; 99esac])dnl 100 101AC_ARG_ENABLE(64_bit_archive, 102 AS_HELP_STRING([--enable-64-bit-archive], 103 [force 64-bit archives]), 104[case "${enableval}" in 105 yes) want_64_bit_archive=true ;; 106 no) want_64_bit_archive=false ;; 107 *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-archive option) ;; 108esac],[want_64_bit_archive=unset])dnl 109 110AC_ARG_WITH(mmap, 111[ --with-mmap try using mmap for BFD input files if available], 112[case "${withval}" in 113 yes) want_mmap=true ;; 114 no) want_mmap=false ;; 115 *) AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;; 116esac],[want_mmap=false])dnl 117 118AC_ARG_ENABLE(secureplt, 119[ --enable-secureplt Default to creating read-only plt entries], 120[case "${enableval}" in 121 yes) use_secureplt=true ;; 122 no) use_secureplt=false ;; 123 *) AC_MSG_ERROR(bad value ${enableval} for secureplt option) ;; 124esac],[use_secureplt=false])dnl 125if test $use_secureplt = true; then 126 AC_DEFINE(USE_SECUREPLT, 1, 127 [Define if we should default to creating read-only plt entries]) 128fi 129 130# Decide if -z separate-code should be enabled in ELF linker by default. 131ac_default_ld_z_separate_code=unset 132AC_ARG_ENABLE(separate-code, 133 AS_HELP_STRING([--enable-separate-code], 134 [enable -z separate-code in ELF linker by default]), 135[case "${enableval}" in 136 yes) ac_default_ld_z_separate_code=1 ;; 137 no) ac_default_ld_z_separate_code=0 ;; 138esac]) 139# Enable -z separate-code by default for Linux/x86 and NetBSD/x86 140changequote(,)dnl 141case "${target}" in 142i[3-7]86-*-linux-* | x86_64-*-linux-* | i[3-7]86-*-netbsd | x86_64-*-netbsd* ) 143changequote([,])dnl 144 if test ${ac_default_ld_z_separate_code} = unset; then 145 ac_default_ld_z_separate_code=1 146 fi 147 ;; 148esac 149if test "${ac_default_ld_z_separate_code}" = unset; then 150 ac_default_ld_z_separate_code=0 151fi 152AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_SEPARATE_CODE, 153 $ac_default_ld_z_separate_code, 154 [Define to 1 if you want to enable -z separate-code in ELF linker by default.]) 155 156AC_ARG_ENABLE(leading-mingw64-underscores, 157 AS_HELP_STRING([--enable-leading-mingw64-underscores], 158 [Enable leading underscores on 64 bit mingw targets]), 159 [],[]) 160AS_IF([ test x"$enable_leading_mingw64_underscores" = xyes ], 161 [AC_DEFINE(USE_MINGW64_LEADING_UNDERSCORES, 1, 162 [Define if we should use leading underscore on 64 bit mingw targets])]) 163 164DEBUGDIR=${libdir}/debug 165AC_ARG_WITH(separate-debug-dir, 166 AS_HELP_STRING([--with-separate-debug-dir=DIR], 167 [Look for global separate debug info in DIR [[default=LIBDIR/debug]]]), 168[DEBUGDIR="${withval}"]) 169AC_SUBST(DEBUGDIR) 170 171ACX_PKGVERSION([GNU Binutils]) 172ACX_BUGURL([https://sourceware.org/bugzilla/]) 173 174AM_BINUTILS_WARNINGS 175 176AC_CONFIG_HEADERS(config.h:config.in) 177 178# PR 14072 179AH_VERBATIM([00_CONFIG_H_CHECK], 180[/* Check that config.h is #included before system headers 181 (this works only for glibc, but that should be enough). */ 182#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__) 183# error config.h must be #included before system headers 184#endif 185#define __CONFIG_H__ 1]) 186 187if test -z "$target" ; then 188 AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) 189fi 190 191AM_MAINTAINER_MODE 192AM_CONDITIONAL(GENINSRC_NEVER, false) 193AM_INSTALL_LIBBFD 194AC_EXEEXT 195 196AC_C_BIGENDIAN 197 198host64=false 199target64=false 200bfd_default_target_size=32 201 202# host stuff: 203 204ALL_LINGUAS="da es fi fr hr id ja ro ru rw sr sv tr uk vi zh_CN pt" 205ZW_GNU_GETTEXT_SISTER_DIR 206AM_PO_SUBDIRS 207 208# Permit host specific settings. 209. ${srcdir}/configure.host 210 211AC_SUBST(HDEFINES) 212AC_PROG_INSTALL 213 214AC_CHECK_SIZEOF(long long) 215AC_CHECK_SIZEOF(void *) 216AC_CHECK_SIZEOF(long) 217AC_CHECK_SIZEOF(int) 218 219if test "x${ac_cv_sizeof_void_p}" = "x8"; then 220 host64=true 221fi 222 223BFD_CC_FOR_BUILD 224 225AC_CHECK_HEADERS(fcntl.h sys/file.h sys/resource.h sys/stat.h sys/types.h \ 226 unistd.h) 227 228AC_CHECK_FUNCS(fcntl fdopen fileno fls getgid getpagesize getrlimit getuid \ 229 sysconf) 230 231AC_CHECK_DECLS([basename, ffs, stpcpy, asprintf, vasprintf, strnlen]) 232AC_CHECK_DECLS([___lc_codepage_func], [], [], [[#include <locale.h>]]) 233 234BFD_BINARY_FOPEN 235 236AX_TLS 237 238# Link in zlib/zstd if we can. This allows us to read compressed debug sections. 239# This is used only by compress.c. 240AM_ZLIB 241AC_ZSTD 242 243save_CFLAGS="$CFLAGS" 244CFLAGS="$CFLAGS -Werror" 245AC_CACHE_CHECK([compiler support for hidden visibility], bfd_cv_hidden, 246[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 247const char hw[] __attribute__ ((__visibility__ ("hidden"))) = "Hello, World\n"; 248extern void print (const char *) __attribute__ ((__visibility__ ("hidden")));]], 249 [[print (hw);]])], 250 [bfd_cv_hidden=yes], [bfd_cv_hidden=no])]) 251CFLAGS="$save_CFLAGS" 252if test $bfd_cv_hidden = yes; then 253 AC_DEFINE(HAVE_HIDDEN, 1, 254 [Define if your compiler supports hidden visibility.]) 255fi 256 257# Check if linker supports --as-needed and --no-as-needed options 258AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed, 259 [bfd_cv_ld_as_needed=no 260 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then 261 bfd_cv_ld_as_needed=yes 262 fi 263 ]) 264 265LT_LIB_M 266 267# When building a shared libbfd, link against the pic version of libiberty 268# so that apps that use libbfd won't need libiberty just to satisfy any 269# libbfd references. 270# We can't do that if a pic libiberty is unavailable since including non-pic 271# code would insert text relocations into libbfd. 272SHARED_LIBADD= 273SHARED_LDFLAGS= 274if test "$enable_shared" = "yes"; then 275changequote(,)dnl 276 x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` 277changequote([,])dnl 278 if test -n "$x"; then 279 SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty" 280 fi 281fi 282 283SHARED_LIBADD="$SHARED_LIBADD $LTLIBINTL" 284 285if test "$enable_shared" = "yes"; then 286 case "${host}" in 287 # More hacks to build DLLs on Windows. 288 *-*-cygwin*) 289 SHARED_LDFLAGS="-no-undefined" 290 SHARED_LIBADD="-L`pwd`/../libiberty -liberty $SHARED_LIBADD -lcygwin -lkernel32" 291 ;; 292 esac 293 294 if test -n "$SHARED_LIBADD"; then 295 if test -n "$LIBM"; then 296 if test x"$bfd_cv_ld_as_needed" = xyes; then 297 # Link against libm only when needed. Put -lc, -lm inside -Wl 298 # to stop libtool reordering these options. 299 SHARED_LIBADD="$SHARED_LIBADD -Wl,-lc,--as-needed,`echo $LIBM | sed 's/ /,/g'`,--no-as-needed" 300 else 301 SHARED_LIBADD="$SHARED_LIBADD $LIBM" 302 fi 303 fi 304 fi 305fi 306AC_SUBST(SHARED_LDFLAGS) 307AC_SUBST(SHARED_LIBADD) 308 309# target stuff: 310 311# Canonicalize the secondary target names. 312if test -n "$enable_targets" ; then 313 for targ in `echo $enable_targets | sed 's/,/ /g'` 314 do 315 result=`$ac_config_sub $targ 2>/dev/null` 316 if test -n "$result" ; then 317 canon_targets="$canon_targets $result" 318 else 319 # Allow targets that config.sub doesn't recognize, like "all". 320 canon_targets="$canon_targets $targ" 321 fi 322 done 323fi 324 325all_targets=false 326defvec= 327selvecs= 328assocvecs= 329selarchs= 330TDEFINES= 331for targ in $target $canon_targets 332do 333 if test $targ = all; then 334 all_targets=true 335 assocvecs="$assocvecs $targ_defvec $targ_selvecs" 336 elif test $targ != plugin; then 337 . $srcdir/config.bfd 338 if test $targ = $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 "--enable-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 associated vectors in all the configured targets. 367f="" 368for i in $assocvecs ; do 369 case " $f " in 370 *" $i "*) ;; 371 *) f="$f $i" ;; 372 esac 373done 374assocvecs="$f" 375 376 377# uniq the architectures in all the configured targets. 378f="" 379for i in $selarchs ; do 380 case " $f " in 381 *" $i "*) ;; 382 *) f="$f $i" ;; 383 esac 384done 385selarchs="$f" 386 387# Target backend .o files. 388tb= 389 390elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo 391 elf-sframe.lo dwarf1.lo dwarf2.lo" 392coffgen="coffgen.lo dwarf2.lo" 393coff="cofflink.lo $coffgen" 394ecoff="ecofflink.lo $coffgen" 395xcoff="xcofflink.lo $coffgen" 396 397elfxx_x86="elfxx-x86.lo elf-ifunc.lo elf-vxworks.lo" 398for vec in $selvecs 399do 400 target_size=32 401 case "$vec" in 402 # This list is alphabetized to make it easy to compare 403 # with the two vector lists in targets.c. For the same reason, 404 # use one entry per line, even though this leads to long lines. 405 aarch64_elf32_be_vec) tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;; 406 aarch64_elf32_le_vec) tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;; 407 aarch64_elf64_be_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; 408 aarch64_elf64_be_cloudabi_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; 409 aarch64_elf64_le_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; 410 aarch64_elf64_le_cloudabi_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; 411 aarch64_mach_o_vec) tb="$tb mach-o-aarch64.lo"; target_size=64 ;; 412 aarch64_pei_le_vec) tb="$tb pei-aarch64.lo pe-aarch64igen.lo $coff"; target_size=64 ;; 413 aarch64_pe_le_vec) tb="$tb pe-aarch64.lo pe-aarch64igen.lo $coff"; target_size=64 ;; 414 alpha_ecoff_le_vec) tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;; 415 alpha_elf64_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; 416 alpha_elf64_fbsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; 417 alpha_vms_vec) tb="$tb vms-alpha.lo vms-misc.lo vms-lib.lo"; target_size=64 ;; 418 alpha_vms_lib_txt_vec) tb="$tb vms-lib.lo vms-misc.lo" ;; 419 am33_elf32_linux_vec) tb="$tb elf32-am33lin.lo elf32.lo $elf" ;; 420 amdgcn_elf64_le_vec) tb="$tb elf64-amdgcn.lo elf64.lo $elf"; target_size=64 ;; 421 aout0_be_vec) tb="$tb aout0.lo aout32.lo" ;; 422 aout64_vec) tb="$tb demo64.lo aout64.lo"; target_size=64 ;; 423 aout_vec) tb="$tb host-aout.lo aout32.lo" ;; 424 arc_elf32_be_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; 425 arc_elf32_le_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; 426 arm_elf32_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 427 arm_elf32_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 428 arm_elf32_fdpic_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 429 arm_elf32_fdpic_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 430 arm_elf32_nacl_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 431 arm_elf32_nacl_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 432 arm_elf32_vxworks_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 433 arm_elf32_vxworks_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; 434 arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; 435 arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; 436 arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; 437 arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; 438 arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; 439 arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; 440 arm_pei_wince_be_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; 441 arm_pei_wince_le_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; 442 arm_mach_o_vec) tb="$tb mach-o-arm.lo" ;; 443 avr_elf32_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;; 444 bfin_elf32_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; 445 bfin_elf32_fdpic_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; 446 cr16_elf32_vec) tb="$tb elf32-cr16.lo elf32.lo $elf" ;; 447 cris_aout_vec) tb="$tb aout-cris.lo" ;; 448 cris_elf32_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; 449 cris_elf32_us_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; 450 crx_elf32_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;; 451 csky_elf32_be_vec) tb="$tb elf32-csky.lo elf32.lo $elf" ;; 452 csky_elf32_le_vec) tb="$tb elf32-csky.lo elf32.lo $elf" ;; 453 d10v_elf32_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; 454 d30v_elf32_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; 455 dlx_elf32_be_vec) tb="$tb elf32-dlx.lo elf32.lo $elf" ;; 456 elf32_be_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; 457 elf32_le_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; 458 elf64_be_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; 459 elf64_le_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; 460 bpf_elf64_le_vec) tb="$tb elf64-bpf.lo elf64.lo $elf"; target_size=64;; 461 bpf_elf64_be_vec) tb="$tb elf64-bpf.lo elf64.lo $elf"; target_size=64 ;; 462 epiphany_elf32_vec) tb="$tb elf32-epiphany.lo elf32.lo $elf" ;; 463 fr30_elf32_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; 464 frv_elf32_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; 465 frv_elf32_fdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; 466 h8300_elf32_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; 467 h8300_elf32_linux_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; 468 hppa_elf32_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; 469 hppa_elf32_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; 470 hppa_elf32_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; 471 hppa_elf64_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; 472 hppa_elf64_linux_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; 473 hppa_som_vec) tb="$tb som.lo" ;; 474 i386_aout_vec) tb="$tb i386aout.lo aout32.lo" ;; 475 i386_aout_bsd_vec) tb="$tb i386bsd.lo aout32.lo" ;; 476 i386_aout_lynx_vec) tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;; 477 i386_aout_nbsd_vec) tb="$tb i386netbsd.lo aout32.lo" ;; 478 i386_coff_vec) tb="$tb coff-i386.lo $coff" ;; 479 i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; 480 i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; 481 i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;; 482 i386_elf32_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; 483 i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; 484 i386_elf32_sol2_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; 485 i386_elf32_vxworks_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; 486 i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;; 487 i386_msdos_vec) tb="$tb i386msdos.lo" ;; 488 i386_pe_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;; 489 i386_pe_big_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;; 490 i386_pei_vec) tb="$tb pei-i386.lo peigen.lo $coff" ;; 491 iamcu_elf32_vec) tb="$tb elf32-i386.lo $elfxx_x86 elf32.lo $elf" ;; 492 ia64_elf32_be_vec) tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;; 493 ia64_elf32_hpux_be_vec) tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;; 494 ia64_elf64_be_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; 495 ia64_elf64_le_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; 496 ia64_elf64_hpux_be_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; 497 ia64_elf64_vms_vec) tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;; 498 ia64_pei_vec) tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;; 499 ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;; 500 iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;; 501 kvx_elf32_vec) tb="$tb elf32-kvx.lo elfxx-kvx.lo elf32.lo $elf $ipa" ;; 502 kvx_elf64_vec) tb="$tb elf64-kvx.lo elfxx-kvx.lo elf64.lo $elf $ipa"; target_size=64 ;; 503 lm32_elf32_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; 504 lm32_elf32_fdpic_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;; 505 loongarch_elf32_vec) tb="$tb elf32-loongarch.lo elfxx-loongarch.lo elf32.lo elf-ifunc.lo $elf" ;; 506 loongarch_elf64_vec) tb="$tb elf64-loongarch.lo elf64.lo elfxx-loongarch.lo elf32.lo elf-ifunc.lo $elf"; target_size=64 ;; 507 loongarch64_pei_vec) tb="$tb pei-loongarch64.lo pe-loongarch64igen.lo $coff"; target_size=64 ;; 508 m32c_elf32_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;; 509 m32r_elf32_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 510 m32r_elf32_le_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 511 m32r_elf32_linux_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 512 m32r_elf32_linux_le_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 513 m68hc11_elf32_vec) tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;; 514 m68hc12_elf32_vec) tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;; 515 m68k_elf32_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; 516 s12z_elf32_vec) tb="$tb elf32-s12z.lo elf32.lo $elf" ;; 517 mach_o_be_vec) tb="$tb mach-o.lo dwarf2.lo" ;; 518 mach_o_le_vec) tb="$tb mach-o.lo dwarf2.lo" ;; 519 mach_o_fat_vec) tb="$tb mach-o.lo dwarf2.lo" ;; 520 mcore_elf32_be_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; 521 mcore_elf32_le_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; 522 mcore_pe_be_vec) tb="$tb pe-mcore.lo peigen.lo $coff" ;; 523 mcore_pe_le_vec) tb="$tb pe-mcore.lo peigen.lo $coff" ;; 524 mcore_pei_be_vec) tb="$tb pei-mcore.lo peigen.lo $coff" ;; 525 mcore_pei_le_vec) tb="$tb pei-mcore.lo peigen.lo $coff" ;; 526 mep_elf32_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; 527 mep_elf32_le_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; 528 metag_elf32_vec) tb="$tb elf32-metag.lo elf32.lo $elf" ;; 529 microblaze_elf32_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;; 530 microblaze_elf32_le_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;; 531 mips_ecoff_be_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; 532 mips_ecoff_le_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; 533 mips_ecoff_bele_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; 534 mips_elf32_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 535 mips_elf32_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 536 mips_elf32_n_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 537 mips_elf32_n_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 538 mips_elf32_ntrad_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; ;; 539 mips_elf32_ntrad_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; ;; 540 mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 541 mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 542 mips_elf32_trad_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 543 mips_elf32_trad_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 544 mips_elf32_tradfbsd_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 545 mips_elf32_tradfbsd_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 546 mips_elf32_vxworks_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 547 mips_elf32_vxworks_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; 548 mips_elf64_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 549 mips_elf64_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 550 mips_elf64_trad_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 551 mips_elf64_trad_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 552 mips_elf64_tradfbsd_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 553 mips_elf64_tradfbsd_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; 554 mmix_elf64_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;; 555 mmix_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; 556 mn10200_elf32_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;; 557 mn10300_elf32_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;; 558 moxie_elf32_be_vec) tb="$tb elf32-moxie.lo elf32.lo $elf" ;; 559 moxie_elf32_le_vec) tb="$tb elf32-moxie.lo elf32.lo $elf" ;; 560 msp430_elf32_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;; 561 msp430_elf32_ti_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;; 562 mt_elf32_vec) tb="$tb elf32-mt.lo elf32.lo $elf" ;; 563 nds32_elf32_be_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;; 564 nds32_elf32_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;; 565 nds32_elf32_linux_be_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;; 566 nds32_elf32_linux_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;; 567 nfp_elf64_vec) tb="$tb elf64-nfp.lo elf64.lo $elf" ;; 568 nios2_elf32_be_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; 569 nios2_elf32_le_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;; 570 ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;; 571 ns32k_aout_pc532nbsd_vec) tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;; 572 or1k_elf32_vec) tb="$tb elf32-or1k.lo elf32.lo $elf" ;; 573 pdb_vec) tb="$tb pdb.lo" ;; 574 pdp11_aout_vec) tb="$tb pdp11.lo" ;; 575 pef_vec) tb="$tb pef.lo" ;; 576 pef_xlib_vec) tb="$tb pef.lo" ;; 577 pj_elf32_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; 578 pj_elf32_le_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; 579 powerpc_boot_vec) tb="$tb ppcboot.lo" ;; 580 powerpc_elf32_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; 581 powerpc_elf32_le_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; 582 powerpc_elf32_fbsd_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; 583 powerpc_elf32_vxworks_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; 584 powerpc_elf64_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf"; target_size=64 ;; 585 powerpc_elf64_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; 586 powerpc_elf64_fbsd_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; 587 powerpc_elf64_fbsd_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; 588 powerpc_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; 589 pru_elf32_vec) tb="$tb elf32-pru.lo elf32.lo $elf" ;; 590 riscv_elf32_vec) tb="$tb elf32-riscv.lo elfxx-riscv.lo elf-ifunc.lo elf32.lo $elf" ;; 591 riscv_elf64_vec) tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;; 592 riscv_elf32_be_vec) tb="$tb elf32-riscv.lo elfxx-riscv.lo elf-ifunc.lo elf32.lo $elf" ;; 593 riscv_elf64_be_vec) tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;; 594 riscv64_pei_vec) tb="$tb pei-riscv64.lo pe-riscv64igen.lo $coff"; target_size=64 ;; 595 rl78_elf32_vec) tb="$tb elf32-rl78.lo elf32.lo $elf" ;; 596 rs6000_xcoff64_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;; 597 rs6000_xcoff64_aix_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;; 598 rs6000_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; 599 rx_elf32_be_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; 600 rx_elf32_be_ns_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; 601 rx_elf32_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; 602 rx_elf32_linux_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; 603 s390_elf32_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;; 604 s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;; 605 score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;; 606 score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo elf64.lo $elf"; want64=true; target_size=64 ;; 607 sh_coff_vec) tb="$tb coff-sh.lo $coff" ;; 608 sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;; 609 sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;; 610 sh_coff_small_le_vec) tb="$tb coff-sh.lo $coff" ;; 611 sh_elf32_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 612 sh_elf32_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 613 sh_elf32_fdpic_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 614 sh_elf32_fdpic_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 615 sh_elf32_linux_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 616 sh_elf32_linux_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 617 sh_elf32_nbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 618 sh_elf32_nbsd_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 619 sh_elf32_vxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 620 sh_elf32_vxworks_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; 621 sh_pe_le_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;; 622 sh_pei_le_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;; 623 sparc_elf32_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; 624 sparc_elf32_sol2_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; 625 sparc_elf32_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; 626 sparc_elf64_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; 627 sparc_elf64_fbsd_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; 628 sparc_elf64_sol2_vec) tb="$tb elf64-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf64.lo $elf"; target_size=64 ;; 629 spu_elf32_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;; 630 sym_vec) tb="$tb xsym.lo" ;; 631 tic30_coff_vec) tb="$tb coff-tic30.lo $coffgen" ;; 632 tic4x_coff0_vec) tb="$tb coff-tic4x.lo $coffgen" ;; 633 tic4x_coff0_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; 634 tic4x_coff1_vec) tb="$tb coff-tic4x.lo $coffgen" ;; 635 tic4x_coff1_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; 636 tic4x_coff2_vec) tb="$tb coff-tic4x.lo $coffgen" ;; 637 tic4x_coff2_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; 638 tic54x_coff0_vec) tb="$tb coff-tic54x.lo $coffgen" ;; 639 tic54x_coff0_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; 640 tic54x_coff1_vec) tb="$tb coff-tic54x.lo $coffgen" ;; 641 tic54x_coff1_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; 642 tic54x_coff2_vec) tb="$tb coff-tic54x.lo $coffgen" ;; 643 tic54x_coff2_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; 644 tic6x_elf32_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; 645 tic6x_elf32_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; 646 tic6x_elf32_c6000_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; 647 tic6x_elf32_c6000_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; 648 tic6x_elf32_linux_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; 649 tic6x_elf32_linux_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; 650 tilegx_elf32_be_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; 651 tilegx_elf32_le_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; 652 tilegx_elf64_be_vec) tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;; 653 tilegx_elf64_le_vec) tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;; 654 tilepro_elf32_vec) tb="$tb elf32-tilepro.lo elf32.lo $elf" ;; 655 v800_elf32_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;; 656 v850_elf32_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;; 657 vax_aout_1knbsd_vec) tb="$tb vax1knetbsd.lo aout32.lo" ;; 658 vax_aout_nbsd_vec) tb="$tb vaxnetbsd.lo aout32.lo" ;; 659 vax_elf32_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;; 660 ft32_elf32_vec) tb="$tb elf32-ft32.lo elf32.lo $elf" ;; 661 visium_elf32_vec) tb="$tb elf32-visium.lo elf32.lo $elf" ;; 662 wasm_vec) tb="$tb wasm-module.lo" ;; 663 wasm32_elf32_vec) tb="$tb elf32-wasm32.lo elf32.lo $elf" ;; 664 x86_64_coff_vec) tb="$tb coff-x86_64.lo $coff"; target_size=64 ;; 665 x86_64_elf32_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo elf32.lo $elf"; target_size=64 ;; 666 x86_64_elf64_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; 667 x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; 668 x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; 669 x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo $elfxx_x86 elf64.lo $elf"; target_size=64 ;; 670 x86_64_mach_o_vec) tb="$tb mach-o-x86-64.lo" ;; 671 x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; 672 x86_64_pe_big_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; 673 x86_64_pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; 674 xgate_elf32_vec) tb="$tb elf32-xgate.lo elf32.lo $elf" ;; 675 xstormy16_elf32_vec) tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;; 676 xtensa_elf32_be_vec) tb="$tb xtensa-dynconfig.lo xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; 677 xtensa_elf32_le_vec) tb="$tb xtensa-dynconfig.lo xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; 678 z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo $coffgen" ;; 679 z80_elf32_vec) tb="$tb elf32-z80.lo elf32.lo $elf" ;; 680 z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo $coff" ;; 681 682 # These appear out of order in targets.c 683 srec_vec) tb="$tb srec.lo" ;; 684 symbolsrec_vec) tb="$tb srec.lo" ;; 685 tekhex_vec) tb="$tb tekhex.lo" ;; 686 core_cisco_be_vec) tb="$tb cisco-core.lo" ;; 687 core_cisco_le_vec) tb="$tb cisco-core.lo" ;; 688 689 "") ;; 690 *) AC_MSG_ERROR(*** unknown target vector $vec) ;; 691 esac 692 693 if test ${target_size} = 64; then 694 target64=true 695 fi 696 if test x"${vec}" = x"${defvec}"; then 697 bfd_default_target_size=${target_size} 698 fi 699done 700 701if test "$plugins" = "yes"; then 702 tb="$tb plugin.lo" 703fi 704 705# Target architecture .o files. 706# A couple of CPUs use shorter file names to avoid problems on DOS 707# filesystems. 708ta=`echo $selarchs | sed -e s/bfd_/cpu-/g -e s/_arch/.lo/g -e s/mn10200/m10200/ -e s/mn10300/m10300/` 709 710# Weed out duplicate .o files. 711f="" 712for i in $tb ; do 713 case " $f " in 714 *" $i "*) ;; 715 *) f="$f $i" ;; 716 esac 717done 718tb="$f" 719 720f="" 721for i in $ta ; do 722 case " $f " in 723 *" $i "*) ;; 724 *) f="$f $i" ;; 725 esac 726done 727ta="$f" 728 729bfd_backends="$tb" 730bfd_machines="$ta" 731 732if test x${all_targets} = xtrue ; then 733 bfd_backends="${bfd_backends}"' $(ALL_BACKENDS)' 734 bfd_machines="${bfd_machines}"' $(ALL_MACHINES)' 735 selvecs= 736 havevecs=-DHAVE_all_vecs 737 selarchs= 738 test -n "$assocvecs" && 739 assocvecs=`echo $assocvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'` 740else # all_targets is true 741 # Only set these if they will be nonempty, for the clever echo. 742 havevecs= 743 assocvecs= 744 test -n "$selvecs" && 745 havevecs=`echo $selvecs | sed -e 's/^/-DHAVE_/' -e 's/ \(.\)/ -DHAVE_\1/g'` 746 test -n "$selvecs" && 747 selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'` 748 test -n "$selarchs" && 749 selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'` 750fi # all_targets is true 751 752# 64-bit archives need a 64-bit bfd_vma. 753if test "x$want_64_bit_archive" = xtrue; then 754 want64=true 755 AC_DEFINE(USE_64_BIT_ARCHIVE, 1, 756 [Define if 64-bit archives should always be used.]) 757fi 758 759case ${host64}-${target64}-${want64} in 760 *true*) 761 wordsize=64 762 bfd64_libs='$(BFD64_LIBS)' 763 all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)' 764 if test -n "$GCC" ; then 765 bad_64bit_gcc=no; 766 AC_MSG_CHECKING([for gcc version with buggy 64-bit support]) 767 # Add more tests for gcc versions with non-working 64-bit support here. 768 AC_EGREP_CPP([: 2 : 91 : 1 :],[:__GNUC__:__GNUC_MINOR__:__i386__:], 769 bad_64bit_gcc=yes; 770 AC_MSG_RESULT([yes: egcs-1.1.2 on ix86 spotted]), 771 AC_MSG_RESULT(no)) 772 if test $bad_64bit_gcc = yes ; then 773 AC_MSG_ERROR([A newer version of gcc is needed for the requested 64-bit BFD configuration]) 774 fi 775 fi 776 ;; 777 false-false-false) 778 wordsize=32 779 all_backends='$(BFD32_BACKENDS)' 780 ;; 781esac 782 783tdefaults="" 784test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}" 785test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'" 786test -n "${assocvecs}" && tdefaults="${tdefaults} -DASSOCIATED_VECS='${assocvecs}'" 787test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'" 788 789AC_SUBST(wordsize) 790AC_SUBST(bfd64_libs) 791AC_SUBST(all_backends) 792AC_SUBST(bfd_backends) 793AC_SUBST(bfd_machines) 794AC_SUBST(bfd_default_target_size) 795AC_SUBST(tdefaults) 796AC_SUBST(havevecs) 797 798# If we are configured native, pick a core file support file. 799COREFILE= 800COREFLAG= 801CORE_HEADER= 802TRAD_HEADER= 803if test "${target}" = "${host}"; then 804 case "${host}" in 805 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu | alpha*-*-*vms*) 806 COREFILE='' 807 ;; 808 alpha*-*-linux-*) 809 COREFILE=trad-core.lo 810 TRAD_HEADER='"hosts/alphalinux.h"' 811 ;; 812 alpha*-*-netbsd* | alpha*-*-openbsd*) 813 COREFILE=netbsd-core.lo 814 ;; 815 alpha*-*-*) 816 COREFILE=osf-core.lo 817 ;; 818 arm-*-freebsd* | arm-*-kfreebsd*-gnu) 819 COREFILE='' ;; 820 arm*-*-netbsd* | arm-*-openbsd*) 821 COREFILE=netbsd-core.lo 822 ;; 823 hppa*-*-hpux*) COREFILE=hpux-core.lo ;; 824 hppa*-*-hiux*) COREFILE=hpux-core.lo ;; 825 hppa*-*-mpeix*) COREFILE=hpux-core.lo ;; 826 hppa*-*-bsd*) COREFILE="hpux-core.lo hppabsd-core.lo" 827 COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;; 828 hppa*-*-netbsd* | hppa*-*-openbsd*) 829 COREFILE=netbsd-core.lo 830 ;; 831 832changequote(,)dnl 833 i[3-7]86-*-bsdi) 834changequote([,])dnl 835 COREFILE= 836 ;; 837changequote(,)dnl 838 i[3-7]86-*-bsd* | i[3-7]86-*-freebsd[123] | i[3-7]86-*-freebsd[123]\.* | i[3-7]86-*-freebsd4\.[01234] | i[3-7]86-*-freebsd4\.[01234]\.*) 839changequote([,])dnl 840 COREFILE=trad-core.lo 841 TRAD_HEADER='"hosts/i386bsd.h"' 842 ;; 843changequote(,)dnl 844 i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*) 845changequote([,])dnl 846 COREFILE='' 847 TRAD_HEADER='"hosts/i386bsd.h"' 848 ;; 849changequote(,)dnl 850 i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*) 851changequote([,])dnl 852 COREFILE=netbsd-core.lo 853 ;; 854changequote(,)dnl 855 i[3-7]86-esix-sysv3*) 856changequote([,])dnl 857 COREFILE=trad-core.lo 858 TRAD_HEADER='"hosts/esix.h"' 859 ;; 860changequote(,)dnl 861 i[3-7]86-*-mach3*) 862changequote([,])dnl 863 COREFILE=trad-core.lo 864 TRAD_HEADER='"hosts/i386mach3.h"' 865 ;; 866changequote(,)dnl 867 i[3-7]86-*-linux-*) 868changequote([,])dnl 869 COREFILE=trad-core.lo 870 TRAD_HEADER='"hosts/i386linux.h"' 871 case "$enable_targets"-"$want64" in 872 *x86_64-*linux*|*-true) 873 CORE_HEADER='"hosts/x86-64linux.h"' 874 esac 875 ;; 876 mips*-*-netbsd* | mips*-*-openbsd*) 877 COREFILE=netbsd-core.lo 878 ;; 879 mips-*-irix*) 880 COREFILE=irix-core.lo 881 ;; 882 m68*-*-linux-*) 883 COREFILE=trad-core.lo 884 TRAD_HEADER='"hosts/m68klinux.h"' 885 ;; 886 m68*-*-netbsd*) 887 COREFILE=netbsd-core.lo 888 ;; 889 ns32k-pc532-mach) 890 COREFILE=trad-core.lo 891 TRAD_HEADER='"hosts/pc532mach.h"' 892 ;; 893 ns32k-*-netbsd* | ns32k-*-openbsd*) 894 COREFILE=netbsd-core.lo 895 ;; 896 rs6000-*-lynx*) 897 COREFILE=lynx-core.lo 898 ;; 899changequote(,)dnl 900 rs6000-*-aix[5-9].* | powerpc-*-aix[5-9].* | powerpc64-*-aix[5-9].*) 901changequote([,])dnl 902 COREFILE=rs6000-core.lo 903 COREFLAG="$COREFLAG -DAIX_5_CORE -DAIX_CORE_DUMPX_CORE" 904 ;; 905changequote(,)dnl 906 rs6000-*-aix4.[3-9]* | powerpc-*-aix4.[3-9]*) 907changequote([,])dnl 908 COREFILE=rs6000-core.lo 909 COREFLAG="$COREFLAG -DAIX_CORE_DUMPX_CORE" 910 # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE 911 # have c_impl as a member of struct core_dumpx 912 AC_MSG_CHECKING([for c_impl in struct core_dumpx]) 913 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <core.h>]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1, 914 [Define if struct core_dumpx has member c_impl]) 915 AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) 916 ;; 917 rs6000-*-aix4*) COREFILE=rs6000-core.lo ;; 918 rs6000-*-*) COREFILE=rs6000-core.lo ;; 919 powerpc64-*-aix*) COREFILE=rs6000-core.lo ;; 920 powerpc-*-aix4*) COREFILE=rs6000-core.lo ;; 921 powerpc-*-aix*) COREFILE=rs6000-core.lo ;; 922 powerpc-*-beos*) ;; 923 powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu) 924 COREFILE='' ;; 925 powerpc-*-netbsd*) COREFILE=netbsd-core.lo ;; 926 powerpc-*-*bsd*) COREFILE=netbsd-core.lo ;; 927 s390*-*-*) COREFILE=trad-core.lo ;; 928 sh*-*-netbsd* | sh*-*-openbsd*) 929 COREFILE=netbsd-core.lo 930 ;; 931 sparc-*-netbsd* | sparc*-*-openbsd*) 932 COREFILE=netbsd-core.lo 933 ;; 934 vax-*-netbsd* | vax-*-openbsd*) 935 COREFILE=netbsd-core.lo 936 ;; 937 vax-*-linux-*) 938 COREFILE=trad-core.lo 939 TRAD_HEADER='"hosts/vaxlinux.h"' 940 ;; 941 vax-*-*) 942 COREFILE=trad-core.lo 943 TRAD_HEADER='"hosts/vaxbsd.h"' 944 ;; 945 x86_64-*-linux*) 946 CORE_HEADER='"hosts/x86-64linux.h"' 947 ;; 948 x86_64-*-netbsd* | x86_64-*-openbsd*) 949 COREFILE=netbsd-core.lo 950 ;; 951 esac 952 953 case "$COREFILE" in 954 hppabsd-core.lo) COREFLAG=-DHPPABSD_CORE ;; 955 hpux-core.lo) COREFLAG=-DHPUX_CORE ;; 956 irix-core.lo) COREFLAG=-DIRIX_CORE ;; 957 lynx-core.lo) COREFLAG=-DLYNX_CORE ;; 958 netbsd-core.lo) COREFLAG=-DNETBSD_CORE ;; 959 osf-core.lo) COREFLAG=-DOSF_CORE ;; 960 ptrace-core.lo) COREFLAG=-DPTRACE_CORE ;; 961 rs6000-core.lo) COREFLAG="$COREFLAG -DAIX_CORE" ;; 962 trad-core.lo) COREFLAG="$COREFLAG -DTRAD_CORE" ;; 963 esac 964 965 # ELF corefile support has several flavors, but all of 966 # them use something called <sys/procfs.h> 967 BFD_SYS_PROCFS_H 968 if test "$ac_cv_header_sys_procfs_h" = yes; then 969 BFD_HAVE_SYS_PROCFS_TYPE(prstatus_t) 970 BFD_HAVE_SYS_PROCFS_TYPE(prstatus32_t) 971 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus_t, pr_who) 972 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus32_t, pr_who) 973 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t) 974 BFD_HAVE_SYS_PROCFS_TYPE(pxstatus_t) 975 BFD_HAVE_SYS_PROCFS_TYPE(pstatus32_t) 976 BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo_t) 977 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo_t, pr_pid) 978 BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo32_t) 979 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prpsinfo32_t, pr_pid) 980 BFD_HAVE_SYS_PROCFS_TYPE(psinfo_t) 981 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo_t, pr_pid) 982 BFD_HAVE_SYS_PROCFS_TYPE(psinfo32_t) 983 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(psinfo32_t, pr_pid) 984 BFD_HAVE_SYS_PROCFS_TYPE(lwpstatus_t) 985 BFD_HAVE_SYS_PROCFS_TYPE(lwpxstatus_t) 986 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_context) 987 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_reg) 988 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_fpreg) 989 BFD_HAVE_SYS_PROCFS_TYPE(win32_pstatus_t) 990 fi 991fi 992AC_SUBST(COREFILE) 993AC_SUBST(COREFLAG) 994if test -n "$CORE_HEADER"; then 995 AC_DEFINE_UNQUOTED(CORE_HEADER, $CORE_HEADER, 996 [Name of host specific core header file to include in elf.c.]) 997fi 998if test -n "$TRAD_HEADER"; then 999 AC_DEFINE_UNQUOTED(TRAD_HEADER, $TRAD_HEADER, 1000 [Name of host specific header file to include in trad-core.c.]) 1001fi 1002 1003if test "$plugins" = "yes"; then 1004 supports_plugins=1 1005else 1006 supports_plugins=0 1007fi 1008AC_SUBST(supports_plugins) 1009AC_SUBST(lt_cv_dlopen_libs) 1010 1011# Determine the host dependent file_ptr a.k.a. off_t type. In order 1012# prefer: off64_t - if ftello64 and fseeko64, off_t - if ftello and 1013# fseeko, long. This assumes that sizeof off_t is .ge. sizeof long. 1014# Hopefully a reasonable assumption since fseeko et.al. should be 1015# upward compatible. 1016AC_CHECK_FUNCS(ftello ftello64 fseeko fseeko64 fopen64) 1017AC_CHECK_DECLS([ftello, ftello64, fseeko, fseeko64, fopen64]) 1018if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then 1019 AC_CHECK_SIZEOF(off_t) 1020fi 1021AC_MSG_CHECKING([file_ptr type]) 1022bfd_file_ptr="long" 1023bfd_ufile_ptr="unsigned long" 1024if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \ 1025 -o x"${ac_cv_sizeof_off_t}" = x8; then 1026 bfd_file_ptr=int64_t 1027 bfd_ufile_ptr=uint64_t 1028fi 1029AC_MSG_RESULT($bfd_file_ptr) 1030AC_SUBST(bfd_file_ptr) 1031AC_SUBST(bfd_ufile_ptr) 1032 1033AC_FUNC_MMAP 1034AC_CHECK_FUNCS(madvise mprotect) 1035case ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in 1036 true+yes ) AC_DEFINE(USE_MMAP, 1, [Use mmap if it's available?]) ;; 1037esac 1038 1039AC_CONFIG_FILES([Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in]) 1040 1041dnl We need this duplication, even though we use AM_PO_SUBDIRS, because of 1042dnl our two separate POTFILES. Yuck. 1043AC_CONFIG_COMMANDS([default], 1044[[ 1045case "$srcdir" in 1046 .) srcdirpre= ;; 1047 *) srcdirpre='$(srcdir)/' ;; 1048esac 1049POFILES= 1050GMOFILES= 1051for lang in dummy $OBSOLETE_ALL_LINGUAS; do 1052 if test $lang != dummy; then 1053 POFILES="$POFILES $srcdirpre$lang.po" 1054 GMOFILES="$GMOFILES $srcdirpre$lang.gmo" 1055 fi 1056done 1057sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' \ 1058 -e '/BLD-POTFILES =/r po/BLD-POTFILES' \ 1059 -e "s,@POFILES@,$POFILES," \ 1060 -e "s,@GMOFILES@,$GMOFILES," \ 1061 po/Makefile.in > po/Makefile]],[[]]) 1062 1063dnl Required by html, pdf, install-pdf and install-html 1064AC_SUBST(datarootdir) 1065AC_SUBST(docdir) 1066AC_SUBST(htmldir) 1067AC_SUBST(pdfdir) 1068 1069AC_OUTPUT 1070 1071GNU_MAKE_JOBSERVER 1072