aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-02-09 21:32:59 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-02-10 10:26:10 +0000
commit7cee125f30e3a483cef6cb0ec3117533af41ecef (patch)
treed3cc998c5f5d14dea5d85b17bdbb04a5ae12e16f /src
parentdf03e10f6552566982399b8779fe7bc7a17d75dc (diff)
Don't require 'objcopy' to exist when building on MacOS.
RELNOTES[NEW]: cpp configuration does not require objcopy -- MOS_MIGRATED_REVID=114253655
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
index 8f10dd99f7..5a5e17e05c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
@@ -458,8 +458,8 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
if (tool == Tool.DWP) {
// When fission is unsupported, don't check for the dwp tool.
return supportsFission();
- } else if (tool == Tool.GCOVTOOL) {
- // gcov-tool is optional, don't check whether it's present
+ } else if (tool == Tool.GCOVTOOL || tool == Tool.OBJCOPY) {
+ // gcov-tool and objcopy are optional, don't check whether they're present
return false;
} else {
return true;
@@ -1856,7 +1856,11 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
// Make variables provided by crosstool/gcc compiler suite.
globalMakeEnvBuilder.put("AR", getArExecutable().getPathString());
globalMakeEnvBuilder.put("NM", getNmExecutable().getPathString());
- globalMakeEnvBuilder.put("OBJCOPY", getObjCopyExecutable().getPathString());
+ PathFragment objcopyTool = getObjCopyExecutable();
+ if (objcopyTool != null) {
+ // objcopy is optional in Crosstool
+ globalMakeEnvBuilder.put("OBJCOPY", objcopyTool.getPathString());
+ }
globalMakeEnvBuilder.put("STRIP", getStripExecutable().getPathString());
PathFragment gcovtool = getGcovToolExecutable();