Fix: duplicated definition of llndk_headers module
A llndk_headers module was double defined; one as a header lib and the
other as a static lib. Since llndk_headers is a header lib, the static
lib is now deleted.
Bug: 70617292
Test: build. (TestLlndkHeaders added)
Change-Id: I1a3e9d1a73616ea4faf03664a7a4b03bd5955629
diff --git a/cc/cc_test.go b/cc/cc_test.go
index 148b4dd..15e45d0 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -61,6 +61,7 @@
ctx.RegisterModuleType("cc_library_shared", android.ModuleFactoryAdaptor(LibrarySharedFactory))
ctx.RegisterModuleType("toolchain_library", android.ModuleFactoryAdaptor(toolchainLibraryFactory))
ctx.RegisterModuleType("llndk_library", android.ModuleFactoryAdaptor(llndkLibraryFactory))
+ ctx.RegisterModuleType("llndk_headers", android.ModuleFactoryAdaptor(llndkHeadersFactory))
ctx.RegisterModuleType("cc_object", android.ModuleFactoryAdaptor(objectFactory))
ctx.RegisterModuleType("filegroup", android.ModuleFactoryAdaptor(genrule.FileGroupFactory))
ctx.PreDepsMutators(func(ctx android.RegisterMutatorsContext) {
@@ -138,6 +139,7 @@
"bar.c": nil,
"a.proto": nil,
"b.aidl": nil,
+ "my_include": nil,
})
_, errs := ctx.ParseFileList(".", []string{"Android.bp"})
@@ -583,6 +585,34 @@
}
}
+func TestLlndkHeaders(t *testing.T) {
+ ctx := testCc(t, `
+ llndk_headers {
+ name: "libllndk_headers",
+ export_include_dirs: ["my_include"],
+ }
+ llndk_library {
+ name: "libllndk",
+ export_llndk_headers: ["libllndk_headers"],
+ }
+ cc_library {
+ name: "libvendor",
+ shared_libs: ["libllndk"],
+ vendor: true,
+ srcs: ["foo.c"],
+ no_libgcc : true,
+ nocrt : true,
+ }
+ `)
+
+ // _static variant is used since _shared reuses *.o from the static variant
+ cc := ctx.ModuleForTests("libvendor", "android_arm_armv7-a-neon_vendor_static").Rule("cc")
+ cflags := cc.Args["cFlags"]
+ if !strings.Contains(cflags, "-Imy_include") {
+ t.Errorf("cflags for libvendor must contain -Imy_include, but was %#v.", cflags)
+ }
+}
+
var compilerFlagsTestCases = []struct {
in string
out bool