Generate the known NDK libraries list.
This doesn't need to be manually maintained. It briefly did need to be during the transition from the old prebuilts, but that's long gone. Test: treehugger Bug: http://b/113547923 Change-Id: If05633f3cf622ab39e560a3dfcc88f3eb50406bf
This commit is contained in:
parent
79e546f7df
commit
de5aade0e8
4 changed files with 32 additions and 63 deletions
12
cc/cc.go
12
cc/cc.go
|
@ -873,7 +873,7 @@ func (c *Module) isCoverageVariant() bool {
|
|||
}
|
||||
|
||||
func (c *Module) IsNdk() bool {
|
||||
return inList(c.Name(), ndkMigratedLibs)
|
||||
return inList(c.Name(), ndkKnownLibs)
|
||||
}
|
||||
|
||||
func (c *Module) isLlndk(config android.Config) bool {
|
||||
|
@ -1759,8 +1759,6 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
|||
variantNdkLibs := []string{}
|
||||
variantLateNdkLibs := []string{}
|
||||
if ctx.Os() == android.Android {
|
||||
version := ctx.sdkVersion()
|
||||
|
||||
// rewriteLibs takes a list of names of shared libraries and scans it for three types
|
||||
// of names:
|
||||
//
|
||||
|
@ -1802,12 +1800,8 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
|||
for _, entry := range list {
|
||||
// strip #version suffix out
|
||||
name, _ := StubsLibNameAndVersion(entry)
|
||||
if ctx.useSdk() && inList(name, ndkPrebuiltSharedLibraries) {
|
||||
if !inList(name, ndkMigratedLibs) {
|
||||
nonvariantLibs = append(nonvariantLibs, name+".ndk."+version)
|
||||
} else {
|
||||
variantLibs = append(variantLibs, name+ndkLibrarySuffix)
|
||||
}
|
||||
if ctx.useSdk() && inList(name, ndkKnownLibs) {
|
||||
variantLibs = append(variantLibs, name+ndkLibrarySuffix)
|
||||
} else if ctx.useVndk() {
|
||||
nonvariantLibs = append(nonvariantLibs, rewriteVendorLibs(entry))
|
||||
} else if (ctx.Platform() || ctx.ProductSpecific()) && inList(name, *vendorPublicLibraries) {
|
||||
|
|
|
@ -97,7 +97,12 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
|
|||
ctx.Strict("CLANG_EXTERNAL_CFLAGS", "${config.ClangExternalCflags}")
|
||||
ctx.Strict("GLOBAL_CLANG_CFLAGS_NO_OVERRIDE", "${config.NoOverrideClangGlobalCflags}")
|
||||
ctx.Strict("GLOBAL_CLANG_CPPFLAGS_NO_OVERRIDE", "")
|
||||
ctx.Strict("NDK_PREBUILT_SHARED_LIBRARIES", strings.Join(ndkPrebuiltSharedLibs, " "))
|
||||
ndkLibNames := []string{}
|
||||
for _, lib := range ndkKnownLibs {
|
||||
ndkLibNames = append(ndkLibNames, strings.TrimPrefix(lib, "lib"))
|
||||
}
|
||||
sort.Strings(ndkLibNames)
|
||||
ctx.Strict("NDK_PREBUILT_SHARED_LIBRARIES", strings.Join(ndkLibNames, " "))
|
||||
|
||||
ctx.Strict("BOARD_VNDK_VERSION", ctx.DeviceConfig().VndkVersion())
|
||||
|
||||
|
@ -174,8 +179,8 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
|
|||
ctx.StrictRaw("SRC_HEADERS", strings.Join(includes, " "))
|
||||
ctx.StrictRaw("SRC_SYSTEM_HEADERS", strings.Join(systemIncludes, " "))
|
||||
|
||||
sort.Strings(ndkMigratedLibs)
|
||||
ctx.Strict("NDK_MIGRATED_LIBS", strings.Join(ndkMigratedLibs, " "))
|
||||
sort.Strings(ndkKnownLibs)
|
||||
ctx.Strict("NDK_MIGRATED_LIBS", strings.Join(ndkKnownLibs, " "))
|
||||
|
||||
hostTargets := ctx.Config().Targets[android.BuildOs]
|
||||
makeVarsToolchain(ctx, "", hostTargets[0])
|
||||
|
|
|
@ -47,37 +47,10 @@ var (
|
|||
|
||||
ndkLibrarySuffix = ".ndk"
|
||||
|
||||
ndkPrebuiltSharedLibs = []string{
|
||||
"aaudio",
|
||||
"amidi",
|
||||
"android",
|
||||
"binder_ndk",
|
||||
"c",
|
||||
"camera2ndk",
|
||||
"dl",
|
||||
"EGL",
|
||||
"GLESv1_CM",
|
||||
"GLESv2",
|
||||
"GLESv3",
|
||||
"jnigraphics",
|
||||
"log",
|
||||
"mediandk",
|
||||
"nativewindow",
|
||||
"m",
|
||||
"neuralnetworks",
|
||||
"OpenMAXAL",
|
||||
"OpenSLES",
|
||||
"stdc++",
|
||||
"sync",
|
||||
"vulkan",
|
||||
"z",
|
||||
}
|
||||
ndkPrebuiltSharedLibraries = addPrefix(append([]string(nil), ndkPrebuiltSharedLibs...), "lib")
|
||||
|
||||
// These libraries have migrated over to the new ndk_library, which is added
|
||||
// as a variation dependency via depsMutator.
|
||||
ndkMigratedLibs = []string{}
|
||||
ndkMigratedLibsLock sync.Mutex // protects ndkMigratedLibs writes during parallel BeginMutator
|
||||
// Added as a variation dependency via depsMutator.
|
||||
ndkKnownLibs = []string{}
|
||||
// protects ndkKnownLibs writes during parallel BeginMutator.
|
||||
ndkKnownLibsLock sync.Mutex
|
||||
)
|
||||
|
||||
// Creates a stub shared library based on the provided version file.
|
||||
|
@ -257,14 +230,14 @@ func (c *stubDecorator) compilerInit(ctx BaseModuleContext) {
|
|||
ctx.PropertyErrorf("name", "Do not append %q manually, just use the base name", ndkLibrarySuffix)
|
||||
}
|
||||
|
||||
ndkMigratedLibsLock.Lock()
|
||||
defer ndkMigratedLibsLock.Unlock()
|
||||
for _, lib := range ndkMigratedLibs {
|
||||
ndkKnownLibsLock.Lock()
|
||||
defer ndkKnownLibsLock.Unlock()
|
||||
for _, lib := range ndkKnownLibs {
|
||||
if lib == name {
|
||||
return
|
||||
}
|
||||
}
|
||||
ndkMigratedLibs = append(ndkMigratedLibs, name)
|
||||
ndkKnownLibs = append(ndkKnownLibs, name)
|
||||
}
|
||||
|
||||
func addStubLibraryCompilerFlags(flags Flags) Flags {
|
||||
|
|
|
@ -32,6 +32,7 @@ func RegisterRequiredBuildComponentsForTest(ctx android.RegistrationContext) {
|
|||
ctx.RegisterModuleType("cc_object", ObjectFactory)
|
||||
ctx.RegisterModuleType("ndk_prebuilt_shared_stl", NdkPrebuiltSharedStlFactory)
|
||||
ctx.RegisterModuleType("ndk_prebuilt_object", NdkPrebuiltObjectFactory)
|
||||
ctx.RegisterModuleType("ndk_library", NdkLibraryFactory)
|
||||
}
|
||||
|
||||
func GatherRequiredDepsForTest(oses ...android.OsType) string {
|
||||
|
@ -393,25 +394,22 @@ func GatherRequiredDepsForTest(oses ...android.OsType) string {
|
|||
system_shared_libs: [],
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "libc.ndk.current",
|
||||
sdk_version: "current",
|
||||
stl: "none",
|
||||
system_shared_libs: [],
|
||||
ndk_library {
|
||||
name: "libc",
|
||||
first_version: "minimum",
|
||||
symbol_file: "libc.map.txt",
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "libm.ndk.current",
|
||||
sdk_version: "current",
|
||||
stl: "none",
|
||||
system_shared_libs: [],
|
||||
ndk_library {
|
||||
name: "libm",
|
||||
first_version: "minimum",
|
||||
symbol_file: "libm.map.txt",
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "libdl.ndk.current",
|
||||
sdk_version: "current",
|
||||
stl: "none",
|
||||
system_shared_libs: [],
|
||||
ndk_library {
|
||||
name: "libdl",
|
||||
first_version: "minimum",
|
||||
symbol_file: "libdl.map.txt",
|
||||
}
|
||||
|
||||
ndk_prebuilt_object {
|
||||
|
@ -503,7 +501,6 @@ func CreateTestContext() *android.TestContext {
|
|||
ctx.RegisterModuleType("cc_fuzz", FuzzFactory)
|
||||
ctx.RegisterModuleType("cc_test", TestFactory)
|
||||
ctx.RegisterModuleType("llndk_headers", llndkHeadersFactory)
|
||||
ctx.RegisterModuleType("ndk_library", NdkLibraryFactory)
|
||||
ctx.RegisterModuleType("vendor_public_library", vendorPublicLibraryFactory)
|
||||
ctx.RegisterModuleType("filegroup", android.FileGroupFactory)
|
||||
ctx.RegisterModuleType("vndk_prebuilt_shared", VndkPrebuiltSharedFactory)
|
||||
|
|
Loading…
Reference in a new issue