Merge "rust: Add header library support to rust_bindgen."

This commit is contained in:
Ivan Lozano 2020-11-18 14:06:09 +00:00 committed by Gerrit Code Review
commit 1010f9bd56
4 changed files with 13 additions and 1 deletions

View File

@ -687,6 +687,9 @@ type RustBindgenClangProperties struct {
// list of shared libraries that provide headers for this binding.
Shared_libs []string `android:"arch_variant"`
// List of libraries which export include paths required for this module
Header_libs []string `android:"arch_variant,variant_prepend"`
// list of clang flags required to correctly interpret the headers.
Cflags []string `android:"arch_variant"`

View File

@ -258,5 +258,6 @@ func (b *bindgenDecorator) SourceProviderDeps(ctx DepsContext, deps Deps) Deps {
deps.SharedLibs = append(deps.SharedLibs, b.ClangProperties.Shared_libs...)
deps.StaticLibs = append(deps.StaticLibs, b.ClangProperties.Static_libs...)
deps.HeaderLibs = append(deps.StaticLibs, b.ClangProperties.Header_libs...)
return deps
}

View File

@ -32,6 +32,7 @@ func TestRustBindgen(t *testing.T) {
cflags: ["--clang-flag()"],
shared_libs: ["libfoo_shared"],
static_libs: ["libfoo_static"],
header_libs: ["libfoo_header"],
}
cc_library_shared {
name: "libfoo_shared",
@ -41,6 +42,10 @@ func TestRustBindgen(t *testing.T) {
name: "libfoo_static",
export_include_dirs: ["static_include"],
}
cc_library_headers {
name: "libfoo_header",
export_include_dirs: ["header_include"],
}
cc_defaults {
name: "cc_defaults_flags",
cflags: ["--default-flag"],
@ -60,6 +65,9 @@ func TestRustBindgen(t *testing.T) {
if !strings.Contains(libbindgen.Args["cflags"], "-Istatic_include") {
t.Errorf("missing static_libs exported includes in rust_bindgen rule: cflags %#v", libbindgen.Args["cflags"])
}
if !strings.Contains(libbindgen.Args["cflags"], "-Iheader_include") {
t.Errorf("missing static_libs exported includes in rust_bindgen rule: cflags %#v", libbindgen.Args["cflags"])
}
if !strings.Contains(libbindgen.Args["cflags"], "--default-flag") {
t.Errorf("rust_bindgen missing cflags defined in cc_defaults: cflags %#v", libbindgen.Args["cflags"])
}

View File

@ -53,7 +53,7 @@ type ProtobufProperties struct {
Proto_flags []string `android:"arch_variant"`
// List of libraries which export include paths required for this module
Header_libs []string `android:"arch_variant"`
Header_libs []string `android:"arch_variant,variant_prepend"`
}
type protobufDecorator struct {