
1: dnl Process this file with autoconf to produce a configure script. 2: dnl 3: 4: AC_PREREQ(2.59) 5: AC_INIT 6: AC_CONFIG_SRCDIR([libbfd.c]) 7: 8: AC_CANONICAL_TARGET 9: AC_ISC_POSIX 10: 11: AM_INIT_AUTOMAKE(bfd, 2.18) 12: 13: dnl These must be called before AM_PROG_LIBTOOL, because it may want 14: dnl to call AC_CHECK_PROG. 15: AC_CHECK_TOOL(AR, ar) 16: AC_CHECK_TOOL(RANLIB, ranlib, :) 17: 18: dnl Default to a non shared library. This may be overridden by the 19: dnl configure option --enable-shared. 20: AM_DISABLE_SHARED 21: 22: AC_PROG_CC 23: AC_GNU_SOURCE 24: 25: AC_PROG_LIBTOOL 26: 27: AC_ARG_ENABLE(64-bit-bfd, 28: [ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)], 29: [case "${enableval}" in 30: yes) want64=true ;; 31: no) want64=false ;; 32: *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;; 33: esac],[want64=false])dnl 34: AC_ARG_ENABLE(targets, 35: [ --enable-targets alternative target configurations], 36: [case "${enableval}" in 37: yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all']) 38: ;; 39: no) enable_targets= ;; 40: *) enable_targets=$enableval ;; 41: esac])dnl 42: AC_ARG_ENABLE(commonbfdlib, 43: [ --enable-commonbfdlib build shared BFD/opcodes/libiberty library], 44: [case "${enableval}" in 45: yes) commonbfdlib=true ;; 46: no) commonbfdlib=false ;; 47: *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;; 48: esac])dnl 49: AC_ARG_WITH(mmap, 50: [ --with-mmap try using mmap for BFD input files if available], 51: [case "${withval}" in 52: yes) want_mmap=true ;; 53: no) want_mmap=false ;; 54: *) AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;; 55: esac],[want_mmap=false])dnl 56: 57: AC_ARG_ENABLE(secureplt, 58: [ --enable-secureplt Default to creating read-only plt entries], 59: [case "${enableval}" in 60: yes) use_secureplt=true ;; 61: no) use_secureplt=false ;; 62: *) AC_MSG_ERROR(bad value ${enableval} for secureplt option) ;; 63: esac],[use_secureplt=false])dnl 64: if test $use_secureplt = true; then 65: AC_DEFINE(USE_SECUREPLT, 1, 66: [Define if we should default to creating read-only plt entries]) 67: fi 68: 69: DEBUGDIR=${libdir}/debug 70: 71: AC_ARG_WITH(separate-debug-dir, 72: AS_HELP_STRING([--with-separate-debug-dir=DIR], 73: [Look for global separate debug info in DIR [[default=LIBDIR/debug]]]), 74: [DEBUGDIR="${withval}"]) 75: AC_SUBST(DEBUGDIR) 76: 77: ACX_PKGVERSION([GNU Binutils]) 78: ACX_BUGURL([http://www.sourceware.org/bugzilla/]) 79: 80: AM_BINUTILS_WARNINGS 81: 82: AM_CONFIG_HEADER(config.h:config.in) 83: 84: if test -z "$target" ; then 85: AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) 86: fi 87: 88: AM_MAINTAINER_MODE 89: AM_CONDITIONAL(GENINSRC_NEVER, false) 90: AM_INSTALL_LIBBFD 91: AC_EXEEXT 92: 93: host64=false 94: target64=false 95: bfd_default_target_size=32 96: 97: # host stuff: 98: 99: ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi" 100: ZW_GNU_GETTEXT_SISTER_DIR 101: AM_PO_SUBDIRS 102: 103: # Permit host specific settings. 104: . ${srcdir}/configure.host 105: 106: AC_SUBST(HDEFINES) 107: AC_PROG_INSTALL 108: 109: BFD_HOST_64BIT_LONG=0 110: BFD_HOST_64BIT_LONG_LONG=0 111: BFD_HOST_LONG_LONG=0 112: BFD_HOST_64_BIT_DEFINED=0 113: BFD_HOST_64_BIT= 114: BFD_HOST_U_64_BIT= 115: BFD_HOSTPTR_T="unsigned long" 116: 117: AC_MSG_CHECKING([for long long]) 118: AC_CACHE_VAL(bfd_cv_has_long_long, 119: [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[unsigned long long ll = 18446744073709551615ULL;]])],[bfd_cv_has_long_long=yes],[bfd_cv_has_long_long=no])]) 120: AC_MSG_RESULT($bfd_cv_has_long_long) 121: if test $bfd_cv_has_long_long = yes; then 122: BFD_HOST_LONG_LONG=1 123: AC_CHECK_SIZEOF(long long) 124: fi 125: 126: AC_CHECK_SIZEOF(void *) 127: AC_CHECK_SIZEOF(long) 128: 129: if test "x${ac_cv_sizeof_void_p}" = "x8"; then 130: host64=true 131: if test "x${ac_cv_sizeof_long}" = "x8"; then 132: BFD_HOST_64BIT_LONG=1 133: test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long" 134: test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long" 135: elif test "x${ac_cv_sizeof_long_long}" = "x8"; then 136: BFD_HOST_64BIT_LONG_LONG=1 137: test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long" 138: test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long" 139: BFD_HOSTPTR_T="unsigned long long" 140: fi 141: elif test "x${ac_cv_sizeof_long_long}" = "x8"; then 142: test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long" 143: test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long" 144: fi 145: 146: if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then 147: BFD_HOST_64_BIT_DEFINED=1 148: BFD_HOST_64_BIT="${HOST_64BIT_TYPE}" 149: BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}" 150: fi 151: 152: AC_SUBST(BFD_HOST_64BIT_LONG) 153: AC_SUBST(BFD_HOST_64BIT_LONG_LONG) 154: AC_SUBST(BFD_HOST_LONG_LONG) 155: AC_SUBST(BFD_HOST_64_BIT_DEFINED) 156: AC_SUBST(BFD_HOST_64_BIT) 157: AC_SUBST(BFD_HOST_U_64_BIT) 158: AC_SUBST(BFD_HOSTPTR_T) 159: 160: BFD_CC_FOR_BUILD 161: 162: AC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h) 163: AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h) 164: GCC_HEADER_STDINT(bfd_stdint.h) 165: AC_HEADER_TIME 166: AC_HEADER_DIRENT 167: ACX_HEADER_STRING 168: AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid) 169: AC_CHECK_FUNCS(strtoull) 170: 171: AC_CHECK_DECLS(basename) 172: AC_CHECK_DECLS(ftello) 173: AC_CHECK_DECLS(ftello64) 174: AC_CHECK_DECLS(fseeko) 175: AC_CHECK_DECLS(fseeko64) 176: 177: BFD_BINARY_FOPEN 178: 179: AC_CHECK_DECLS(ffs) 180: AC_CHECK_DECLS(free) 181: AC_CHECK_DECLS(getenv) 182: AC_CHECK_DECLS(malloc) 183: AC_CHECK_DECLS(realloc) 184: AC_CHECK_DECLS(stpcpy) 185: AC_CHECK_DECLS(strstr) 186: AC_CHECK_DECLS(snprintf) 187: AC_CHECK_DECLS(vsnprintf) 188: 189: # If we are configured native, pick a core file support file. 190: COREFILE= 191: COREFLAG= 192: TRAD_HEADER= 193: if test "${target}" = "${host}"; then 194: case "${host}" in 195: alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) 196: COREFILE='' 197: ;; 198: alpha*-*-linux-*) 199: COREFILE=trad-core.lo 200: TRAD_HEADER='"hosts/alphalinux.h"' 201: ;; 202: alpha*-*-netbsd* | alpha*-*-openbsd*) 203: COREFILE=netbsd-core.lo 204: ;; 205: alpha*-*-*) COREFILE=osf-core.lo ;; 206: arm-*-freebsd* | arm-*-kfreebsd*-gnu) 207: COREFILE='' ;; 208: arm-*-netbsd* | arm-*-openbsd*) 209: COREFILE=netbsd-core.lo 210: ;; 211: arm-*-riscix) COREFILE=trad-core.lo ;; 212: hppa*-*-hpux*) COREFILE=hpux-core.lo ;; 213: hppa*-*-hiux*) COREFILE=hpux-core.lo ;; 214: hppa*-*-mpeix*) COREFILE=hpux-core.lo ;; 215: hppa*-*-bsd*) COREFILE="hpux-core.lo hppabsd-core.lo" 216: COREFLAG="-DHPUX_CORE -DHPPABSD_CORE" ;; 217: hppa*-*-netbsd* | hppa*-*-openbsd*) 218: COREFILE=netbsd-core.lo 219: ;; 220: 221: i370-*-*) 222: COREFILE=trad-core.lo 223: TRAD_HEADER='"hosts/i370linux.h"' 224: ;; 225: 226: changequote(,)dnl 227: i[3-7]86-sequent-bsd*) 228: changequote([,])dnl 229: COREFILE=trad-core.lo 230: TRAD_HEADER='"hosts/symmetry.h"' 231: ;; 232: changequote(,)dnl 233: i[3-7]86-sequent-sysv4*) ;; 234: i[3-7]86-sequent-sysv*) 235: changequote([,])dnl 236: COREFILE=trad-core.lo 237: TRAD_HEADER='"hosts/symmetry.h"' 238: ;; 239: changequote(,)dnl 240: i[3-7]86-*-bsdi) 241: changequote([,])dnl 242: COREFILE= 243: ;; 244: changequote(,)dnl 245: 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*) 246: changequote([,])dnl 247: COREFILE=trad-core.lo 248: TRAD_HEADER='"hosts/i386bsd.h"' 249: ;; 250: changequote(,)dnl 251: i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*) 252: changequote([,])dnl 253: COREFILE='' 254: TRAD_HEADER='"hosts/i386bsd.h"' 255: ;; 256: changequote(,)dnl 257: i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu | i[3-7]86-*-openbsd*) 258: changequote([,])dnl 259: COREFILE=netbsd-core.lo 260: ;; 261: changequote(,)dnl 262: i[3-7]86-esix-sysv3*) 263: changequote([,])dnl 264: COREFILE=trad-core.lo 265: TRAD_HEADER='"hosts/esix.h"' 266: ;; 267: changequote(,)dnl 268: i[3-7]86-*-sco3.2v5*) 269: changequote([,])dnl 270: COREFILE=sco5-core.lo 271: ;; 272: changequote(,)dnl 273: i[3-7]86-*-sco* | i[3-7]86-*-isc*) 274: changequote([,])dnl 275: COREFILE=trad-core.lo 276: TRAD_HEADER='"hosts/i386sco.h"' 277: ;; 278: changequote(,)dnl 279: i[3-7]86-*-mach3*) 280: changequote([,])dnl 281: COREFILE=trad-core.lo 282: TRAD_HEADER='"hosts/i386mach3.h"' 283: ;; 284: changequote(,)dnl 285: i[3-7]86-*-linux-*) 286: changequote([,])dnl 287: COREFILE=trad-core.lo 288: TRAD_HEADER='"hosts/i386linux.h"' 289: ;; 290: changequote(,)dnl 291: i[3-7]86-*-isc*) COREFILE=trad-core.lo ;; 292: i[3-7]86-*-aix*) COREFILE=aix386-core.lo ;; 293: changequote([,])dnl 294: i860-*-mach3* | i860-*-osf1*) 295: COREFILE=trad-core.lo 296: TRAD_HEADER='"hosts/i860mach3.h"' 297: ;; 298: mips-*-netbsd* | mips*-*-openbsd*) 299: COREFILE=netbsd-core.lo 300: ;; 301: mips-dec-*) 302: COREFILE=trad-core.lo 303: TRAD_HEADER='"hosts/decstation.h"' 304: ;; 305: mips-sgi-irix4*) COREFILE=irix-core.lo ;; 306: mips-sgi-irix5*) COREFILE=irix-core.lo ;; 307: mips-sgi-irix6*) COREFILE=irix-core.lo ;; 308: mips-*-sysv4*) ;; 309: mips-*-sysv* | mips-*-riscos*) 310: COREFILE=trad-core.lo 311: TRAD_HEADER='"hosts/riscos.h"' 312: ;; 313: mips-sony-bsd*) 314: COREFILE=trad-core.lo 315: TRAD_HEADER='"hosts/news-mips.h"' 316: ;; 317: m68*-bull*-sysv*) 318: COREFILE=trad-core.lo 319: TRAD_HEADER='"hosts/dpx2.h"' 320: ;; 321: m68*-hp-hpux*) COREFILE=hpux-core.lo ;; 322: m68*-hp-bsd*) 323: COREFILE=trad-core.lo 324: TRAD_HEADER='"hosts/hp300bsd.h"' 325: ;; 326: m68*-*-linux-*) 327: COREFILE=trad-core.lo 328: TRAD_HEADER='"hosts/m68klinux.h"' 329: ;; 330: m68*-motorola-sysv*) 331: COREFILE=trad-core.lo 332: TRAD_HEADER='"hosts/delta68.h"' 333: ;; 334: m68*-sony-*) 335: COREFILE=trad-core.lo 336: TRAD_HEADER='"hosts/news.h"' 337: ;; 338: m68*-*-netbsd* | m68*-*-openbsd*) 339: COREFILE=netbsd-core.lo 340: ;; 341: m68*-apple-aux*) 342: COREFILE=trad-core.lo 343: TRAD_HEADER='"hosts/m68kaux.h"' 344: ;; 345: m88*-*-sysv4*) 346: ;; 347: m88*-motorola-sysv*) 348: COREFILE=ptrace-core.lo 349: ;; 350: m88*-*-mach3*) 351: COREFILE=trad-core.lo 352: TRAD_HEADER='"hosts/m88kmach3.h"' 353: ;; 354: m88*-*-openbsd*) 355: COREFILE=netbsd-core.lo 356: ;; 357: ns32k-pc532-mach) 358: COREFILE=trad-core.lo 359: TRAD_HEADER='"hosts/pc532mach.h"' 360: ;; 361: ns32k-*-netbsd* | ns32k-*-openbsd*) 362: COREFILE=netbsd-core.lo 363: ;; 364: rs6000-*-lynx*) 365: COREFILE=lynx-core.lo 366: ;; 367: rs6000-*-aix5.* | powerpc-*-aix5.*) 368: COREFILE=rs6000-core.lo 369: COREFLAG="$COREFLAG -DAIX_5_CORE -DAIX_CORE_DUMPX_CORE" 370: ;; 371: changequote(,)dnl 372: rs6000-*-aix4.[3-9]* | powerpc-*-aix4.[3-9]*) 373: changequote([,])dnl 374: COREFILE=rs6000-core.lo 375: COREFLAG="$COREFLAG -DAIX_CORE_DUMPX_CORE" 376: # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE 377: # have c_impl as a member of struct core_dumpx 378: AC_MSG_CHECKING([for c_impl in struct core_dumpx]) 379: AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <core.h>]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1, 380: [Define if struct core_dumpx has member c_impl]) 381: AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) 382: ;; 383: rs6000-*-aix4*) COREFILE=rs6000-core.lo ;; 384: rs6000-*-*) COREFILE=rs6000-core.lo ;; 385: powerpc-*-aix4*) COREFILE=rs6000-core.lo ;; 386: powerpc-*-aix*) COREFILE=rs6000-core.lo ;; 387: powerpc-*-beos*) ;; 388: powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu) 389: COREFILE='' ;; 390: powerpc-*-netbsd*) COREFILE=netbsd-core.lo ;; 391: powerpc-*-*bsd*) COREFILE=netbsd-core.lo ;; 392: s390*-*-*) COREFILE=trad-core.lo ;; 393: sh*-*-netbsd* | sh*-*-openbsd*) 394: COREFILE=netbsd-core.lo 395: ;; 396: sparc-*-netbsd* | sparc*-*-openbsd*) 397: COREFILE=netbsd-core.lo 398: ;; 399: tahoe-*-*) 400: COREFILE=trad-core.lo 401: TRAD_HEADER='"hosts/tahoe.h"' 402: ;; 403: vax-*-netbsd* | vax-*-openbsd*) 404: COREFILE=netbsd-core.lo 405: ;; 406: vax-*-ultrix2*) 407: COREFILE=trad-core.lo 408: TRAD_HEADER='"hosts/vaxult2.h"' 409: ;; 410: vax-*-ultrix*) 411: COREFILE=trad-core.lo 412: TRAD_HEADER='"hosts/vaxult2.h"' 413: ;; 414: vax-*-linux-*) 415: COREFILE=trad-core.lo 416: TRAD_HEADER='"hosts/vaxlinux.h"' 417: ;; 418: vax-*-*) 419: COREFILE=trad-core.lo 420: TRAD_HEADER='"hosts/vaxbsd.h"' 421: ;; 422: x86_64-*-netbsd* | x86_64-*-openbsd*) 423: COREFILE=netbsd-core.lo 424: ;; 425: esac 426: 427: case "$COREFILE" in 428: aix386-core.lo) COREFLAG=-DAIX386_CORE ;; 429: hppabsd-core.lo) COREFLAG=-DHPPABSD_CORE ;; 430: hpux-core.lo) COREFLAG=-DHPUX_CORE ;; 431: irix-core.lo) COREFLAG=-DIRIX_CORE ;; 432: lynx-core.lo) COREFLAG=-DLYNX_CORE ;; 433: netbsd-core.lo) COREFLAG=-DNETBSD_CORE ;; 434: osf-core.lo) COREFLAG=-DOSF_CORE ;; 435: ptrace-core.lo) COREFLAG=-DPTRACE_CORE ;; 436: rs6000-core.lo) COREFLAG="$COREFLAG -DAIX_CORE" ;; 437: sco5-core.lo) COREFLAG="$COREFLAG -DSCO5_CORE" ;; 438: trad-core.lo) COREFLAG="$COREFLAG -DTRAD_CORE" ;; 439: esac 440: 441: # ELF corefile support has several flavors, but all of 442: # them use something called <sys/procfs.h> 443: AC_CHECK_HEADERS(sys/procfs.h) 444: if test "$ac_cv_header_sys_procfs_h" = yes; then 445: BFD_HAVE_SYS_PROCFS_TYPE(prstatus_t) 446: BFD_HAVE_SYS_PROCFS_TYPE(prstatus32_t) 447: BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus_t, pr_who) 448: BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(prstatus32_t, pr_who) 449: BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t) 450: BFD_HAVE_SYS_PROCFS_TYPE(pxstatus_t) 451: BFD_HAVE_SYS_PROCFS_TYPE(pstatus32_t) 452: BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo_t) 453: BFD_HAVE_SYS_PROCFS_TYPE(prpsinfo32_t) 454: BFD_HAVE_SYS_PROCFS_TYPE(psinfo_t) 455: BFD_HAVE_SYS_PROCFS_TYPE(psinfo32_t) 456: BFD_HAVE_SYS_PROCFS_TYPE(lwpstatus_t) 457: BFD_HAVE_SYS_PROCFS_TYPE(lwpxstatus_t) 458: BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_context) 459: BFD_HAVE_SYS_PROCFS_TYPE_MEMBER(lwpstatus_t, pr_reg) 460: BFD_HAVE_SYS_PROCFS_TYPE(win32_pstatus_t) 461: fi 462: fi 463: AC_SUBST(COREFILE) 464: AC_SUBST(COREFLAG) 465: if test -n "$TRAD_HEADER"; then 466: AC_DEFINE_UNQUOTED(TRAD_HEADER, $TRAD_HEADER, 467: [Name of host specific header file to include in trad-core.c.]) 468: fi 469: 470: # Horrible hacks to build DLLs on Windows. 471: WIN32LDFLAGS= 472: WIN32LIBADD= 473: case "${host}" in 474: *-*-cygwin*) 475: if test "$enable_shared" = "yes"; then 476: WIN32LDFLAGS="-no-undefined" 477: WIN32LIBADD="-L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin -lkernel32" 478: fi 479: ;; 480: *-*-linux*) 481: # We borrow WIN32LIBADD so that the shared libbfd won't depend on 482: # libiberty.a. 483: case "${host}" in 484: mips*-*-linux*) 485: # Linux/MIPS uses PIC by default. 486: if test "$enable_shared" = "yes"; then 487: WIN32LIBADD="-L../libiberty -liberty" 488: fi 489: ;; 490: *) 491: changequote(,)dnl 492: x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` 493: changequote([,])dnl 494: if test -n "$x"; then 495: WIN32LIBADD="-L../libiberty/pic -liberty" 496: fi 497: ;; 498: esac 499: ;; 500: esac 501: AC_SUBST(WIN32LDFLAGS) 502: AC_SUBST(WIN32LIBADD) 503: 504: # target stuff: 505: 506: # Canonicalize the secondary target names. 507: if test -n "$enable_targets" ; then 508: for targ in `echo $enable_targets | sed 's/,/ /g'` 509: do 510: result=`$ac_config_sub $targ 2>/dev/null` 511: if test -n "$result" ; then 512: canon_targets="$canon_targets $result" 513: else 514: # Allow targets that config.sub doesn't recognize, like "all". 515: canon_targets="$canon_targets $targ" 516: fi 517: done 518: fi 519: 520: all_targets=false 521: defvec= 522: selvecs= 523: assocvecs= 524: selarchs= 525: TDEFINES= 526: for targ in $target $canon_targets 527: do 528: if test "x$targ" = "xall"; then 529: all_targets=true 530: assocvecs="$assocvecs $targ_defvec $targ_selvecs" 531: else 532: . $srcdir/config.bfd 533: if test "x$targ" = "x$target"; then 534: defvec=$targ_defvec 535: fi 536: selvecs="$selvecs $targ_defvec $targ_selvecs" 537: selarchs="$selarchs $targ_archs" 538: TDEFINES="$TDEFINES $targ_cflags" 539: fi 540: done 541: AC_SUBST(TDEFINES) 542: 543: # This processing still needs to be done if we're to decide properly whether 544: # 64-bit support needs to be compiled in. Currently, it will be included if 545: # the default or any other explicitly requested target requires it; it 546: # will not be included on a 32-bit host if no 64-bit target is requested, and 547: # no "--with-64-bit-bfd" option is given, even if "--enable-targets=all" is 548: # used. 549: 550: # uniq the default and selected vectors in all the configured targets. 551: f="" 552: for i in $selvecs ; do 553: case " $f " in 554: *" $i "*) ;; 555: *) f="$f $i" ;; 556: esac 557: done 558: selvecs="$f" 559: 560: 561: # uniq the associated vectors in all the configured targets. 562: f="" 563: for i in $assocvecs ; do 564: case " $f " in 565: *" $i "*) ;; 566: *) f="$f $i" ;; 567: esac 568: done 569: assocvecs="$f" 570: 571: 572: # uniq the architectures in all the configured targets. 573: f="" 574: for i in $selarchs ; do 575: case " $f " in 576: *" $i "*) ;; 577: *) f="$f $i" ;; 578: esac 579: done 580: selarchs="$f" 581: 582: # Target backend .o files. 583: tb= 584: 585: elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo dwarf1.lo" 586: 587: for vec in $selvecs 588: do 589: target_size=32 590: case "$vec" in 591: # This list is alphabetized to make it easy to compare 592: # with the two vector lists in targets.c. For the same reason, 593: # use one entry per line, even though this leads to long lines. 594: a_out_adobe_vec) tb="$tb aout-adobe.lo aout32.lo" ;; 595: aix5coff64_vec) tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;; 596: aout0_big_vec) tb="$tb aout0.lo aout32.lo" ;; 597: aout_arm_big_vec) tb="$tb aout-arm.lo aout32.lo" ;; 598: aout_arm_little_vec) tb="$tb aout-arm.lo aout32.lo" ;; 599: apollocoff_vec) tb="$tb coff-apollo.lo" ;; 600: arm_epoc_pe_big_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; 601: arm_epoc_pe_little_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; 602: arm_epoc_pei_big_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;; 603: arm_epoc_pei_little_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;; 604: arm_wince_pe_big_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;; 605: arm_wince_pe_little_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;; 606: arm_wince_pei_big_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;; 607: arm_wince_pei_little_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;; 608: armcoff_big_vec) tb="$tb coff-arm.lo cofflink.lo " ;; 609: armcoff_little_vec) tb="$tb coff-arm.lo cofflink.lo " ;; 610: armnetbsd_vec) tb="$tb armnetbsd.lo aout32.lo" ;; 611: armpe_big_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;; 612: armpe_little_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;; 613: armpei_big_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;; 614: armpei_little_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;; 615: b_out_vec_big_host) tb="$tb bout.lo aout32.lo" ;; 616: b_out_vec_little_host) tb="$tb bout.lo aout32.lo" ;; 617: bfd_efi_app_ia32_vec) tb="$tb efi-app-ia32.lo peigen.lo cofflink.lo" ;; 618: bfd_efi_app_x86_64_vec) tb="$tb efi-app-x86_64.lo pex64igen.lo cofflink.lo" ;target_size=64;; 619: bfd_efi_app_ia64_vec) tb="$tb efi-app-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;; 620: bfd_elf32_am33lin_vec) tb="$tb elf32-am33lin.lo elf32.lo $elf" ;; 621: bfd_elf32_avr_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;; 622: bfd_elf32_bfin_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; 623: bfd_elf32_bfinfdpic_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; 624: bfd_elf32_big_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; 625: bfd_elf32_bigarc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; 626: bfd_elf32_bigarm_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; 627: bfd_elf32_bigarm_symbian_vec) 628: tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; 629: bfd_elf32_bigarm_vxworks_vec) 630: tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; 631: bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; 632: bfd_elf32_bigmips_vxworks_vec) 633: tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; 634: bfd_elf32_cr16_vec) tb="$tb elf32-cr16.lo elf32.lo $elf" ;; 635: bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; 636: bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; 637: bfd_elf32_crx_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;; 638: bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; 639: bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; 640: bfd_elf32_i386_dragonfly_vec) 641: tb="$tb elf32-i386.lo elf-vxworks.lo elf32.lo $elf" ;; 642: bfd_elf32_dlx_big_vec) tb="$tb elf32-dlx.lo elf32.lo $elf" ;; 643: bfd_elf32_fr30_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; 644: bfd_elf32_frv_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; 645: bfd_elf32_frvfdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; 646: bfd_elf32_h8300_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; 647: bfd_elf32_hppa_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; 648: bfd_elf32_hppa_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; 649: bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; 650: bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; 651: bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-vxworks.lo elf32.lo $elf" ;; 652: bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-vxworks.lo elf32.lo $elf" ;; 653: bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-vxworks.lo elf32.lo $elf" ;; 654: bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; 655: bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; 656: bfd_elf32_i960_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;; 657: bfd_elf32_ia64_big_vec) tb="$tb elf32-ia64.lo elf32.lo $elf" ;; 658: bfd_elf32_ia64_hpux_big_vec) tb="$tb elf32-ia64.lo elf32.lo $elf";; 659: bfd_elf32_ip2k_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;; 660: bfd_elf32_iq2000_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;; 661: bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; 662: bfd_elf32_littlearc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; 663: bfd_elf32_littlearm_symbian_vec) 664: tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; 665: bfd_elf32_littlearm_vxworks_vec) 666: tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; 667: bfd_elf32_littlearm_vec) tb="$tb elf32-arm.lo elf32.lo elf-vxworks.lo $elf" ;; 668: bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; 669: bfd_elf32_littlemips_vxworks_vec) 670: tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; 671: bfd_elf32_m32c_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;; 672: bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 673: bfd_elf32_m32rle_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 674: bfd_elf32_m32rlin_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 675: bfd_elf32_m32rlelin_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; 676: bfd_elf32_m68hc11_vec) tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;; 677: bfd_elf32_m68hc12_vec) tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;; 678: bfd_elf32_m68k_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; 679: bfd_elf32_m88k_vec) tb="$tb elf32-m88k.lo elf32.lo $elf" ;; 680: bfd_elf32_mcore_big_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; 681: bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; 682: bfd_elf32_mep_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; 683: bfd_elf32_mep_little_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; 684: bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;; 685: bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;; 686: bfd_elf32_mt_vec) tb="$tb elf32-mt.lo elf32.lo $elf" ;; 687: bfd_elf32_msp430_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;; 688: bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; 689: bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; 690: bfd_elf32_ntradbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; 691: bfd_elf32_ntradlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; 692: bfd_elf32_openrisc_vec) tb="$tb elf32-openrisc.lo elf32.lo $elf" ;; 693: bfd_elf32_or32_big_vec) tb="$tb elf32-or32.lo elf32.lo $elf" ;; 694: bfd_elf32_pj_vec) tb="$tb elf32-pj.lo elf32.lo $elf";; 695: bfd_elf32_pjl_vec) tb="$tb elf32-pj.lo elf32.lo $elf";; 696: bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; 697: bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; 698: bfd_elf32_powerpc_vxworks_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; 699: bfd_elf32_s390_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;; 700: bfd_elf32_bigscore_vec) tb="$tb elf32-score.lo elf32.lo $elf" ;; 701: bfd_elf32_littlescore_vec) tb="$tb elf32-score.lo elf32.lo $elf" ;; 702: # FIXME: We include cofflink.lo not because it's needed for 703: # bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec 704: # which needs it but does not list it. Should be fixed in right place. 705: bfd_elf32_sh64_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; 706: bfd_elf32_sh64l_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; 707: bfd_elf32_sh64lin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; 708: bfd_elf32_sh64blin_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; 709: bfd_elf32_sh64lnbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;; 710: bfd_elf32_sh64nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;; 711: bfd_elf32_sh_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; 712: bfd_elf32_shblin_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; 713: bfd_elf32_shl_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; 714: bfd_elf32_shl_symbian_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; 715: bfd_elf32_shlin_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; 716: bfd_elf32_shlnbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; 717: bfd_elf32_shlvxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; 718: bfd_elf32_shnbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; 719: bfd_elf32_shvxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; 720: bfd_elf32_sparc_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; 721: bfd_elf32_sparc_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; 722: bfd_elf32_spu_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;; 723: bfd_elf32_tradbigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; 724: bfd_elf32_tradlittlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; 725: bfd_elf32_us_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; 726: bfd_elf32_v850_vec) tb="$tb elf32-v850.lo elf32.lo $elf" ;; 727: bfd_elf32_vax_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;; 728: bfd_elf32_xstormy16_vec) tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;; 729: bfd_elf32_xc16x_vec) tb="$tb elf32-xc16x.lo elf32.lo $elf" ;; 730: bfd_elf32_xtensa_le_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; 731: bfd_elf32_xtensa_be_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; 732: bfd_elf64_alpha_freebsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; 733: bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; 734: bfd_elf64_big_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; 735: bfd_elf64_bigmips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; 736: bfd_elf64_hppa_linux_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; 737: bfd_elf64_hppa_vec) tb="$tb elf64-hppa.lo elf64.lo $elf"; target_size=64 ;; 738: bfd_elf64_ia64_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; 739: bfd_elf64_ia64_hpux_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; 740: bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"; target_size=64 ;; 741: bfd_elf64_little_generic_vec) tb="$tb elf64-gen.lo elf64.lo $elf"; target_size=64 ;; 742: bfd_elf64_littlemips_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; 743: bfd_elf64_mmix_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;;