no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac])dnl
+AC_ARG_ENABLE(shared,
+[ --enable-shared build shared BFD library],
+[case "${enableval}" in
+ yes) shared=true ;;
+ no) shared=false ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for BFD shared option]) ;;
+esac])dnl
+AC_ARG_ENABLE(commonbfdlib,
+[ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
+[case "${enableval}" in
+ yes) commonbfdlib=true ;;
+ no) commonbfdlib=false ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
+esac])dnl
+AC_ARG_WITH(mmap,
+[ --with-mmap try using mmap for BFD input files if available],
+[case "${withval}" in
+ yes) want_mmap=true ;;
+ no) want_mmap=false ;;
+ *) AC_MSG_ERROR(bad value ${withval} for BFD with-mmap option) ;;
+esac],[want_mmap=false])dnl
-AC_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADER(config.h:config.in)
AC_CONFIG_AUX_DIR(`cd $srcdir/..;pwd`)
AC_CANONICAL_SYSTEM
# host stuff:
+ALLLIBS='$(TARGETLIB)'
+PICFLAG=
+SHLIB=
+SHLINK=
+if test "${shared}" = "true"; then
+ PICFLAG=-fpic
+ if test "${commonbfdlib}" = "true"; then
+ ALLLIBS='$(TARGETLIB)'
+ else
+ ALLLIBS='$(TARGETLIB) $(SHLIB) $(SHLINK)'
+changequote(,)dnl
+ SHLIB=libbfd.so.`sed -e 's/[^0-9]*\([0-9.]*\).*/\1/' ${srcdir}/VERSION`
+changequote([,])dnl
+ SHLINK=libbfd.so
+ fi
+fi
+
+AC_PROG_CC
+
# Permit host specific settings.
. ${srcdir}/configure.host
-AC_PROG_CC
-AC_SUBST(CFLAGS)
AC_SUBST(HDEFINES)
-AR=${AR-ar}
-AC_SUBST(AR)
+AC_CHECK_PROG(AR, ar, ar, :)
AC_PROG_RANLIB
AC_PROG_INSTALL
+if test "${shared}" = "true"; then
+ if test "${GCC}" != "yes" && test "${shared_non_gcc}" != "yes"; then
+ AC_MSG_WARN([BFD --enable-shared only supported when using gcc])
+ shared=false
+ PICFLAG=
+ SHLIB=
+ fi
+fi
+
+AC_SUBST(ALLLIBS)
+AC_SUBST(PICFLAG)
+AC_SUBST(SHLIB)
+AC_SUBST(SHLIB_CC)
+AC_SUBST(SHLIB_CFLAGS)
+if test "${commonbfdlib}" = "true"; then
+ COMMON_SHLIB=yes
+ PICLIST=piclist
+else
+ COMMON_SHLIB=
+ PICLIST=
+fi
+AC_SUBST(COMMON_SHLIB)
+AC_SUBST(PICLIST)
+AC_SUBST(SHLINK)
+
HOST_64BIT_LONG=0
if test "x${HOST_64BIT_TYPE}" = "xlong"; then
HOST_64BIT_LONG=1
BFD_CC_FOR_BUILD
AC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h)
-AC_CHECK_HEADERS(fcntl.h sys/file.h sys/procfs.h)
-AC_CHECK_FUNCS(fcntl)
+AC_CHECK_HEADERS(fcntl.h sys/file.h)
+AC_CHECK_FUNCS(fcntl getpagesize)
BFD_BINARY_FOPEN
-AC_MSG_CHECKING([whether malloc must be declared])
-AC_CACHE_VAL(bfd_cv_decl_needed_malloc,
-[AC_TRY_COMPILE([
-#include <stdio.h>
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif],
-[char *(*pfn) = (char *(*)) malloc],
-bfd_cv_decl_needed_malloc=no, bfd_cv_decl_needed_malloc=yes)])
-AC_MSG_RESULT($bfd_cv_decl_needed_malloc)
-if test $bfd_cv_decl_needed_malloc = yes; then
- AC_DEFINE(NEED_DECLARATION_MALLOC)
-fi
-
-AC_MSG_CHECKING([whether free must be declared])
-AC_CACHE_VAL(bfd_cv_decl_needed_free,
-[AC_TRY_COMPILE([
-#include <stdio.h>
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif],
-[int (*pfn) = (int (*)) free],
-bfd_cv_decl_needed_free=no, bfd_cv_decl_needed_free=yes)])
-AC_MSG_RESULT($bfd_cv_decl_needed_free)
-if test $bfd_cv_decl_needed_free = yes; then
- AC_DEFINE(NEED_DECLARATION_FREE)
-fi
+BFD_NEED_DECLARATION(malloc)
+BFD_NEED_DECLARATION(free)
# If we are configured native, pick a core file support file.
COREFILE=
COREFLAG=
if test "${target}" = "${host}"; then
case "${host}" in
- alpha-*-*) COREFILE=osf-core.o ;;
+ alpha*-*-linux*)
+ COREFILE=trad-core.o
+ AC_DEFINE(TRAD_HEADER,"hosts/alphalinux.h")
+ ;;
+ alpha*-*-*) COREFILE=osf-core.o ;;
arm-*-riscix) COREFILE=trad-core.o ;;
hppa*-*-hpux*) COREFILE=hpux-core.o ;;
hppa*-*-hiux*) COREFILE=hpux-core.o ;;
AC_DEFINE(TRAD_HEADER,"hosts/symmetry.h")
;;
changequote(,)dnl
- i[345]86-*-bsd* | i[345]86-*-freebsd* | i[345]86-*-netbsd*)
+ i[345]86-*-bsd* | i[345]86-*-freebsd*)
changequote([,])dnl
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/i386bsd.h")
;;
+changequote(,)dnl
+ i[345]86-*-netbsd*)
+changequote([,])dnl
+ COREFILE=netbsd-core.o
+ ;;
changequote(,)dnl
i[345]86-esix-sysv3*)
changequote([,])dnl
i[345]86-*-isc*) COREFILE=trad-core.o ;;
i[345]86-*-aix*) COREFILE=aix386-core.o ;;
changequote([,])dnl
+ i860-*-mach3* | i860-*-osf1*)
+ COREFILE=trad-core.o
+ AC_DEFINE(TRAD_HEADER,"hosts/i860mach3.h")
+ ;;
mips-dec-bsd*)
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/mipsbsd.h")
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/mipsmach3.h")
;;
+ mips-*-netbsd*)
+ COREFILE=netbsd-core.o
+ ;;
mips-dec-*)
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/decstation.h")
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/hp300bsd.h")
;;
- m68*-motorola-sysv*) COREFILE=ptrace-core.o ;;
+ m68*-*-linux*)
+ COREFILE=trad-core.o
+ AC_DEFINE(TRAD_HEADER,"hosts/m68klinux.h")
+ ;;
+ m68*-motorola-sysv*)
+ COREFILE=trad-core.o
+ AC_DEFINE(TRAD_HEADER, "hosts/delta68.h")
+ ;;
m68*-sony-*)
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/news.h")
;;
+ m68*-*-netbsd*)
+ COREFILE=netbsd-core.o
+ ;;
+ m68*-apple-aux*)
+ COREFILE=trad-core.o
+ AC_DEFINE(TRAD_HEADER,"hosts/m68kaux.h")
+ ;;
m88*-*-sysv4*) ;;
- m88*-motorola-sysv*) COREFILE=trad-core.o ;;
+ m88*-motorola-sysv*) COREFILE=ptrace-core.o ;;
m88*-*-mach3*)
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/m88kmach3.h")
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/pc532mach.h")
;;
+ ns32k-*-netbsd*)
+ COREFILE=netbsd-core.o
+ ;;
rs6000-*-lynx*) COREFILE=lynx-core.o ;;
- rs6000-*-aix4*) COREFILE=rs6000-core.o
- COREFLAG=-DALTERNATE_AIX_CORE_FORMAT ;;
+ rs6000-*-aix4*) COREFILE=rs6000-core.o ;;
rs6000-*-*) COREFILE=rs6000-core.o ;;
- powerpc-*-aix4*) COREFILE=rs6000-core.o
- COREFLAG=-DALTERNATE_AIX_CORE_FORMAT ;;
+ powerpc-*-aix4*) COREFILE=rs6000-core.o ;;
powerpc-*-aix*) COREFILE=rs6000-core.o ;;
+ sparc-*-netbsd*)
+ COREFILE=netbsd-core.o
+ ;;
tahoe-*-*)
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/tahoe.h")
rs6000-core.o) COREFLAG="$COREFLAG -DAIX_CORE" ;;
trad-core.o) COREFLAG="$COREFLAG -DTRAD_CORE" ;;
esac
+
+ # The ELF code uses the native <sys/procfs.h> to handle core files.
+ # Define HAVE_SYS_PROCFS_H if the file exists and defines
+ # prstatus_t.
+ AC_MSG_CHECKING([for sys/procfs.h])
+ AC_CACHE_VAL(bfd_cv_header_sys_procfs_h,
+ [AC_TRY_COMPILE([#include <sys/procfs.h>],
+ [prstatus_t t;],
+ bfd_cv_header_sys_procfs_h=yes, bfd_cv_header_sys_procfs_h=no)])
+ AC_MSG_RESULT($bfd_cv_header_sys_procfs_h)
+ if test $bfd_cv_header_sys_procfs_h = yes; then
+ AC_DEFINE(HAVE_SYS_PROCFS_H)
+ fi
+
fi
AC_SUBST(COREFILE)
AC_SUBST(COREFLAG)
# with the two vector lists in targets.c.
a29kcoff_big_vec) tb="$tb coff-a29k.o cofflink.o" ;;
a_out_adobe_vec) tb="$tb aout-adobe.o aout32.o stab-syms.o" ;;
+ armcoff_little_vec) tb="$tb coff-arm.o cofflink.o " ;;
+ armcoff_big_vec) tb="$tb coff-arm.o cofflink.o " ;;
armpe_little_vec) tb="$tb pe-arm.o cofflink.o " ;;
armpe_big_vec) tb="$tb pe-arm.o cofflink.o " ;;
armpei_little_vec) tb="$tb pei-arm.o cofflink.o " ;;
hp300hpux_vec) tb="$tb hp300hpux.o aout32.o stab-syms.o" ;;
i386aout_vec) tb="$tb i386aout.o aout32.o stab-syms.o" ;;
i386bsd_vec) tb="$tb i386bsd.o aout32.o stab-syms.o" ;;
- i386dynix_vec) tb="$tb i386dynix.o aout32.o stab-syms.o" ;;
i386coff_vec) tb="$tb coff-i386.o cofflink.o" ;;
+ i386dynix_vec) tb="$tb i386dynix.o aout32.o stab-syms.o" ;;
+ i386freebsd_vec) tb="$tb i386freebsd.o aout32.o stab-syms.o" ;;
i386msdos_vec) tb="$tb i386msdos.o" ;;
i386pe_vec) tb="$tb pe-i386.o cofflink.o " ;;
i386pei_vec) tb="$tb pei-i386.o cofflink.o" ;;
i386mach3_vec) tb="$tb i386mach3.o aout32.o stab-syms.o" ;;
i386netbsd_vec) tb="$tb i386netbsd.o aout32.o stab-syms.o" ;;
i386os9k_vec) tb="$tb i386os9k.o aout32.o stab-syms.o" ;;
- icoff_big_vec) tb="$tb coff-i960.o" ;;
- icoff_little_vec) tb="$tb coff-i960.o" ;;
+ i860coff_vec) tb="$tb coff-i860.o cofflink.o" ;;
+ icoff_big_vec) tb="$tb coff-i960.o cofflink.o" ;;
+ icoff_little_vec) tb="$tb coff-i960.o cofflink.o" ;;
ieee_vec) tb="$tb ieee.o" ;;
m68kcoff_vec) tb="$tb coff-m68k.o cofflink.o" ;;
m68kcoffun_vec) tb="$tb coff-u68k.o coff-m68k.o cofflink.o" ;;
+ m68klinux_vec) tb="$tb m68klinux.o aout32.o stab-syms.o" ;;
m68klynx_aout_vec) tb="$tb m68klynx.o lynx-core.o aout32.o stab-syms.o" ;;
m68klynx_coff_vec) tb="$tb cf-m68klynx.o coff-m68k.o cofflink.o lynx-core.o stab-syms.o" ;;
m68knetbsd_vec) tb="$tb m68knetbsd.o aout32.o stab-syms.o" ;;
+ m68k4knetbsd_vec) tb="$tb m68k4knetbsd.o aout32.o stab-syms.o" ;;
+ m68kaux_coff_vec) tb="$tb coff-aux.o coff-m68k.o cofflink.o" ;;
m88kbcs_vec) tb="$tb coff-m88k.o" ;;
newsos3_vec) tb="$tb newsos3.o aout32.o stab-syms.o" ;;
nlm32_i386_vec) tb="$tb nlm32-i386.o nlm32.o nlm.o" ;;
nlm32_powerpc_vec) tb="$tb nlm32-ppc.o nlm32.o nlm.o" ;;
pc532netbsd_vec) tb="$tb ns32knetbsd.o aout-ns32k.o stab-syms.o" ;;
pc532machaout_vec) tb="$tb pc532-mach.o aout-ns32k.o stab-syms.o" ;;
- rs6000coff_vec) tb="$tb coff-rs6000.o" ;;
+ pmac_xcoff_vec) tb="$tb coff-pmac.o xcofflink.o" ;;
+ rs6000coff_vec) tb="$tb coff-rs6000.o xcofflink.o" ;;
+ bfd_powerpc_pe_vec) tb="$tb pe-ppc.o cofflink.o" ;;
+ bfd_powerpcle_pe_vec) tb="$tb pe-ppc.o cofflink.o" ;;
+ bfd_powerpc_pei_vec) tb="$tb pei-ppc.o cofflink.o" ;;
+ bfd_powerpcle_pei_vec) tb="$tb pei-ppc.o cofflink.o" ;;
shcoff_vec) tb="$tb coff-sh.o cofflink.o" ;;
# start-sanitize-rce
rce_aout_vec) tb="$tb aout-rce.o aout32.o stab-syms.o" ;;
test -n "$selvecs" &&
selvecs=`echo $selvecs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
test -n "$selarchs" &&
- selarchs=`echo $selarchs | sed -e 's/ \(.\)/,\1/g'`
+ selarchs=`echo $selarchs | sed -e 's/^/\&/' -e 's/ \(.\)/,\&\1/g'`
fi # all_targets is true
case ${host64}-${target64}-${want64} in
test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
AC_SUBST(tdefaults)
+dnl AC_CHECK_HEADERS(sys/mman.h)
+AC_FUNC_MMAP
+AC_CHECK_FUNCS(madvise mprotect)
+case ${want_mmap}+${ac_cv_func_mmap} in
+ true+yes ) AC_DEFINE(USE_MMAP) ;;
+esac
+
rm -f doc/config.status
AC_OUTPUT(Makefile doc/Makefile,
-[case x$CONFIG_HEADERS in xconfig.h) echo > stamp-h ;; esac])
+[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])