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