Remove explicit suffixes from (ll)ndk_library

Soong can rename these automatically for internal use, so don't require
users to set these.

Bug: 33241851
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Merged-In: Ia92356a0ec079f908fd49812231228046783e50d
Change-Id: Ia92356a0ec079f908fd49812231228046783e50d
This commit is contained in:
Dan Willemsen
2017-04-07 15:21:13 -07:00
committed by Steven Moreland
parent 2ce95652a8
commit 01a90597bc
4 changed files with 21 additions and 25 deletions

View File

@@ -279,7 +279,7 @@ func (installer *baseInstaller) AndroidMk(ctx AndroidMkContext, ret *android.And
}
func (c *stubDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkData) {
ret.SubName = "." + c.properties.ApiLevel
ret.SubName = ndkLibrarySuffix + "." + c.properties.ApiLevel
ret.Class = "SHARED_LIBRARIES"
ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) error {
@@ -301,6 +301,7 @@ func (c *stubDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkDa
func (c *llndkStubDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkData) {
ret.Class = "SHARED_LIBRARIES"
ret.SubName = llndkLibrarySuffix
ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) error {
c.libraryDecorator.androidMkWriteExportedFlags(w)

View File

@@ -430,7 +430,9 @@ func (c *Module) Prebuilt() *android.Prebuilt {
func (c *Module) Name() string {
name := c.ModuleBase.Name()
if p, ok := c.linker.(prebuiltLinkerInterface); ok {
if p, ok := c.linker.(interface {
Name(string) string
}); ok {
name = p.Name(name)
}
return name

View File

@@ -29,15 +29,10 @@ var (
// Creates a stub shared library based on the provided version file.
//
// The name of the generated file will be based on the module name by stripping
// the ".llndk" suffix from the module name. Module names must end with ".llndk"
// (as a convention to allow soong to guess the LL-NDK name of a dependency when
// needed). "libfoo.llndk" will generate "libfoo.so".
//
// Example:
//
// llndk_library {
// name: "libfoo.llndk",
// name: "libfoo",
// symbol_file: "libfoo.map.txt",
// export_include_dirs: ["include_vndk"],
// }
@@ -69,10 +64,6 @@ type llndkStubDecorator struct {
}
func (stub *llndkStubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects {
if !strings.HasSuffix(ctx.ModuleName(), llndkLibrarySuffix) {
ctx.ModuleErrorf("llndk_library modules names must be suffixed with %q\n",
llndkLibrarySuffix)
}
objs, versionScript := compileStubLibrary(ctx, flags, stub.Properties.Symbol_file, "current", "--vndk")
stub.versionScriptPath = versionScript
return objs
@@ -82,6 +73,10 @@ func (stub *llndkStubDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
return Deps{}
}
func (stub *llndkStubDecorator) Name(name string) string {
return name + llndkLibrarySuffix
}
func (stub *llndkStubDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags {
stub.libraryDecorator.libName = strings.TrimSuffix(ctx.ModuleName(),
llndkLibrarySuffix)

View File

@@ -65,15 +65,10 @@ var (
// Creates a stub shared library based on the provided version file.
//
// The name of the generated file will be based on the module name by stripping
// the ".ndk" suffix from the module name. Module names must end with ".ndk"
// (as a convention to allow soong to guess the NDK name of a dependency when
// needed). "libfoo.ndk" will generate "libfoo.so.
//
// Example:
//
// ndk_library {
// name: "libfoo.ndk",
// name: "libfoo",
// symbol_file: "libfoo.map.txt",
// first_version: "9",
// }
@@ -230,7 +225,11 @@ func ndkApiMutator(mctx android.BottomUpMutatorContext) {
func (c *stubDecorator) compilerInit(ctx BaseModuleContext) {
c.baseCompiler.compilerInit(ctx)
name := strings.TrimSuffix(ctx.ModuleName(), ".ndk")
name := ctx.baseModuleName()
if strings.HasSuffix(name, ndkLibrarySuffix) {
ctx.PropertyErrorf("name", "Do not append %q manually, just use the base name", ndkLibrarySuffix)
}
ndkMigratedLibsLock.Lock()
defer ndkMigratedLibsLock.Unlock()
for _, lib := range ndkMigratedLibs {
@@ -276,10 +275,6 @@ func compileStubLibrary(ctx ModuleContext, flags Flags, symbolFile, apiLevel, vn
}
func (c *stubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects {
if !strings.HasSuffix(ctx.ModuleName(), ndkLibrarySuffix) {
ctx.ModuleErrorf("ndk_library modules names must be suffixed with %q\n",
ndkLibrarySuffix)
}
objs, versionScript := compileStubLibrary(ctx, flags, c.properties.Symbol_file, c.properties.ApiLevel, "")
c.versionScriptPath = versionScript
return objs
@@ -289,9 +284,12 @@ func (linker *stubDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
return Deps{}
}
func (linker *stubDecorator) Name(name string) string {
return name + ndkLibrarySuffix
}
func (stub *stubDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags {
stub.libraryDecorator.libName = strings.TrimSuffix(ctx.ModuleName(),
ndkLibrarySuffix)
stub.libraryDecorator.libName = ctx.baseModuleName()
return stub.libraryDecorator.linkerFlags(ctx, flags)
}