Merge "Enable overrides and add stem library properties"

am: 8ba47246c2

Change-Id: I741ec4bc1cd1a367bd195982269ca132bb34ead4
This commit is contained in:
Dimitry Ivanov
2018-11-17 01:20:13 -08:00
committed by android-build-merger
2 changed files with 17 additions and 1 deletions

View File

@@ -143,6 +143,9 @@ func (library *libraryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.An
ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) { ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) {
fmt.Fprintln(w, "LOCAL_SOONG_TOC :=", library.toc().String()) fmt.Fprintln(w, "LOCAL_SOONG_TOC :=", library.toc().String())
fmt.Fprintln(w, "LOCAL_SOONG_UNSTRIPPED_BINARY :=", library.unstrippedOutputFile.String()) fmt.Fprintln(w, "LOCAL_SOONG_UNSTRIPPED_BINARY :=", library.unstrippedOutputFile.String())
if len(library.Properties.Overrides) > 0 {
fmt.Fprintln(w, "LOCAL_OVERRIDES_MODULES := "+strings.Join(library.Properties.Overrides, " "))
}
}) })
} else if library.header() { } else if library.header() {
ret.Class = "HEADER_LIBRARIES" ret.Class = "HEADER_LIBRARIES"

View File

@@ -77,6 +77,16 @@ type LibraryProperties struct {
// List versions to generate stubs libs for. // List versions to generate stubs libs for.
Versions []string Versions []string
} }
// set the name of the output
Stem *string `android:"arch_variant"`
// Names of modules to be overridden. Listed modules can only be other shared libraries
// (in Make or Soong).
// This does not completely prevent installation of the overridden libraries, but if both
// binaries would be installed by default (in PRODUCT_PACKAGES) the other library will be removed
// from PRODUCT_PACKAGES.
Overrides []string
} }
type LibraryMutatedProperties struct { type LibraryMutatedProperties struct {
@@ -429,7 +439,10 @@ type libraryInterface interface {
func (library *libraryDecorator) getLibName(ctx ModuleContext) string { func (library *libraryDecorator) getLibName(ctx ModuleContext) string {
name := library.libName name := library.libName
if name == "" { if name == "" {
name = ctx.baseModuleName() name = String(library.Properties.Stem)
if name == "" {
name = ctx.baseModuleName()
}
} }
if ctx.isVndkExt() { if ctx.isVndkExt() {