* ld-cris/pic-gc-72.d: Adjust for dropping unused undefined
[deliverable/binutils-gdb.git] / ld / configure.in
index 4bbc8f8043a2b9a19a4ea505ab69735d896255aa..bd5040ebcf875f92bdd33bba541642a394c3aee4 100644 (file)
@@ -5,6 +5,7 @@ AC_INIT
 AC_CONFIG_SRCDIR(ldmain.c)
 
 AC_CANONICAL_TARGET
+AC_CANONICAL_BUILD
 AC_ISC_POSIX
 
 changequote(,)dnl
@@ -69,6 +70,29 @@ AC_SUBST(use_sysroot)
 AC_SUBST(TARGET_SYSTEM_ROOT)
 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
 
+dnl Use --enable-gold to decide if this linker should be the default.
+dnl "install_as_default" is set to false if gold is the default linker.
+dnl "installed_linker" is the installed BFD linker name.
+AC_ARG_ENABLE(gold,
+[[  --enable-gold[=ARG]     build gold [ARG={default,yes,no}]]],
+[case "${enableval}" in 
+ default)
+   install_as_default=no
+   installed_linker=ld.bfd
+   ;;
+ yes|no)
+   install_as_default=yes
+   installed_linker=ld.bfd
+   ;;
+ *)
+   AC_MSG_ERROR([invalid --enable-gold argument])
+   ;;
+ esac],
+[install_as_default=yes
+ installed_linker=ld.bfd])
+AC_SUBST(install_as_default)
+AC_SUBST(installed_linker)
+
 AC_ARG_ENABLE([got],
 AS_HELP_STRING([--enable-got=<type>],
                [GOT handling scheme (target, single, negative, multigot)]),
@@ -108,6 +132,7 @@ fi
 # host-specific stuff:
 
 AC_PROG_CC
+AC_PROG_CXX
 AC_GNU_SOURCE
 AC_USE_SYSTEM_EXTENSIONS
 ACX_LARGEFILE
@@ -115,7 +140,7 @@ AC_PROG_INSTALL
 
 LT_INIT
 
-ALL_LINGUAS="fr sv tr es da vi zh_CN zh_TW ga fi id"
+ALL_LINGUAS="fr sv tr es da vi zh_CN zh_TW ga fi id bg"
 ZW_GNU_GETTEXT_SISTER_DIR
 AM_PO_SUBDIRS
 
@@ -136,9 +161,46 @@ AC_SUBST(HOSTING_LIBS)
 AC_SUBST(NATIVE_LIB_DIRS)
 
 AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h elf-hints.h limits.h sys/param.h)
+AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h sys/stat.h)
 AC_CHECK_FUNCS(glob mkstemp realpath sbrk waitpid)
+AC_CHECK_FUNCS(open lseek close)
 AC_HEADER_DIRENT
 
+# Check for dlopen support and enable plugins if possible.
+enable_plugins=yes
+AC_CHECK_HEADER([dlfcn.h],[],[enable_plugins=no],[AC_INCLUDES_DEFAULT])
+AC_SEARCH_LIBS([dlopen],[dl],[],[enable_plugins=no],[])
+AC_CHECK_FUNCS([dlopen dlsym dlclose],[],[enable_plugins=no])
+# We also support plugins on Windows (MinGW).
+if test x$enable_plugins = xno ; then
+  AC_CHECK_HEADERS([windows.h],[enable_plugins=yes],[],[AC_INCLUDES_DEFAULT])
+fi
+AM_CONDITIONAL([ENABLE_PLUGINS], [test x$enable_plugins = xyes])
+
+AC_ARG_ENABLE(initfini-array,
+       [  --enable-initfini-array      use .init_array/.fini_array sections],
+       [], [
+AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
+                gcc_cv_initfini_array, [dnl
+  if test "x${build}" = "x${target}" ; then
+    AC_RUN_IFELSE([AC_LANG_SOURCE([
+static int x = -1;
+int main (void) { return x; }
+int foo (void) { x = 0; }
+int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;])],
+            [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no],
+            [gcc_cv_initfini_array=no])
+   else
+     gcc_cv_initfini_array=no
+   fi])
+  enable_initfini_array=$gcc_cv_initfini_array
+])
+AC_SUBST(enable_initfini_array)
+if test $enable_initfini_array = yes; then
+  AC_DEFINE(HAVE_INITFINI_ARRAY, 1,
+    [Define .init_array/.fini_array sections are available and working.])
+fi
+
 AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
 AC_CACHE_VAL(ld_cv_decl_getopt_unistd_h,
 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);])],
This page took 0.024392 seconds and 4 git commands to generate.