diff --git a/cc/cc.go b/cc/cc.go index a0ab2558a..e38400a5a 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -179,6 +179,9 @@ type Flags struct { } type ObjectLinkerProperties struct { + // list of modules that should only provide headers for this module. + Header_libs []string `android:"arch_variant,variant_prepend"` + // names of other cc_object modules to link into this module using partial linking Objs []string `android:"arch_variant"` @@ -2083,6 +2086,7 @@ func DefaultsFactory(props ...interface{}) android.Module { &VendorProperties{}, &BaseCompilerProperties{}, &BaseLinkerProperties{}, + &ObjectLinkerProperties{}, &LibraryProperties{}, &FlagExporterProperties{}, &BinaryLinkerProperties{}, diff --git a/cc/object.go b/cc/object.go index 50ecc38e7..9fa0ac90f 100644 --- a/cc/object.go +++ b/cc/object.go @@ -66,6 +66,7 @@ func (object *objectLinker) linkerDeps(ctx DepsContext, deps Deps) Deps { deps.LateSharedLibs = append(deps.LateSharedLibs, "libc") } + deps.HeaderLibs = append(deps.HeaderLibs, object.Properties.Header_libs...) deps.ObjFiles = append(deps.ObjFiles, object.Properties.Objs...) return deps }