* configure.ac (install_as_default): Define and set to false
        unless --enable-gold or --enable-gold=both/gold has been
        specified.
        * configure: Regenerate.

        * Makefile.am (install-exec-local): Install the executable as
        'ld.gold'.  If install_as_default is true then also install it as
        'ld'.
        * Makefile.in: Regenerated.
ld:
        * configure.in (install_as_default): Define and set to true
        unless --enable-gold=both/gold has been specified.
        * configure: Regenerate.

        * Makefile.am (transform): Use ld.bfd as the default name of
        the linker.
        (install-exec-local): Also install the executable as a binary
        named 'ld' if install_as_default is true.
        * Makefile.in: Regenerate.
This commit is contained in:
Nick Clifton 2010-04-27 14:12:32 +00:00
parent 7ce0d9b1ff
commit 4fda8867e9
10 changed files with 200 additions and 22 deletions

View File

@ -1,3 +1,16 @@
2010-04-27 H.J. Lu <hongjiu.lu@intel.com>
Nick Clifton <nickc@redhat.com>
* configure.ac (install_as_default): Define and set to false
unless --enable-gold or --enable-gold=both/gold has been
specified.
* configure: Regenerate.
* Makefile.am (install-exec-local): Install the executable as
'ld.gold'. If install_as_default is true then also install it as
'ld'.
* Makefile.in: Regenerated.
2010-04-24 Ian Lance Taylor <iant@google.com>
* layout.cc (Layout::layout_reloc): In relocatable link don't

View File

@ -178,12 +178,22 @@ check: libgold.a
install-exec-local: ld-new$(EXEEXT)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(tooldir)/bin
n=`echo ld | sed '$(transform)'`; \
n=`echo $(installed_linker) | sed '$(transform)'`; \
$(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$${n}$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
|| $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
fi; \
if test "x$(install_as_default)" = "xyes"; then \
rm -f $(DESTDIR)$(bindir)/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
fi; \
fi
# We want install to imply install-info as per GNU standards, despite

View File

@ -258,7 +258,9 @@ host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_as_default = @install_as_default@
install_sh = @install_sh@
installed_linker = @installed_linker@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
@ -1002,12 +1004,22 @@ check: libgold.a
install-exec-local: ld-new$(EXEEXT)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(tooldir)/bin
n=`echo ld | sed '$(transform)'`; \
n=`echo $(installed_linker) | sed '$(transform)'`; \
$(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$${n}$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
|| $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
fi; \
if test "x$(install_as_default)" = "xyes"; then \
rm -f $(DESTDIR)$(bindir)/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
fi; \
fi
# We want install to imply install-info as per GNU standards, despite

31
gold/configure vendored
View File

@ -682,6 +682,8 @@ PLUGINS_FALSE
PLUGINS_TRUE
THREADS_FALSE
THREADS_TRUE
installed_linker
install_as_default
am__untar
am__tar
AMTAR
@ -759,6 +761,7 @@ ac_subst_files=''
ac_user_opts='
enable_option_checking
with_sysroot
enable_gold
enable_threads
enable_plugins
enable_targets
@ -1403,6 +1406,7 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-gold[=ARG] build gold [ARG={both}[/{gold,ld}]]
--enable-threads multi-threaded linking
--enable-plugins linker plugins
--enable-targets alternative target configurations
@ -3227,6 +3231,33 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
# Check whether --enable-gold was given.
if test "${enable_gold+set}" = set; then :
enableval=$enable_gold; case "${enableval}" in
yes)
install_as_default=gold
installed_linker=ld
;;
both/gold)
install_as_default=yes
installed_linker=ld.gold
;;
both|both/ld)
install_as_default=no
installed_linker=ld.gold
;;
*)
as_fn_error "invalid --enable-gold argument" "$LINENO" 5
;;
esac
else
install_as_default=gold
installed_linker=ld
fi
# Check whether --enable-threads was given.
if test "${enable_threads+set}" = set; then :
enableval=$enable_threads; case "${enableval}" in

View File

@ -38,6 +38,33 @@ AC_DEFINE_UNQUOTED(TARGET_SYSTEM_ROOT, "$sysroot",
AC_DEFINE_UNQUOTED(TARGET_SYSTEM_ROOT_RELOCATABLE, $sysroot_relocatable,
[Whether the system root can be relocated])
dnl "install_as_default" is true if the linker to be installed as the
dnl default linker, ld.
dnl "installed_linker" is the installed gold linker name.
AC_ARG_ENABLE(gold,
[[ --enable-gold[=ARG] build gold [ARG={both}[/{gold,ld}]]]],
[case "${enableval}" in
yes)
install_as_default=gold
installed_linker=ld
;;
both/gold)
install_as_default=yes
installed_linker=ld.gold
;;
both|both/ld)
install_as_default=no
installed_linker=ld.gold
;;
*)
AC_MSG_ERROR([invalid --enable-gold argument])
;;
esac],
[install_as_default=gold
installed_linker=ld])
AC_SUBST(install_as_default)
AC_SUBST(installed_linker)
dnl For now threads are a configure time option.
AC_ARG_ENABLE([threads],
[ --enable-threads multi-threaded linking],

View File

@ -1,3 +1,16 @@
2010-04-27 H.J. Lu <hongjiu.lu@intel.com>
Nick Clifton <nickc@redhat.com>
* configure.in (install_as_default): Define and set to true
unless --enable-gold=both/gold has been specified.
* configure: Regenerate.
* Makefile.am (transform): Use ld.bfd as the default name of
the linker.
(install-exec-local): Also install the executable as a binary
named 'ld' if install_as_default is true.
* Makefile.in: Regenerate.
2010-04-22 Nick Clifton <nickc@redhat.com>
* po/ld.pot: Updated by the Translation project.

View File

@ -95,7 +95,7 @@ CXX_FOR_TARGET = ` \
fi; \
fi`
transform = s/^ld-new$$/ld/;@program_transform_name@
transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@
bin_PROGRAMS = ld-new
info_TEXINFOS = ld.texinfo
ld_TEXINFOS = configdoc.texi
@ -1995,13 +1995,23 @@ CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 spu_ovl.s spu_ovl.o spu_icache.s spu_ica
.PHONY: install-exec-local install-data-local
install-exec-local: ld-new$(EXEEXT)
install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS
$(mkinstalldirs) $(DESTDIR)$(tooldir)/bin
n=`echo ld | sed '$(transform)'`; \
if [ "$(bindir)/$$n$(EXEEXT)" != "$(tooldir)/bin/ld$(EXEEXT)" ]; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
n=`echo $(installed_linker) | sed '$(transform)'`; \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
fi; \
if test "x$(install_as_default)" = "xyes"; then \
rm -f $(DESTDIR)$(bindir)/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
fi; \
fi
install-data-local:

View File

@ -155,7 +155,7 @@ CTAGS = ctags
DEJATOOL = $(PACKAGE)
RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
DIST_SUBDIRS = $(SUBDIRS)
transform = s/^ld-new$$/ld/;@program_transform_name@
transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
@ -295,7 +295,9 @@ host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_as_default = @install_as_default@
install_sh = @install_sh@
installed_linker = @installed_linker@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
@ -3320,13 +3322,23 @@ mostlyclean-local:
.PHONY: install-exec-local install-data-local
install-exec-local: ld-new$(EXEEXT)
install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS
$(mkinstalldirs) $(DESTDIR)$(tooldir)/bin
n=`echo ld | sed '$(transform)'`; \
if [ "$(bindir)/$$n$(EXEEXT)" != "$(tooldir)/bin/ld$(EXEEXT)" ]; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
n=`echo $(installed_linker) | sed '$(transform)'`; \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
fi; \
if test "x$(install_as_default)" = "xyes"; then \
rm -f $(DESTDIR)$(bindir)/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/ld$(EXEEXT); \
if test "$(bindir)" != "$(tooldir)/bin"; then \
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|| $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
fi; \
fi
install-data-local:

31
ld/configure vendored
View File

@ -657,6 +657,8 @@ WARN_CFLAGS
EGREP
GREP
CPP
installed_linker
install_as_default
TARGET_SYSTEM_ROOT_DEFINE
TARGET_SYSTEM_ROOT
use_sysroot
@ -761,6 +763,7 @@ with_lib_path
enable_targets
enable_64_bit_bfd
with_sysroot
enable_gold
enable_got
enable_werror
enable_build_warnings
@ -1409,6 +1412,7 @@ Optional Features:
(and sometimes confusing) to the casual installer
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
--enable-gold[=ARG] build gold [ARG={both}[/{gold,ld}]]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
--enable-werror treat compile warnings as errors
@ -4164,6 +4168,29 @@ fi
# Check whether --enable-gold was given.
if test "${enable_gold+set}" = set; then :
enableval=$enable_gold; case "${enableval}" in
yes|both/gold)
install_as_default=no
installed_linker=ld.bfd
;;
both|both/ld)
install_as_default=yes
installed_linker=ld.bfd
;;
*)
as_fn_error "invalid --enable-gold argument" "$LINENO" 5
;;
esac
else
install_as_default=ld
installed_linker=ld
fi
# Check whether --enable-got was given.
if test "${enable_got+set}" = set; then :
enableval=$enable_got; case "${enableval}" in
@ -11587,7 +11614,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11590 "configure"
#line 11617 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -11693,7 +11720,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11696 "configure"
#line 11723 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H

View File

@ -69,6 +69,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={both}[/{gold,ld}]]]],
[case "${enableval}" in
yes|both/gold)
install_as_default=no
installed_linker=ld.bfd
;;
both|both/ld)
install_as_default=yes
installed_linker=ld.bfd
;;
*)
AC_MSG_ERROR([invalid --enable-gold argument])
;;
esac],
[install_as_default=ld
installed_linker=ld])
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)]),