aboutsummaryrefslogtreecommitdiff
path: root/bfd/configure.in
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-05-26 14:12:03 +0000
committerNick Clifton <nickc@redhat.com>2009-05-26 14:12:03 +0000
commitce3c775b8fa618c3002c7017de162f51d022960d (patch)
tree7dad759c178e50a24b83ef0fec8f5e79c9901042 /bfd/configure.in
parent00f3247a62aa73c2cd8f80d8d8614a89bc417301 (diff)
downloadfsf-binutils-gdb-ce3c775b8fa618c3002c7017de162f51d022960d.zip
fsf-binutils-gdb-ce3c775b8fa618c3002c7017de162f51d022960d.tar.gz
fsf-binutils-gdb-ce3c775b8fa618c3002c7017de162f51d022960d.tar.bz2
* Makefile.am: Run "make dep-am".
(AM_CPPFLAGS): New. (LIBDL): New. (ALL_MACHINES): Add cpu-plugin.lo. (ALL_MACHINES_CFILES): Add cpu-plugin.c. (BFD32_BACKENDS): Add plugin.lo. (BFD32_BACKENDS_CFILES): Add plugin.c. (libbfd_la_LIBADD): Add LIBDL * archures.c (bfd_architecture): Add bfd_arch_plugin. (bfd_plugin_arch): Declare. * bfd-in.h (BFD_SUPPORTS_PLUGINS): New. * bfd.c (bfd): Add plugin_data. * config.bfd: Handle the plugin target. * configure.in: Check for --enable-plugins. (LT_INIT): Use the dlopen option. * cpu-plugin.c: New. * plugin.c: New. * plugin.h: New. * targets.c (plugin_vec): Declare. (_bfd_target_vector): Add plugin_vec. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * configure: Regenerate. * ar.c: Include plugin.h. (main): Handle the --plugin option. * nm.c: Include plugin.h. (OPTION_PLUGIN): New. (long_options): Add plugin. (main): Handle OPTION_PLUGIN. * NEWS: Mention the new feature. * doc/binutils: Documement the new command line options. * configure.in: Check for --enable-plugins. * configure: Regenerate.
Diffstat (limited to 'bfd/configure.in')
-rw-r--r--bfd/configure.in35
1 files changed, 32 insertions, 3 deletions
diff --git a/bfd/configure.in b/bfd/configure.in
index 81255dd..c7dd581 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -23,6 +23,27 @@ AC_PROG_CC
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
+LT_INIT([dlopen])
+
+AC_ARG_ENABLE([plugins],
+AS_HELP_STRING([--enable-plugins], [linker plugins (defaults no)]),
+[case "${enableval}" in
+ yes | "") plugins=yes ;;
+ no) plugins=no ;;
+ *) plugins=yes ;;
+ esac],
+[plugins=no])
+
+AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes")
+
+if test "$plugins" = "yes"; then
+ if test "$enable_dlopen" != "yes" ; then
+ AC_MSG_ERROR([
+ Building BFD with plugin support requires a host that supports -ldl.])
+ fi
+ enable_targets="$enable_targets plugin"
+fi
+
case "${target}" in
changequote(,)dnl
sparc-*-solaris*|i[3-7]86-*-solaris*)
@@ -34,15 +55,15 @@ changequote([,])dnl
# large-file support through the --enable-largefile switch, disable
# large-file support in favor of procfs support.
if test "${target}" = "${host}" -a "$enable_largefile" != 'yes'; then
- enable_largefile="no"
+ if test "$plugins" = "no"; then
+ enable_largefile="no"
+ fi
fi
;;
esac
AC_SYS_LARGEFILE
-LT_INIT
-
AC_ARG_ENABLE(64-bit-bfd,
[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
[case "${enableval}" in
@@ -871,6 +892,7 @@ do
pef_vec) tb="$tb pef.lo" ;;
pef_xlib_vec) tb="$tb pef.lo" ;;
pdp11_aout_vec) tb="$tb pdp11.lo" ;;
+ plugin_vec) tb="$tb plugin.lo" ;;
pmac_xcoff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;;
ppcboot_vec) tb="$tb ppcboot.lo" ;;
riscix_vec) tb="$tb aout32.lo riscix.lo" ;;
@@ -1018,6 +1040,13 @@ AC_SUBST(bfd_backends)
AC_SUBST(bfd_machines)
AC_SUBST(bfd_default_target_size)
+if test "$plugins" = "yes"; then
+ supports_plugins=1
+else
+ supports_plugins=0
+fi
+AC_SUBST(supports_plugins)
+
# Determine the host dependant file_ptr a.k.a. off_t type. In order
# prefer: off64_t - if ftello64 and fseeko64, off_t - if ftello and
# fseeko, long. This assumes that sizeof off_t is .ge. sizeof long.