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