diff options
author | 2018-04-03 12:48:14 -0700 | |
---|---|---|
committer | 2018-04-03 12:49:36 -0700 | |
commit | 6c2f499b21e36c59d7da5e8b2e6c9b1804a36c64 (patch) | |
tree | 6fd9f8a8130fc5d9faa128f74cba99b40c6a811d | |
parent | db0b36404771204ab7e6f776ba704e7af7aff463 (diff) |
Also add blaze-bin directory for "includes" attribute
This fixes cc_library rules for third-party packages using generated headers in
blaze-bin.
RELNOTES: None.
PiperOrigin-RevId: 191485462
3 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java index dbca6e6571..29654dece5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java @@ -591,6 +591,7 @@ public final class CcCommon { } result.add(includesPath); result.add(ruleContext.getConfiguration().getGenfilesFragment().getRelative(includesPath)); + result.add(ruleContext.getConfiguration().getBinFragment().getRelative(includesPath)); } return result; } diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java index 25ef4feea1..0db2c639ee 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java @@ -448,6 +448,7 @@ public class CcCommonTest extends BuildViewTestCase { .addAll(noIncludes.get(CcCompilationContextInfo.PROVIDER).getSystemIncludeDirs()) .add(PathFragment.create(includesRoot)) .add(targetConfig.getGenfilesFragment().getRelative(includesRoot)) + .add(targetConfig.getBinFragment().getRelative(includesRoot)) .build(); assertThat(foo.get(CcCompilationContextInfo.PROVIDER).getSystemIncludeDirs()) .containsExactlyElementsIn(expected); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java index 3f36df1acf..18a11f389e 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java @@ -1007,6 +1007,7 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { ConfiguredTarget target = getConfiguredTarget("//foo"); CppCompileAction action = getCppCompileAction(target); String genfilesDir = getConfiguration(target).getGenfilesFragment().toString(); + String binDir = getConfiguration(target).getBinFragment().toString(); // Local include paths come first. assertContainsSublist( action.getCompilerOptions(), @@ -1016,9 +1017,13 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { "-isystem", genfilesDir + "/foo/foo", "-isystem", + binDir + "/foo/foo", + "-isystem", "foo/bar", "-isystem", - genfilesDir + "/foo/bar")); + genfilesDir + "/foo/bar", + "-isystem", + binDir + "/foo/bar")); } @Test |