configure.ac 45 KB

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