diff options
author | 2015-04-14 13:27:50 +0000 | |
---|---|---|
committer | 2015-04-14 14:34:30 +0000 | |
commit | feed478ca1422102b9bc8205d92f7c988f5b4826 (patch) | |
tree | 493ceab1584c2352d2c3269f100e46f14dda0591 /src/main/java | |
parent | cf71f8bf891a35eebe52b8a3ca3ec594ffd9208e (diff) |
Use fully qualified paths for C++ includes
This fixes https://github.com/google/bazel/issues/66.
--
MOS_MIGRATED_REVID=91083724
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java | 9 |
1 files changed, 5 insertions, 4 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 377da77fa2..d847353cbb 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 @@ -526,14 +526,14 @@ public final class CcCommon { List<PathFragment> result = new ArrayList<>(); // The package directory of the rule contributes includes. Note that this also covers all // non-subpackage sub-directories. - PathFragment rulePackage = ruleContext.getLabel().getPackageFragment(); + PathFragment rulePackage = ruleContext.getLabel().getPackageIdentifier().getPathFragment(); result.add(rulePackage); // Gather up all the dirs from the rule's srcs as well as any of the srcs outputs. if (hasAttribute("srcs", Type.LABEL_LIST)) { for (FileProvider src : ruleContext.getPrerequisites("srcs", Mode.TARGET, FileProvider.class)) { - PathFragment packageDir = src.getLabel().getPackageFragment(); + PathFragment packageDir = src.getLabel().getPackageIdentifier().getPathFragment(); for (Artifact a : src.getFilesToBuild()) { result.add(packageDir); // Attempt to gather subdirectories that might contain include files. @@ -544,7 +544,8 @@ public final class CcCommon { // Add in any 'includes' attribute values as relative path fragments if (ruleContext.getRule().isAttributeValueExplicitlySpecified("includes")) { - PathFragment packageFragment = ruleContext.getLabel().getPackageFragment(); + PathFragment packageFragment = ruleContext.getLabel().getPackageIdentifier() + .getPathFragment(); // For now, anything with an 'includes' needs a blanket declaration result.add(packageFragment.getRelative("**")); } @@ -570,7 +571,7 @@ public final class CcCommon { private List<PathFragment> getIncludeDirsFromIncludesAttribute() { List<PathFragment> result = new ArrayList<>(); - PathFragment packageFragment = ruleContext.getLabel().getPackageFragment(); + PathFragment packageFragment = ruleContext.getLabel().getPackageIdentifier().getPathFragment(); for (String includesAttr : ruleContext.attributes().get("includes", Type.STRING_LIST)) { includesAttr = ruleContext.expandMakeVariables("includes", includesAttr); if (includesAttr.startsWith("/")) { |