Add support for per-target exported includes.
Test: Added unit test
Change-Id: I8ab58ddc73c15d5ec0f515e43407542bd4e8081a
diff --git a/bp2build/cc_library_headers_conversion_test.go b/bp2build/cc_library_headers_conversion_test.go
index 3180267..00042ab 100644
--- a/bp2build/cc_library_headers_conversion_test.go
+++ b/bp2build/cc_library_headers_conversion_test.go
@@ -271,6 +271,63 @@
}),
)`},
},
+ {
+ description: "cc_library_headers test with arch-specific and target-specific export_system_include_dirs props",
+ moduleTypeUnderTest: "cc_library_headers",
+ moduleTypeUnderTestFactory: cc.LibraryHeaderFactory,
+ moduleTypeUnderTestBp2BuildMutator: cc.CcLibraryHeadersBp2Build,
+ depsMutators: []android.RegisterMutatorFunc{cc.RegisterDepsBp2Build},
+ filesystem: map[string]string{},
+ bp: soongCcLibraryPreamble + `cc_library_headers {
+ name: "foo_headers",
+ export_system_include_dirs: [
+ "shared_include_dir",
+ ],
+ target: {
+ android: {
+ export_system_include_dirs: [
+ "android_include_dir",
+ ],
+ },
+ linux_glibc: {
+ export_system_include_dirs: [
+ "linux_include_dir",
+ ],
+ },
+ darwin: {
+ export_system_include_dirs: [
+ "darwin_include_dir",
+ ],
+ },
+ },
+ arch: {
+ arm: {
+ export_system_include_dirs: [
+ "arm_include_dir",
+ ],
+ },
+ x86_64: {
+ export_system_include_dirs: [
+ "x86_64_include_dir",
+ ],
+ },
+ },
+}`,
+ expectedBazelTargets: []string{`cc_library_headers(
+ name = "foo_headers",
+ copts = ["-I."],
+ includes = ["shared_include_dir"] + select({
+ "//build/bazel/platforms/arch:arm": ["arm_include_dir"],
+ "//build/bazel/platforms/arch:x86_64": ["x86_64_include_dir"],
+ "//conditions:default": [],
+ }) + select({
+ "//build/bazel/platforms/os:android": ["android_include_dir"],
+ "//build/bazel/platforms/os:darwin": ["darwin_include_dir"],
+ "//build/bazel/platforms/os:linux": ["linux_include_dir"],
+ "//conditions:default": [],
+ }),
+)`},
+ },
}
dir := "."