summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/ld/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/ld/configure.in')
-rw-r--r--contrib/binutils/ld/configure.in97
1 files changed, 83 insertions, 14 deletions
diff --git a/contrib/binutils/ld/configure.in b/contrib/binutils/ld/configure.in
index dbadbe0..32fc5f6 100644
--- a/contrib/binutils/ld/configure.in
+++ b/contrib/binutils/ld/configure.in
@@ -1,11 +1,11 @@
dnl Process this file with autoconf to produce a configure script
dnl
-AC_PREREG(2.5)
+AC_PREREG(2.13)
AC_INIT(ldmain.c)
AC_CANONICAL_SYSTEM
-AM_INIT_AUTOMAKE(ld, 2.9.1)
+AM_INIT_AUTOMAKE(ld, 2.9.5)
AM_PROG_LIBTOOL
@@ -37,13 +37,15 @@ fi
# host-specific stuff:
AC_PROG_CC
-AM_PROG_INSTALL
-AM_CYGWIN32
-AM_EXEEXT
+AC_PROG_INSTALL
+
+ALL_LINGUAS=
+CY_GNU_GETTEXT
+
+AC_EXEEXT
AC_PROG_YACC
-AC_PROG_LEX
-AC_DECL_YYTEXT
+AM_PROG_LEX
AM_MAINTAINER_MODE
@@ -64,13 +66,40 @@ BFD_NEED_DECLARATION(strstr)
BFD_NEED_DECLARATION(free)
BFD_NEED_DECLARATION(sbrk)
BFD_NEED_DECLARATION(getenv)
+BFD_NEED_DECLARATION(environ)
+
+# When converting linker scripts into strings for use in emulation
+# files, use astring.sed if the compiler supports ANSI string
+# concatenation, or ostring.sed otherwise. This is to support the
+# broken Microsoft MSVC compiler, which limits the length of string
+# constants, while still supporting pre-ANSI compilers which do not
+# support string concatenation.
+AC_MSG_CHECKING([whether ANSI C string concatenation works])
+AC_CACHE_VAL(ld_cv_string_concatenation,
+[AC_TRY_COMPILE(,[char *a = "a" "a";],
+ [ld_cv_string_concatenation=yes],
+ [ld_cv_string_concatenation=no])])
+AC_MSG_RESULT($ld_cv_string_concatenation)
+if test "$ld_cv_string_concatenation" = "yes"; then
+ STRINGIFY=astring.sed
+else
+ STRINGIFY=ostring.sed
+fi
+AC_SUBST(STRINGIFY)
# target-specific stuff:
all_targets=
EMUL=
all_emuls=
-TDIRS=
+all_emul_extras=
+all_libpath=
+
+dnl We need to get an arbitrary number of tdir definitions into
+dnl Makefile. We can't do it using AC_SUBST, because autoconf does
+dnl not permit literal newlines in an AC_SUBST variables. So we use a
+dnl file.
+rm -f tdirs
for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
do
@@ -78,7 +107,7 @@ do
all_targets=true
else
# Canonicalize the secondary target names.
- result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ_alias 2>/dev/null`
+ result=`$ac_config_sub $targ_alias 2>/dev/null`
if test -n "$result"; then
targ=$result
else
@@ -91,15 +120,36 @@ do
EMUL=$targ_emul
fi
- for i in $targ_emul $targ_extra_emuls; do
+ for i in $targ_emul $targ_extra_emuls $targ_extra_libpath; do
case " $all_emuls " in
*" e${i}.o "*) ;;
*)
all_emuls="$all_emuls e${i}.o"
eval result=\$tdir_$i
test -z "$result" && result=$targ_alias
- TDIRS="$TDIRS\\
-tdir_$i=$result"
+ echo tdir_$i=$result >> tdirs
+ ;;
+ esac
+ done
+
+ for i in $targ_emul $targ_extra_libpath; do
+ case " $all_libpath " in
+ *" ${i} "*) ;;
+ *)
+ if test -z "$all_libpath"; then
+ all_libpath=${i}
+ else
+ all_libpath="$all_libpath ${i}"
+ fi
+ ;;
+ esac
+ done
+
+ for i in $targ_extra_ofiles; do
+ case " $all_emul_extras " in
+ *" ${i} "*) ;;
+ *)
+ all_emul_extras="$all_emul_extras ${i}"
;;
esac
done
@@ -107,7 +157,9 @@ tdir_$i=$result"
done
AC_SUBST(EMUL)
-AC_SUBST(TDIRS)
+
+TDIRS=tdirs
+AC_SUBST_FILE(TDIRS)
dnl FIXME: We will build a 64 bit BFD for a 64 bit host or a 64 bit
dnl target, and in those cases we should also build the 64 bit
@@ -118,10 +170,16 @@ if test x${all_targets} = xtrue; then
else
EMULATION_OFILES='$(ALL_EMULATIONS)'
fi
+ EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
else
EMULATION_OFILES=$all_emuls
+ EMUL_EXTRA_OFILES=$all_emul_extras
fi
AC_SUBST(EMULATION_OFILES)
+AC_SUBST(EMUL_EXTRA_OFILES)
+
+EMULATION_LIBPATH=$all_libpath
+AC_SUBST(EMULATION_LIBPATH)
if test x${enable_static} = xno; then
TESTBFDLIB="--rpath ../bfd/.libs ../bfd/.libs/libbfd.so"
@@ -130,4 +188,15 @@ else
fi
AC_SUBST(TESTBFDLIB)
-AC_OUTPUT(Makefile)
+target_vendor=${target_vendor=$host_vendor}
+case "$target_vendor" in
+ hp) EXTRA_SHLIB_EXTENSION=".sl" ;;
+ *) EXTRA_SHLIB_EXTENSION= ;;
+esac
+if test x${EXTRA_SHLIB_EXTENSION} != x ; then
+ AC_DEFINE_UNQUOTED(EXTRA_SHLIB_EXTENSION, "$EXTRA_SHLIB_EXTENSION",
+ [Additional extension a shared object might have.])
+fi
+
+AC_OUTPUT(Makefile po/Makefile.in:po/Make-in,
+[sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile])
OpenPOWER on IntegriCloud