dnl Process this file with autoconf to produce a configure script.
dnl
-dnl Copyright (C) 2012-2021 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2024 Free Software Foundation, Inc.
dnl
dnl This file is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.])
fi
-AC_ARG_ENABLE(64-bit-bfd,
-[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
-[case "${enableval}" in
- yes) want64=true ;;
- no) want64=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
-esac],[want64=false])dnl
+BFD_64_BIT
+if test $enable_64_bit_bfd = yes ; then
+ want64=true
+else
+ want64=false
+fi
AC_ARG_ENABLE(targets,
[ --enable-targets alternative target configurations],
AM_INSTALL_LIBBFD
AC_EXEEXT
+AC_C_BIGENDIAN
+
host64=false
target64=false
bfd_default_target_size=32
AC_SUBST(HDEFINES)
AC_PROG_INSTALL
-BFD_HOST_64BIT_LONG=0
-BFD_HOST_64BIT_LONG_LONG=0
-BFD_HOST_64_BIT_DEFINED=0
-BFD_HOST_64_BIT=
-BFD_HOST_U_64_BIT=
-BFD_HOSTPTR_T="unsigned long"
-
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(void *)
AC_CHECK_SIZEOF(long)
host64=true
fi
-if test "x${ac_cv_sizeof_long}" = "x8"; then
- BFD_HOST_64BIT_LONG=1
- test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
- test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
- BFD_HOST_64BIT_LONG_LONG=1
- test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
- test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
- if test "x${ac_cv_sizeof_void_p}" = "x8"; then
- BFD_HOSTPTR_T="unsigned long long"
- fi
-fi
-
-if test -n "${HOST_64BIT_TYPE}" -a -n "${HOST_U_64BIT_TYPE}"; then
- BFD_HOST_64_BIT_DEFINED=1
- BFD_HOST_64_BIT="${HOST_64BIT_TYPE}"
- BFD_HOST_U_64_BIT="${HOST_U_64BIT_TYPE}"
-fi
-
-AC_SUBST(BFD_HOST_64BIT_LONG)
-AC_SUBST(BFD_HOST_64BIT_LONG_LONG)
-AC_SUBST(BFD_HOST_64_BIT_DEFINED)
-AC_SUBST(BFD_HOST_64_BIT)
-AC_SUBST(BFD_HOST_U_64_BIT)
-AC_SUBST(BFD_HOSTPTR_T)
-
BFD_CC_FOR_BUILD
AC_CHECK_HEADERS(fcntl.h sys/file.h sys/resource.h sys/stat.h sys/types.h \
sysconf)
AC_CHECK_DECLS([basename, ffs, stpcpy, asprintf, vasprintf, strnlen])
+AC_CHECK_DECLS([___lc_codepage_func], [], [], [[#include <locale.h>]])
BFD_BINARY_FOPEN
-# Link in zlib if we can. This allows us to read compressed debug sections.
+AX_TLS
+
+# Link in zlib/zstd if we can. This allows us to read compressed debug sections.
# This is used only by compress.c.
AM_ZLIB
+AC_ZSTD
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
fi
fi
-SHARED_LIBADD="$SHARED_LIBADD $LIBINTL"
+SHARED_LIBADD="$SHARED_LIBADD $LTLIBINTL"
if test "$enable_shared" = "yes"; then
case "${host}" in
tb=
elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo
- dwarf1.lo dwarf2.lo"
+ elf-sframe.lo dwarf1.lo dwarf2.lo"
coffgen="coffgen.lo dwarf2.lo"
coff="cofflink.lo $coffgen"
ecoff="ecofflink.lo $coffgen"
aarch64_elf64_le_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
aarch64_elf64_le_cloudabi_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
aarch64_mach_o_vec) tb="$tb mach-o-aarch64.lo"; target_size=64 ;;
- aarch64_pei_vec) tb="$tb pei-aarch64.lo pe-aarch64igen.lo $coff"; target_size=64 ;;
+ aarch64_pei_le_vec) tb="$tb pei-aarch64.lo pe-aarch64igen.lo $coff"; target_size=64 ;;
+ aarch64_pe_le_vec) tb="$tb pe-aarch64.lo pe-aarch64igen.lo $coff"; target_size=64 ;;
alpha_ecoff_le_vec) tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;;
alpha_elf64_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
alpha_elf64_fbsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
alpha_vms_vec) tb="$tb vms-alpha.lo vms-misc.lo vms-lib.lo"; target_size=64 ;;
alpha_vms_lib_txt_vec) tb="$tb vms-lib.lo vms-misc.lo" ;;
am33_elf32_linux_vec) tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
+ amdgcn_elf64_le_vec) tb="$tb elf64-amdgcn.lo elf64.lo $elf"; target_size=64 ;;
aout0_be_vec) tb="$tb aout0.lo aout32.lo" ;;
aout64_vec) tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
aout_vec) tb="$tb host-aout.lo aout32.lo" ;;
ia64_pei_vec) tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
- k1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
- k1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
- l1om_elf64_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
- l1om_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elfxx-x86.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
+ kvx_elf32_vec) tb="$tb elf32-kvx.lo elfxx-kvx.lo elf32.lo $elf $ipa" ;;
+ kvx_elf64_vec) tb="$tb elf64-kvx.lo elfxx-kvx.lo elf64.lo $elf $ipa"; target_size=64 ;;
lm32_elf32_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
lm32_elf32_fdpic_vec) tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
loongarch_elf32_vec) tb="$tb elf32-loongarch.lo elfxx-loongarch.lo elf32.lo elf-ifunc.lo $elf" ;;
loongarch_elf64_vec) tb="$tb elf64-loongarch.lo elf64.lo elfxx-loongarch.lo elf32.lo elf-ifunc.lo $elf"; target_size=64 ;;
+ loongarch64_pei_vec) tb="$tb pei-loongarch64.lo pe-loongarch64igen.lo $coff"; target_size=64 ;;
m32c_elf32_vec) tb="$tb elf32-m32c.lo elf32.lo $elf" ;;
m32r_elf32_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
m32r_elf32_le_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
ns32k_aout_pc532nbsd_vec) tb="$tb ns32knetbsd.lo aout-ns32k.lo" ;;
or1k_elf32_vec) tb="$tb elf32-or1k.lo elf32.lo $elf" ;;
+ pdb_vec) tb="$tb pdb.lo" ;;
pdp11_aout_vec) tb="$tb pdp11.lo" ;;
pef_vec) tb="$tb pef.lo" ;;
pef_xlib_vec) tb="$tb pef.lo" ;;
riscv_elf64_vec) tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
riscv_elf32_be_vec) tb="$tb elf32-riscv.lo elfxx-riscv.lo elf-ifunc.lo elf32.lo $elf" ;;
riscv_elf64_be_vec) tb="$tb elf64-riscv.lo elf64.lo elfxx-riscv.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
+ riscv64_pei_vec) tb="$tb pei-riscv64.lo pe-riscv64igen.lo $coff"; target_size=64 ;;
rl78_elf32_vec) tb="$tb elf32-rl78.lo elf32.lo $elf" ;;
rs6000_xcoff64_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
rs6000_xcoff64_aix_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;;
x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
x86_64_pe_big_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
x86_64_pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo $coff"; target_size=64 ;;
- xc16x_elf32_vec) tb="$tb elf32-xc16x.lo elf32.lo $elf" ;;
xgate_elf32_vec) tb="$tb elf32-xgate.lo elf32.lo $elf" ;;
xstormy16_elf32_vec) tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;;
- xtensa_elf32_be_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
- xtensa_elf32_le_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
+ xtensa_elf32_be_vec) tb="$tb xtensa-dynconfig.lo xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
+ xtensa_elf32_le_vec) tb="$tb xtensa-dynconfig.lo xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo $coffgen" ;;
z80_elf32_vec) tb="$tb elf32-z80.lo elf32.lo $elf" ;;
z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo $coff" ;;
wordsize=64
bfd64_libs='$(BFD64_LIBS)'
all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)'
- if test $BFD_HOST_64_BIT_DEFINED = 0; then
- AC_MSG_WARN([You have requested a 64 bit BFD configuration, but])
- AC_MSG_WARN([your compiler may not have a 64 bit integral type])
- fi
if test -n "$GCC" ; then
bad_64bit_gcc=no;
AC_MSG_CHECKING([for gcc version with buggy 64-bit support])
arm*-*-netbsd* | arm-*-openbsd*)
COREFILE=netbsd-core.lo
;;
- arm-*-riscix) COREFILE=trad-core.lo ;;
hppa*-*-hpux*) COREFILE=hpux-core.lo ;;
hppa*-*-hiux*) COREFILE=hpux-core.lo ;;
hppa*-*-mpeix*) COREFILE=hpux-core.lo ;;
COREFILE=netbsd-core.lo
;;
-changequote(,)dnl
- i[3-7]86-sequent-bsd*)
-changequote([,])dnl
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/symmetry.h"'
- ;;
-changequote(,)dnl
- i[3-7]86-sequent-sysv4*) ;;
- i[3-7]86-sequent-sysv*)
-changequote([,])dnl
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/symmetry.h"'
- ;;
changequote(,)dnl
i[3-7]86-*-bsdi)
changequote([,])dnl
COREFILE=
;;
changequote(,)dnl
- 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*)
+ 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]\.*)
changequote([,])dnl
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/i386bsd.h"'
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/esix.h"'
;;
-changequote(,)dnl
- i[3-7]86-*-sco3.2v5*)
-changequote([,])dnl
- COREFILE=sco5-core.lo
- ;;
-changequote(,)dnl
- i[3-7]86-*-sco* | i[3-7]86-*-isc*)
-changequote([,])dnl
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386sco.h"'
- ;;
changequote(,)dnl
i[3-7]86-*-mach3*)
changequote([,])dnl
CORE_HEADER='"hosts/x86-64linux.h"'
esac
;;
-changequote(,)dnl
- i[3-7]86-*-isc*) COREFILE=trad-core.lo ;;
- i[3-7]86-*-aix*) COREFILE=aix386-core.lo ;;
-changequote([,])dnl
mips*-*-netbsd* | mips*-*-openbsd*)
COREFILE=netbsd-core.lo
;;
- mips-sgi-irix4*) COREFILE=irix-core.lo ;;
- mips-sgi-irix5*) COREFILE=irix-core.lo ;;
- mips-sgi-irix6*) COREFILE=irix-core.lo ;;
+ mips-*-irix*)
+ COREFILE=irix-core.lo
+ ;;
m68*-*-linux-*)
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/m68klinux.h"'
vax-*-netbsd* | vax-*-openbsd*)
COREFILE=netbsd-core.lo
;;
- vax-*-ultrix2*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
- vax-*-ultrix*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
vax-*-linux-*)
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/vaxlinux.h"'
esac
case "$COREFILE" in
- aix386-core.lo) COREFLAG=-DAIX386_CORE ;;
hppabsd-core.lo) COREFLAG=-DHPPABSD_CORE ;;
hpux-core.lo) COREFLAG=-DHPUX_CORE ;;
irix-core.lo) COREFLAG=-DIRIX_CORE ;;
osf-core.lo) COREFLAG=-DOSF_CORE ;;
ptrace-core.lo) COREFLAG=-DPTRACE_CORE ;;
rs6000-core.lo) COREFLAG="$COREFLAG -DAIX_CORE" ;;
- sco5-core.lo) COREFLAG="$COREFLAG -DSCO5_CORE" ;;
trad-core.lo) COREFLAG="$COREFLAG -DTRAD_CORE" ;;
esac
bfd_ufile_ptr="unsigned long"
if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \
-o x"${ac_cv_sizeof_off_t}" = x8; then
- bfd_file_ptr=BFD_HOST_64_BIT
- bfd_ufile_ptr=BFD_HOST_U_64_BIT
+ bfd_file_ptr=int64_t
+ bfd_ufile_ptr=uint64_t
fi
AC_MSG_RESULT($bfd_file_ptr)
AC_SUBST(bfd_file_ptr)
true+yes ) AC_DEFINE(USE_MMAP, 1, [Use mmap if it's available?]) ;;
esac
-rm -f doc/config.status
-AC_CONFIG_FILES([Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in])
+AC_CONFIG_FILES([Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in])
dnl We need this duplication, even though we use AM_PO_SUBDIRS, because of
dnl our two separate POTFILES. Yuck.