aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure.ac
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2013-11-26 13:31:25 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2013-11-26 05:31:25 -0800
commit40f213e6f5bf36a5678a1ff5a75773d02df67f53 (patch)
tree39b9cfc7867e282de9048571b137b32b0c4f4c06 /gcc/configure.ac
parent84c44566f3f16c29b65a007944e0d3ea81b48c34 (diff)
downloadgcc-40f213e6f5bf36a5678a1ff5a75773d02df67f53.zip
gcc-40f213e6f5bf36a5678a1ff5a75773d02df67f53.tar.gz
gcc-40f213e6f5bf36a5678a1ff5a75773d02df67f53.tar.bz2
Add -fuse-ld=bfd/-fuse-ld=gold support to exec-tool.in
PR bootstrap/55552 * configure.ac (install_gold_as_default): New. Set to yes for --disable-ld or --enable-gold=default. (gcc_cv_ld_gold_srcdir): New. (gcc_cv_ld): Also check in-tree gold if install_gold_as_default is yes. (ORIGINAL_LD_BFD_FOR_TARGET): New AC_SUBST. (ORIGINAL_LD_GOLD_FOR_TARGET): Likewise. * configure: Regenerated. * exec-tool.in (ORIGINAL_LD_BFD_FOR_TARGET): New variable. (ORIGINAL_LD_GOLD_FOR_TARGET): Likewise. (original) [collect-ld && -fuse-ld=bfd]: Set to $ORIGINAL_LD_BFD_FOR_TARGET. (original) [collect-ld && -fuse-ld=gold]: Set to $ORIGINAL_LD_GOLD_FOR_TARGET. (dir) [collect-ld && ../gold/ld-new]: Set to gold. (fast_install) [collect-ld && ../gold/ld-new]: Set to yes. From-SVN: r205392
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r--gcc/configure.ac42
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5935a6e..91a22d5 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2016,6 +2016,34 @@ else
in_tree_gas=no
fi
+default_ld=
+AC_ARG_ENABLE(ld,
+[[ --enable-ld[=ARG] build ld [ARG={default,yes,no}]]],
+[case "${enableval}" in
+ no)
+ default_ld=ld.gold
+ ;;
+ esac])
+
+AC_ARG_ENABLE(gold,
+[[ --enable-gold[=ARG] build gold [ARG={default,yes,no}]]],
+[case "${enableval}" in
+ default)
+ install_gold_as_default=yes
+ ;;
+ yes)
+ if test x${default_ld} != x; then
+ install_gold_as_default=yes
+ fi
+ ;;
+ no)
+ ;;
+ *)
+ AC_MSG_ERROR([invalid --enable-gold argument])
+ ;;
+ esac],
+[install_gold_as_default=no])
+
# Identify the linker which will work hand-in-glove with the newly
# built GCC, so that we can examine its features. This is the linker
# which will be driven by the driver program.
@@ -2026,11 +2054,17 @@ fi
gcc_cv_gld_major_version=
gcc_cv_gld_minor_version=
gcc_cv_ld_gld_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/ld
+gcc_cv_ld_gold_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gold
gcc_cv_ld_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
AS_VAR_SET_IF(gcc_cv_ld,, [
if test -x "$DEFAULT_LINKER"; then
gcc_cv_ld="$DEFAULT_LINKER"
+elif test $install_gold_as_default = yes \
+ && test -f $gcc_cv_ld_gold_srcdir/configure.ac \
+ && test -f ../gold/Makefile \
+ && test x$build = x$host; then
+ gcc_cv_ld=../gold/ld-new$build_exeext
elif test -f $gcc_cv_ld_gld_srcdir/configure.in \
&& test -f ../ld/Makefile \
&& test x$build = x$host; then
@@ -2112,11 +2146,19 @@ changequote(,)dnl
gcc_cv_gld_major_version=`expr "$gcc_cv_gld_version" : "VERSION=\([0-9]*\)"`
gcc_cv_gld_minor_version=`expr "$gcc_cv_gld_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
changequote([,])dnl
+ ORIGINAL_LD_BFD_FOR_TARGET=../ld/ld-new$build_exeext
+ ORIGINAL_LD_GOLD_FOR_TARGET=../gold/ld-new$build_exeext
else
AC_MSG_RESULT($gcc_cv_ld)
in_tree_ld=no
+ gcc_cvs_ld_program=`dirname $gcc_cv_ld`/`basename $gcc_cv_ld $host_exeext`
+ ORIGINAL_LD_BFD_FOR_TARGET=${gcc_cvs_ld_program}.bfd$host_exeext
+ ORIGINAL_LD_GOLD_FOR_TARGET=${gcc_cvs_ld_program}.gold$host_exeext
fi
+AC_SUBST(ORIGINAL_LD_BFD_FOR_TARGET)
+AC_SUBST(ORIGINAL_LD_GOLD_FOR_TARGET)
+
# Figure out what nm we will be using.
gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils
AS_VAR_SET_IF(gcc_cv_nm,, [