Add cc_prebuilt_library_headers

In preparation for adding cc_library_headers support to
sdk/module_exports.

Two changes were needed to make the prebuilt version work.
1) Had to stop the prebuilt version of the library from creating static
   and shared variants for header only.
2) Had to allow the code to export/reexport include dirs to run even
   when no src is provided.

Bug: 148933848
Bug: 153306490
Test: m nothing
Merged-In: Idd50ed38bc90d1d93551f78e6310f167941487d9
Change-Id: Idd50ed38bc90d1d93551f78e6310f167941487d9
This commit is contained in:
Paul Duffin
2020-02-21 10:57:00 +00:00
parent 246ac3092f
commit 853b8dbe0e
4 changed files with 56 additions and 20 deletions

View File

@@ -39,3 +39,24 @@ func TestLibraryHeaders(t *testing.T) {
t.Errorf("cflags for libsystem must contain -Imy_include, but was %#v.", cflags)
}
}
func TestPrebuiltLibraryHeaders(t *testing.T) {
ctx := testCc(t, `
cc_prebuilt_library_headers {
name: "headers",
export_include_dirs: ["my_include"],
}
cc_library_static {
name: "lib",
srcs: ["foo.c"],
header_libs: ["headers"],
}
`)
// test if header search paths are correctly added
cc := ctx.ModuleForTests("lib", "android_arm64_armv8-a_static").Rule("cc")
cflags := cc.Args["cFlags"]
if !strings.Contains(cflags, " -Imy_include ") {
t.Errorf("cflags for libsystem must contain -Imy_include, but was %#v.", cflags)
}
}