linux: use an in-tree copy of gold by default
(Reland of r120385 with newer third_party/gold.)
Rather than forcing everyone to configure their search paths etc.
we should just make this work by default. You can set
the gyp variable linux_use_gold_binary=0 to turn it off.
Review URL: https://chromiumcodereview.appspot.com/9316002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120424 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/build/common.gypi b/build/common.gypi
index 418ce89e..d815a4c 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -376,6 +376,15 @@
}, {
'enable_plugin_installation%': 1,
}],
+
+ # Set to 0 to not use third_party/gold as the linker.
+ # On by default for x64 Linux. Off for ChromeOS as cross-compiling
+ # makes things complicated.
+ ['chromeos==0 and host_arch=="x64"', {
+ 'linux_use_gold_binary%': 1,
+ }, {
+ 'linux_use_gold_binary%': 0,
+ }],
],
},
@@ -434,6 +443,7 @@
'enable_web_intents%': '<(enable_web_intents)',
'enable_web_intents_tag%': '<(enable_web_intents_tag)',
'enable_plugin_installation%': '<(enable_plugin_installation)',
+ 'linux_use_gold_binary%': '<(linux_use_gold_binary)',
'use_canvas_skia_skia%': '<(use_canvas_skia_skia)',
# Whether to build for Wayland display server
'use_wayland%': 0,
@@ -1981,6 +1991,19 @@
'defines': ['KEEP_SHADOW_STACKS'],
'cflags': ['-finstrument-functions'],
}],
+ ['linux_use_gold_binary==1', {
+ 'variables': {
+ # We pass the path to gold to the compiler. gyp leaves
+ # unspecified what the cwd is when running the compiler,
+ # so the normal gyp path-munging fails us. This hack
+ # gets the right path.
+ 'gold_path': '<(PRODUCT_DIR)/../../third_party/gold',
+ },
+ 'ldflags': [
+ # Put our gold binary in the search path for the linker.
+ '-B<(gold_path)',
+ ],
+ }],
],
},
}],