diff options
author | Manuel Klimek <klimek@google.com> | 2016-01-22 11:35:15 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-01-22 15:56:33 +0000 |
commit | 16444baf21780c4bff00b9736b268e97157e6bc2 (patch) | |
tree | 09f8305b184b01ff698f773a0b29508f433ea8da /src/test | |
parent | 4ecfe51f9de07d524f96cd5307663680ac5d344f (diff) |
Do not compile source files mentioned in 'hdrs'.
Currently for a library:
cc_library(name='a', hdrs=['a.cc'])
we compile a.cc into a.pic.o and link that into its reverse dependencies.
With this change, a .cc file in hdrs will be treated like a .inc file or
a file in textual_hdrs.
--
MOS_MIGRATED_REVID=112770625
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java | 8 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java | 11 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java index ad23526dd9..b4e87827f2 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java @@ -85,27 +85,27 @@ public final class BazelMockCcSupport extends MockCcSupport { "cc_toolchain(name = 'cc-compiler-k8', all_files = ':empty', compiler_files = ':empty',", " cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ", " linker_files = ':empty',", - " module_map = 'crosstool.cppmap',", + " module_map = 'crosstool.cppmap', supports_header_parsing = 1,", " objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',", ")", "cc_toolchain(name = 'cc-compiler-piii', all_files = ':empty', compiler_files = ':empty',", " cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ", " linker_files = ':empty',", - " module_map = 'crosstool.cppmap',", + " module_map = 'crosstool.cppmap', supports_header_parsing = 1,", " objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',", ")", "cc_toolchain(name = 'cc-compiler-darwin', all_files = ':empty', ", " compiler_files = ':empty',", " cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ", " linker_files = ':empty',", - " module_map = 'crosstool.cppmap',", + " module_map = 'crosstool.cppmap', supports_header_parsing = 1,", " objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',", ")", "cc_toolchain(name = 'cc-compiler-armeabi-v7a', all_files = ':empty', ", " compiler_files = ':empty',", " cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ", " linker_files = ':empty',", - " module_map = 'crosstool.cppmap',", + " module_map = 'crosstool.cppmap', supports_header_parsing = 1,", " objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',", ")"); 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 1dad94f569..a11b7d7c3e 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 @@ -668,6 +668,17 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase { } @Test + public void testDoNotCompileSourceFilesInHeaders() throws Exception { + AnalysisMock.get() + .ccSupport() + .setupCrosstool(mockToolsConfig, MockCcSupport.HEADER_PROCESSING_FEATURE_CONFIGURATION); + useConfiguration("--features=parse_headers"); + ConfiguredTarget x = + scratchConfiguredTarget("x", "x", "cc_library(name = 'x', hdrs = ['x.cc'])"); + assertThat(getGeneratingAction(getBinArtifact("_objs/x/x/x.pic.o", x))).isNull(); + } + + @Test public void testIncludePathOrder() throws Exception { scratch.file("foo/BUILD", "cc_library(", |