Loading cc/androidmk.go +1 −1 Original line number Diff line number Diff line Loading @@ -86,7 +86,7 @@ func (c *Module) AndroidMk() android.AndroidMkData { if len(c.Properties.AndroidMkWholeStaticLibs) > 0 { fmt.Fprintln(w, "LOCAL_WHOLE_STATIC_LIBRARIES := "+strings.Join(c.Properties.AndroidMkWholeStaticLibs, " ")) } fmt.Fprintln(w, "LOCAL_SOONG_LINK_TYPE :=", c.getMakeLinkType()) fmt.Fprintln(w, "LOCAL_SOONG_LINK_TYPE :=", c.makeLinkType) if c.useVndk() { fmt.Fprintln(w, "LOCAL_USE_VNDK := true") } Loading cc/cc.go +42 −29 Original line number Diff line number Diff line Loading @@ -246,14 +246,14 @@ type ModuleContextIntf interface { sdkVersion() string useVndk() bool isNdk() bool isLlndk() bool isLlndkPublic() bool isVndkPrivate() bool isLlndk(config android.Config) bool isLlndkPublic(config android.Config) bool isVndkPrivate(config android.Config) bool isVndk() bool isVndkSp() bool isVndkExt() bool inRecovery() bool shouldCreateVndkSourceAbiDump() bool shouldCreateVndkSourceAbiDump(config android.Config) bool selectedStl() string baseModuleName() string getVndkExtendsModuleName() string Loading Loading @@ -408,6 +408,8 @@ type Module struct { // only non-nil when this is a shared library that reuses the objects of a static library staticVariant *Module makeLinkType string } func (c *Module) OutputFile() android.OptionalPath { Loading Loading @@ -510,19 +512,19 @@ func (c *Module) isNdk() bool { return inList(c.Name(), ndkMigratedLibs) } func (c *Module) isLlndk() bool { func (c *Module) isLlndk(config android.Config) bool { // Returns true for both LLNDK (public) and LLNDK-private libs. return inList(c.Name(), llndkLibraries) return inList(c.Name(), *llndkLibraries(config)) } func (c *Module) isLlndkPublic() bool { func (c *Module) isLlndkPublic(config android.Config) bool { // Returns true only for LLNDK (public) libs. return c.isLlndk() && !c.isVndkPrivate() return c.isLlndk(config) && !c.isVndkPrivate(config) } func (c *Module) isVndkPrivate() bool { func (c *Module) isVndkPrivate(config android.Config) bool { // Returns true for LLNDK-private, VNDK-SP-private, and VNDK-core-private. return inList(c.Name(), vndkPrivateLibraries) return inList(c.Name(), *vndkPrivateLibraries(config)) } func (c *Module) isVndk() bool { Loading Loading @@ -687,16 +689,16 @@ func (ctx *moduleContextImpl) isNdk() bool { return ctx.mod.isNdk() } func (ctx *moduleContextImpl) isLlndk() bool { return ctx.mod.isLlndk() func (ctx *moduleContextImpl) isLlndk(config android.Config) bool { return ctx.mod.isLlndk(config) } func (ctx *moduleContextImpl) isLlndkPublic() bool { return ctx.mod.isLlndkPublic() func (ctx *moduleContextImpl) isLlndkPublic(config android.Config) bool { return ctx.mod.isLlndkPublic(config) } func (ctx *moduleContextImpl) isVndkPrivate() bool { return ctx.mod.isVndkPrivate() func (ctx *moduleContextImpl) isVndkPrivate(config android.Config) bool { return ctx.mod.isVndkPrivate(config) } func (ctx *moduleContextImpl) isVndk() bool { Loading Loading @@ -728,7 +730,7 @@ func (ctx *moduleContextImpl) inRecovery() bool { } // Check whether ABI dumps should be created for this module. func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump() bool { func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump(config android.Config) bool { if ctx.ctx.Config().IsEnvTrue("SKIP_ABI_CHECKS") { return false } Loading @@ -753,10 +755,10 @@ func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump() bool { if ctx.isNdk() { return true } if ctx.isLlndkPublic() { if ctx.isLlndkPublic(config) { return true } if ctx.useVndk() && ctx.isVndk() && !ctx.isVndkPrivate() { if ctx.useVndk() && ctx.isVndk() && !ctx.isVndkPrivate(config) { // Return true if this is VNDK-core, VNDK-SP, or VNDK-Ext and this is not // VNDK-private. return true Loading Loading @@ -907,6 +909,8 @@ func orderStaticModuleDeps(module *Module, staticDeps []*Module, sharedDeps []*M } func (c *Module) GenerateAndroidBuildActions(actx android.ModuleContext) { c.makeLinkType = c.getMakeLinkType(actx.Config()) ctx := &moduleContext{ ModuleContext: actx, moduleContextImpl: moduleContextImpl{ Loading Loading @@ -1186,6 +1190,9 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) { // // The caller can then know to add the variantLibs dependencies differently from the // nonvariantLibs llndkLibraries := llndkLibraries(actx.Config()) vendorPublicLibraries := vendorPublicLibraries(actx.Config()) rewriteNdkLibs := func(list []string) (nonvariantLibs []string, variantLibs []string) { variantLibs = []string{} nonvariantLibs = []string{} Loading @@ -1198,9 +1205,9 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) { } else { variantLibs = append(variantLibs, name+ndkLibrarySuffix) } } else if ctx.useVndk() && inList(name, llndkLibraries) { } else if ctx.useVndk() && inList(name, *llndkLibraries) { nonvariantLibs = append(nonvariantLibs, name+llndkLibrarySuffix) } else if (ctx.Platform() || ctx.ProductSpecific()) && inList(name, vendorPublicLibraries) { } else if (ctx.Platform() || ctx.ProductSpecific()) && inList(name, *vendorPublicLibraries) { vendorPublicLib := name + vendorPublicLibrarySuffix if actx.OtherModuleExists(vendorPublicLib) { nonvariantLibs = append(nonvariantLibs, vendorPublicLib) Loading Loading @@ -1501,6 +1508,7 @@ func checkLinkType(ctx android.ModuleContext, from *Module, to *Module, tag depe // it is subject to be double loaded. Such lib should be explicitly marked as double_loadable: true // or as vndk-sp (vndk: { enabled: true, support_system_process: true}). func checkDoubleLoadableLibraries(ctx android.TopDownMutatorContext) { llndkLibraries := llndkLibraries(ctx.Config()) check := func(child, parent android.Module) bool { to, ok := child.(*Module) if !ok { Loading @@ -1517,7 +1525,7 @@ func checkDoubleLoadableLibraries(ctx android.TopDownMutatorContext) { return true } if to.isVndkSp() || inList(child.Name(), llndkLibraries) || Bool(to.VendorProperties.Double_loadable) { if to.isVndkSp() || inList(child.Name(), *llndkLibraries) || Bool(to.VendorProperties.Double_loadable) { return false } Loading @@ -1532,7 +1540,7 @@ func checkDoubleLoadableLibraries(ctx android.TopDownMutatorContext) { } if module, ok := ctx.Module().(*Module); ok { if lib, ok := module.linker.(*libraryDecorator); ok && lib.shared() { if inList(ctx.ModuleName(), llndkLibraries) || Bool(module.VendorProperties.Double_loadable) { if inList(ctx.ModuleName(), *llndkLibraries) || Bool(module.VendorProperties.Double_loadable) { ctx.WalkDeps(check) } } Loading @@ -1546,6 +1554,9 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps { directStaticDeps := []*Module{} directSharedDeps := []*Module{} llndkLibraries := llndkLibraries(ctx.Config()) vendorPublicLibraries := vendorPublicLibraries(ctx.Config()) ctx.VisitDirectDeps(func(dep android.Module) { depName := ctx.OtherModuleName(dep) depTag := ctx.OtherModuleDependencyTag(dep) Loading Loading @@ -1788,8 +1799,8 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps { libName := strings.TrimSuffix(depName, llndkLibrarySuffix) libName = strings.TrimSuffix(libName, vendorPublicLibrarySuffix) libName = strings.TrimPrefix(libName, "prebuilt_") isLLndk := inList(libName, llndkLibraries) isVendorPublicLib := inList(libName, vendorPublicLibraries) isLLndk := inList(libName, *llndkLibraries) isVendorPublicLib := inList(libName, *vendorPublicLibraries) bothVendorAndCoreVariantsExist := ccDep.hasVendorVariant() || isLLndk if ctx.DeviceConfig().VndkUseCoreVariant() && ccDep.isVndk() && !ccDep.mustUseVendorVariant() { Loading Loading @@ -1919,10 +1930,12 @@ func (c *Module) staticBinary() bool { return false } func (c *Module) getMakeLinkType() string { func (c *Module) getMakeLinkType(config android.Config) string { if c.useVndk() { if inList(c.Name(), vndkCoreLibraries) || inList(c.Name(), vndkSpLibraries) || inList(c.Name(), llndkLibraries) { if inList(c.Name(), vndkPrivateLibraries) { if inList(c.Name(), *vndkCoreLibraries(config)) || inList(c.Name(), *vndkSpLibraries(config)) || inList(c.Name(), *llndkLibraries(config)) { if inList(c.Name(), *vndkPrivateLibraries(config)) { return "native:vndk_private" } else { return "native:vndk" Loading @@ -1937,7 +1950,7 @@ func (c *Module) getMakeLinkType() string { // TODO(b/114741097): use the correct ndk stl once build errors have been fixed //family, link := getNdkStlFamilyAndLinkType(c) //return fmt.Sprintf("native:ndk:%s:%s", family, link) } else if inList(c.Name(), vndkUsingCoreVariantLibraries) { } else if inList(c.Name(), *vndkUsingCoreVariantLibraries(config)) { return "native:platform_vndk" } else { return "native:platform" Loading cc/library.go +3 −3 Original line number Diff line number Diff line Loading @@ -429,7 +429,7 @@ func (library *libraryDecorator) shouldCreateVndkSourceAbiDump(ctx ModuleContext if library.Properties.Header_abi_checker.Enabled != nil { return Bool(library.Properties.Header_abi_checker.Enabled) } return ctx.shouldCreateVndkSourceAbiDump() return ctx.shouldCreateVndkSourceAbiDump(ctx.Config()) } func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects { Loading Loading @@ -783,7 +783,7 @@ func (library *libraryDecorator) nativeCoverage() bool { } func getRefAbiDumpFile(ctx ModuleContext, vndkVersion, fileName string) android.Path { isLlndkOrNdk := inList(ctx.baseModuleName(), llndkLibraries) || inList(ctx.baseModuleName(), ndkMigratedLibs) isLlndkOrNdk := inList(ctx.baseModuleName(), *llndkLibraries(ctx.Config())) || inList(ctx.baseModuleName(), ndkMigratedLibs) refAbiDumpTextFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, isLlndkOrNdk, ctx.isVndk(), false) refAbiDumpGzipFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, isLlndkOrNdk, ctx.isVndk(), true) Loading Loading @@ -827,7 +827,7 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec refAbiDumpFile := getRefAbiDumpFile(ctx, vndkVersion, fileName) if refAbiDumpFile != nil { library.sAbiDiff = SourceAbiDiff(ctx, library.sAbiOutputFile.Path(), refAbiDumpFile, fileName, exportedHeaderFlags, ctx.isLlndk(), ctx.isNdk(), ctx.isVndkExt()) refAbiDumpFile, fileName, exportedHeaderFlags, ctx.isLlndk(ctx.Config()), ctx.isNdk(), ctx.isVndkExt()) } } } Loading cc/makevars.go +8 −6 Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ func makeStringOfWarningAllowedProjects() string { } func makeVarsProvider(ctx android.MakeVarsContext) { vendorPublicLibraries := vendorPublicLibraries(ctx.Config()) ctx.Strict("LLVM_RELEASE_VERSION", "${config.ClangShortVersion}") ctx.Strict("LLVM_PREBUILTS_VERSION", "${config.ClangVersion}") ctx.Strict("LLVM_PREBUILTS_BASE", "${config.ClangBase}") Loading Loading @@ -92,18 +94,18 @@ func makeVarsProvider(ctx android.MakeVarsContext) { ctx.Strict("BOARD_VNDK_VERSION", ctx.DeviceConfig().VndkVersion()) ctx.Strict("VNDK_CORE_LIBRARIES", strings.Join(vndkCoreLibraries, " ")) ctx.Strict("VNDK_SAMEPROCESS_LIBRARIES", strings.Join(vndkSpLibraries, " ")) ctx.Strict("LLNDK_LIBRARIES", strings.Join(llndkLibraries, " ")) ctx.Strict("VNDK_PRIVATE_LIBRARIES", strings.Join(vndkPrivateLibraries, " ")) ctx.Strict("VNDK_USING_CORE_VARIANT_LIBRARIES", strings.Join(vndkUsingCoreVariantLibraries, " ")) ctx.Strict("VNDK_CORE_LIBRARIES", strings.Join(*vndkCoreLibraries(ctx.Config()), " ")) ctx.Strict("VNDK_SAMEPROCESS_LIBRARIES", strings.Join(*vndkSpLibraries(ctx.Config()), " ")) ctx.Strict("LLNDK_LIBRARIES", strings.Join(*llndkLibraries(ctx.Config()), " ")) ctx.Strict("VNDK_PRIVATE_LIBRARIES", strings.Join(*vndkPrivateLibraries(ctx.Config()), " ")) ctx.Strict("VNDK_USING_CORE_VARIANT_LIBRARIES", strings.Join(*vndkUsingCoreVariantLibraries(ctx.Config()), " ")) // Filter vendor_public_library that are exported to make exportedVendorPublicLibraries := []string{} ctx.VisitAllModules(func(module android.Module) { if ccModule, ok := module.(*Module); ok { baseName := ccModule.BaseModuleName() if inList(baseName, vendorPublicLibraries) && module.ExportedToMake() { if inList(baseName, *vendorPublicLibraries) && module.ExportedToMake() { if !inList(baseName, exportedVendorPublicLibraries) { exportedVendorPublicLibraries = append(exportedVendorPublicLibraries, baseName) } Loading cc/sabi.go +1 −1 Original line number Diff line number Diff line Loading @@ -78,7 +78,7 @@ func (sabimod *sabi) flags(ctx ModuleContext, flags Flags) Flags { func sabiDepsMutator(mctx android.TopDownMutatorContext) { if c, ok := mctx.Module().(*Module); ok && ((c.isVndk() && c.useVndk()) || inList(c.Name(), llndkLibraries) || ((c.isVndk() && c.useVndk()) || inList(c.Name(), *llndkLibraries(mctx.Config())) || (c.sabi != nil && c.sabi.Properties.CreateSAbiDumps)) { mctx.VisitDirectDeps(func(m android.Module) { tag := mctx.OtherModuleDependencyTag(m) Loading Loading
cc/androidmk.go +1 −1 Original line number Diff line number Diff line Loading @@ -86,7 +86,7 @@ func (c *Module) AndroidMk() android.AndroidMkData { if len(c.Properties.AndroidMkWholeStaticLibs) > 0 { fmt.Fprintln(w, "LOCAL_WHOLE_STATIC_LIBRARIES := "+strings.Join(c.Properties.AndroidMkWholeStaticLibs, " ")) } fmt.Fprintln(w, "LOCAL_SOONG_LINK_TYPE :=", c.getMakeLinkType()) fmt.Fprintln(w, "LOCAL_SOONG_LINK_TYPE :=", c.makeLinkType) if c.useVndk() { fmt.Fprintln(w, "LOCAL_USE_VNDK := true") } Loading
cc/cc.go +42 −29 Original line number Diff line number Diff line Loading @@ -246,14 +246,14 @@ type ModuleContextIntf interface { sdkVersion() string useVndk() bool isNdk() bool isLlndk() bool isLlndkPublic() bool isVndkPrivate() bool isLlndk(config android.Config) bool isLlndkPublic(config android.Config) bool isVndkPrivate(config android.Config) bool isVndk() bool isVndkSp() bool isVndkExt() bool inRecovery() bool shouldCreateVndkSourceAbiDump() bool shouldCreateVndkSourceAbiDump(config android.Config) bool selectedStl() string baseModuleName() string getVndkExtendsModuleName() string Loading Loading @@ -408,6 +408,8 @@ type Module struct { // only non-nil when this is a shared library that reuses the objects of a static library staticVariant *Module makeLinkType string } func (c *Module) OutputFile() android.OptionalPath { Loading Loading @@ -510,19 +512,19 @@ func (c *Module) isNdk() bool { return inList(c.Name(), ndkMigratedLibs) } func (c *Module) isLlndk() bool { func (c *Module) isLlndk(config android.Config) bool { // Returns true for both LLNDK (public) and LLNDK-private libs. return inList(c.Name(), llndkLibraries) return inList(c.Name(), *llndkLibraries(config)) } func (c *Module) isLlndkPublic() bool { func (c *Module) isLlndkPublic(config android.Config) bool { // Returns true only for LLNDK (public) libs. return c.isLlndk() && !c.isVndkPrivate() return c.isLlndk(config) && !c.isVndkPrivate(config) } func (c *Module) isVndkPrivate() bool { func (c *Module) isVndkPrivate(config android.Config) bool { // Returns true for LLNDK-private, VNDK-SP-private, and VNDK-core-private. return inList(c.Name(), vndkPrivateLibraries) return inList(c.Name(), *vndkPrivateLibraries(config)) } func (c *Module) isVndk() bool { Loading Loading @@ -687,16 +689,16 @@ func (ctx *moduleContextImpl) isNdk() bool { return ctx.mod.isNdk() } func (ctx *moduleContextImpl) isLlndk() bool { return ctx.mod.isLlndk() func (ctx *moduleContextImpl) isLlndk(config android.Config) bool { return ctx.mod.isLlndk(config) } func (ctx *moduleContextImpl) isLlndkPublic() bool { return ctx.mod.isLlndkPublic() func (ctx *moduleContextImpl) isLlndkPublic(config android.Config) bool { return ctx.mod.isLlndkPublic(config) } func (ctx *moduleContextImpl) isVndkPrivate() bool { return ctx.mod.isVndkPrivate() func (ctx *moduleContextImpl) isVndkPrivate(config android.Config) bool { return ctx.mod.isVndkPrivate(config) } func (ctx *moduleContextImpl) isVndk() bool { Loading Loading @@ -728,7 +730,7 @@ func (ctx *moduleContextImpl) inRecovery() bool { } // Check whether ABI dumps should be created for this module. func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump() bool { func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump(config android.Config) bool { if ctx.ctx.Config().IsEnvTrue("SKIP_ABI_CHECKS") { return false } Loading @@ -753,10 +755,10 @@ func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump() bool { if ctx.isNdk() { return true } if ctx.isLlndkPublic() { if ctx.isLlndkPublic(config) { return true } if ctx.useVndk() && ctx.isVndk() && !ctx.isVndkPrivate() { if ctx.useVndk() && ctx.isVndk() && !ctx.isVndkPrivate(config) { // Return true if this is VNDK-core, VNDK-SP, or VNDK-Ext and this is not // VNDK-private. return true Loading Loading @@ -907,6 +909,8 @@ func orderStaticModuleDeps(module *Module, staticDeps []*Module, sharedDeps []*M } func (c *Module) GenerateAndroidBuildActions(actx android.ModuleContext) { c.makeLinkType = c.getMakeLinkType(actx.Config()) ctx := &moduleContext{ ModuleContext: actx, moduleContextImpl: moduleContextImpl{ Loading Loading @@ -1186,6 +1190,9 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) { // // The caller can then know to add the variantLibs dependencies differently from the // nonvariantLibs llndkLibraries := llndkLibraries(actx.Config()) vendorPublicLibraries := vendorPublicLibraries(actx.Config()) rewriteNdkLibs := func(list []string) (nonvariantLibs []string, variantLibs []string) { variantLibs = []string{} nonvariantLibs = []string{} Loading @@ -1198,9 +1205,9 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) { } else { variantLibs = append(variantLibs, name+ndkLibrarySuffix) } } else if ctx.useVndk() && inList(name, llndkLibraries) { } else if ctx.useVndk() && inList(name, *llndkLibraries) { nonvariantLibs = append(nonvariantLibs, name+llndkLibrarySuffix) } else if (ctx.Platform() || ctx.ProductSpecific()) && inList(name, vendorPublicLibraries) { } else if (ctx.Platform() || ctx.ProductSpecific()) && inList(name, *vendorPublicLibraries) { vendorPublicLib := name + vendorPublicLibrarySuffix if actx.OtherModuleExists(vendorPublicLib) { nonvariantLibs = append(nonvariantLibs, vendorPublicLib) Loading Loading @@ -1501,6 +1508,7 @@ func checkLinkType(ctx android.ModuleContext, from *Module, to *Module, tag depe // it is subject to be double loaded. Such lib should be explicitly marked as double_loadable: true // or as vndk-sp (vndk: { enabled: true, support_system_process: true}). func checkDoubleLoadableLibraries(ctx android.TopDownMutatorContext) { llndkLibraries := llndkLibraries(ctx.Config()) check := func(child, parent android.Module) bool { to, ok := child.(*Module) if !ok { Loading @@ -1517,7 +1525,7 @@ func checkDoubleLoadableLibraries(ctx android.TopDownMutatorContext) { return true } if to.isVndkSp() || inList(child.Name(), llndkLibraries) || Bool(to.VendorProperties.Double_loadable) { if to.isVndkSp() || inList(child.Name(), *llndkLibraries) || Bool(to.VendorProperties.Double_loadable) { return false } Loading @@ -1532,7 +1540,7 @@ func checkDoubleLoadableLibraries(ctx android.TopDownMutatorContext) { } if module, ok := ctx.Module().(*Module); ok { if lib, ok := module.linker.(*libraryDecorator); ok && lib.shared() { if inList(ctx.ModuleName(), llndkLibraries) || Bool(module.VendorProperties.Double_loadable) { if inList(ctx.ModuleName(), *llndkLibraries) || Bool(module.VendorProperties.Double_loadable) { ctx.WalkDeps(check) } } Loading @@ -1546,6 +1554,9 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps { directStaticDeps := []*Module{} directSharedDeps := []*Module{} llndkLibraries := llndkLibraries(ctx.Config()) vendorPublicLibraries := vendorPublicLibraries(ctx.Config()) ctx.VisitDirectDeps(func(dep android.Module) { depName := ctx.OtherModuleName(dep) depTag := ctx.OtherModuleDependencyTag(dep) Loading Loading @@ -1788,8 +1799,8 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps { libName := strings.TrimSuffix(depName, llndkLibrarySuffix) libName = strings.TrimSuffix(libName, vendorPublicLibrarySuffix) libName = strings.TrimPrefix(libName, "prebuilt_") isLLndk := inList(libName, llndkLibraries) isVendorPublicLib := inList(libName, vendorPublicLibraries) isLLndk := inList(libName, *llndkLibraries) isVendorPublicLib := inList(libName, *vendorPublicLibraries) bothVendorAndCoreVariantsExist := ccDep.hasVendorVariant() || isLLndk if ctx.DeviceConfig().VndkUseCoreVariant() && ccDep.isVndk() && !ccDep.mustUseVendorVariant() { Loading Loading @@ -1919,10 +1930,12 @@ func (c *Module) staticBinary() bool { return false } func (c *Module) getMakeLinkType() string { func (c *Module) getMakeLinkType(config android.Config) string { if c.useVndk() { if inList(c.Name(), vndkCoreLibraries) || inList(c.Name(), vndkSpLibraries) || inList(c.Name(), llndkLibraries) { if inList(c.Name(), vndkPrivateLibraries) { if inList(c.Name(), *vndkCoreLibraries(config)) || inList(c.Name(), *vndkSpLibraries(config)) || inList(c.Name(), *llndkLibraries(config)) { if inList(c.Name(), *vndkPrivateLibraries(config)) { return "native:vndk_private" } else { return "native:vndk" Loading @@ -1937,7 +1950,7 @@ func (c *Module) getMakeLinkType() string { // TODO(b/114741097): use the correct ndk stl once build errors have been fixed //family, link := getNdkStlFamilyAndLinkType(c) //return fmt.Sprintf("native:ndk:%s:%s", family, link) } else if inList(c.Name(), vndkUsingCoreVariantLibraries) { } else if inList(c.Name(), *vndkUsingCoreVariantLibraries(config)) { return "native:platform_vndk" } else { return "native:platform" Loading
cc/library.go +3 −3 Original line number Diff line number Diff line Loading @@ -429,7 +429,7 @@ func (library *libraryDecorator) shouldCreateVndkSourceAbiDump(ctx ModuleContext if library.Properties.Header_abi_checker.Enabled != nil { return Bool(library.Properties.Header_abi_checker.Enabled) } return ctx.shouldCreateVndkSourceAbiDump() return ctx.shouldCreateVndkSourceAbiDump(ctx.Config()) } func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects { Loading Loading @@ -783,7 +783,7 @@ func (library *libraryDecorator) nativeCoverage() bool { } func getRefAbiDumpFile(ctx ModuleContext, vndkVersion, fileName string) android.Path { isLlndkOrNdk := inList(ctx.baseModuleName(), llndkLibraries) || inList(ctx.baseModuleName(), ndkMigratedLibs) isLlndkOrNdk := inList(ctx.baseModuleName(), *llndkLibraries(ctx.Config())) || inList(ctx.baseModuleName(), ndkMigratedLibs) refAbiDumpTextFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, isLlndkOrNdk, ctx.isVndk(), false) refAbiDumpGzipFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, isLlndkOrNdk, ctx.isVndk(), true) Loading Loading @@ -827,7 +827,7 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec refAbiDumpFile := getRefAbiDumpFile(ctx, vndkVersion, fileName) if refAbiDumpFile != nil { library.sAbiDiff = SourceAbiDiff(ctx, library.sAbiOutputFile.Path(), refAbiDumpFile, fileName, exportedHeaderFlags, ctx.isLlndk(), ctx.isNdk(), ctx.isVndkExt()) refAbiDumpFile, fileName, exportedHeaderFlags, ctx.isLlndk(ctx.Config()), ctx.isNdk(), ctx.isVndkExt()) } } } Loading
cc/makevars.go +8 −6 Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ func makeStringOfWarningAllowedProjects() string { } func makeVarsProvider(ctx android.MakeVarsContext) { vendorPublicLibraries := vendorPublicLibraries(ctx.Config()) ctx.Strict("LLVM_RELEASE_VERSION", "${config.ClangShortVersion}") ctx.Strict("LLVM_PREBUILTS_VERSION", "${config.ClangVersion}") ctx.Strict("LLVM_PREBUILTS_BASE", "${config.ClangBase}") Loading Loading @@ -92,18 +94,18 @@ func makeVarsProvider(ctx android.MakeVarsContext) { ctx.Strict("BOARD_VNDK_VERSION", ctx.DeviceConfig().VndkVersion()) ctx.Strict("VNDK_CORE_LIBRARIES", strings.Join(vndkCoreLibraries, " ")) ctx.Strict("VNDK_SAMEPROCESS_LIBRARIES", strings.Join(vndkSpLibraries, " ")) ctx.Strict("LLNDK_LIBRARIES", strings.Join(llndkLibraries, " ")) ctx.Strict("VNDK_PRIVATE_LIBRARIES", strings.Join(vndkPrivateLibraries, " ")) ctx.Strict("VNDK_USING_CORE_VARIANT_LIBRARIES", strings.Join(vndkUsingCoreVariantLibraries, " ")) ctx.Strict("VNDK_CORE_LIBRARIES", strings.Join(*vndkCoreLibraries(ctx.Config()), " ")) ctx.Strict("VNDK_SAMEPROCESS_LIBRARIES", strings.Join(*vndkSpLibraries(ctx.Config()), " ")) ctx.Strict("LLNDK_LIBRARIES", strings.Join(*llndkLibraries(ctx.Config()), " ")) ctx.Strict("VNDK_PRIVATE_LIBRARIES", strings.Join(*vndkPrivateLibraries(ctx.Config()), " ")) ctx.Strict("VNDK_USING_CORE_VARIANT_LIBRARIES", strings.Join(*vndkUsingCoreVariantLibraries(ctx.Config()), " ")) // Filter vendor_public_library that are exported to make exportedVendorPublicLibraries := []string{} ctx.VisitAllModules(func(module android.Module) { if ccModule, ok := module.(*Module); ok { baseName := ccModule.BaseModuleName() if inList(baseName, vendorPublicLibraries) && module.ExportedToMake() { if inList(baseName, *vendorPublicLibraries) && module.ExportedToMake() { if !inList(baseName, exportedVendorPublicLibraries) { exportedVendorPublicLibraries = append(exportedVendorPublicLibraries, baseName) } Loading
cc/sabi.go +1 −1 Original line number Diff line number Diff line Loading @@ -78,7 +78,7 @@ func (sabimod *sabi) flags(ctx ModuleContext, flags Flags) Flags { func sabiDepsMutator(mctx android.TopDownMutatorContext) { if c, ok := mctx.Module().(*Module); ok && ((c.isVndk() && c.useVndk()) || inList(c.Name(), llndkLibraries) || ((c.isVndk() && c.useVndk()) || inList(c.Name(), *llndkLibraries(mctx.Config())) || (c.sabi != nil && c.sabi.Properties.CreateSAbiDumps)) { mctx.VisitDirectDeps(func(m android.Module) { tag := mctx.OtherModuleDependencyTag(m) Loading