Auto merge of #7565 - akiss77:config-gold, r=SimonSapin

Make the use of gold linker configurable

Currently, ld.gold is always used for linking if found on the
system. There are some cases however when one may want to opt out
from using it. This patch adds the boolean field `rustc-with-gold`
to the `[tools]` section of `.servobuild`, which if set false,
disables the use of ld.gold.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7565)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-09-08 13:57:13 -06:00
commit 2733060564
2 changed files with 8 additions and 2 deletions

View file

@ -101,6 +101,7 @@ class CommandBase(object):
if not self.config["tools"]["system-cargo"]:
self.config["tools"]["cargo-root"] = path.join(
context.sharedir, "cargo", self.cargo_build_id())
self.config["tools"].setdefault("rustc-with-gold", True)
self.config.setdefault("build", {})
self.config["build"].setdefault("android", False)
@ -308,6 +309,7 @@ class CommandBase(object):
env['RUSTDOC'] = path.join(self.context.topdir, 'etc', 'rustdoc-with-private')
if self.config["tools"]["rustc-with-gold"]:
if subprocess.call(['which', 'ld.gold'], stdout=PIPE, stderr=PIPE) == 0:
env['RUSTC'] = path.join(self.context.topdir, 'etc', 'rustc-with-gold')

View file

@ -23,6 +23,10 @@ system-rust = false
system-cargo = false
#cargo-root = "/path/to/cargo"
# If rustc-with-gold is true, will try to find and use gold linker with rustc.
# Defaults to true
rustc-with-gold = true
[build]
# Set "mode = dev" or use `mach build --dev` to build the project with warning.
# or Set "mode = release" or use `mach build --release` for optimized build.