Loading cc/cc.go +23 −10 Original line number Diff line number Diff line Loading @@ -223,7 +223,7 @@ type ModuleContextIntf interface { isVndkSp() bool isVndkExt() bool inRecovery() bool createVndkSourceAbiDump() bool shouldCreateVndkSourceAbiDump() bool selectedStl() string baseModuleName() string getVndkExtendsModuleName() string Loading Loading @@ -562,16 +562,29 @@ func (ctx *moduleContextImpl) inRecovery() bool { return ctx.mod.inRecovery() } // Create source abi dumps if the module belongs to the list of VndkLibraries. func (ctx *moduleContextImpl) createVndkSourceAbiDump() bool { skipAbiChecks := ctx.ctx.Config().IsEnvTrue("SKIP_ABI_CHECKS") isVariantOnProductionDevice := true sanitize := ctx.mod.sanitize if sanitize != nil { isVariantOnProductionDevice = sanitize.isVariantOnProductionDevice() // Check whether ABI dumps should be created for this module. func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump() bool { if ctx.ctx.Config().IsEnvTrue("SKIP_ABI_CHECKS") { return false } if sanitize := ctx.mod.sanitize; sanitize != nil { if !sanitize.isVariantOnProductionDevice() { return false } } if !ctx.ctx.Device() { // Host modules do not need ABI dumps. return false } if inList(ctx.baseModuleName(), llndkLibraries) { return true } vendorAvailable := Bool(ctx.mod.VendorProperties.Vendor_available) return !skipAbiChecks && isVariantOnProductionDevice && ctx.ctx.Device() && ((ctx.useVndk() && ctx.isVndk() && (vendorAvailable || ctx.isVndkExt())) || inList(ctx.baseModuleName(), llndkLibraries)) if ctx.useVndk() && ctx.isVndk() { // Return true if this is VNDK-core, VNDK-SP, or VNDK-Ext and this is not // VNDK-private. return Bool(ctx.mod.VendorProperties.Vendor_available) || ctx.isVndkExt() } return false } func (ctx *moduleContextImpl) selectedStl() string { Loading cc/library.go +4 −4 Original line number Diff line number Diff line Loading @@ -362,7 +362,7 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa } return Objects{} } if ctx.createVndkSourceAbiDump() || library.sabi.Properties.CreateSAbiDumps { if ctx.shouldCreateVndkSourceAbiDump() || library.sabi.Properties.CreateSAbiDumps { exportIncludeDirs := library.flagExporter.exportedIncludes(ctx) var SourceAbiFlags []string for _, dir := range exportIncludeDirs.Strings() { Loading Loading @@ -632,14 +632,12 @@ func (library *libraryDecorator) linkShared(ctx ModuleContext, } func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objects, fileName string, soFile android.Path) { //Also take into account object re-use. if len(objs.sAbiDumpFiles) > 0 && ctx.createVndkSourceAbiDump() { if len(objs.sAbiDumpFiles) > 0 && ctx.shouldCreateVndkSourceAbiDump() { vndkVersion := ctx.DeviceConfig().PlatformVndkVersion() if ver := ctx.DeviceConfig().VndkVersion(); ver != "" && ver != "current" { vndkVersion = ver } refSourceDumpFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, vndkVsNdk(ctx), true) exportIncludeDirs := library.flagExporter.exportedIncludes(ctx) var SourceAbiFlags []string for _, dir := range exportIncludeDirs.Strings() { Loading @@ -650,6 +648,8 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec } exportedHeaderFlags := strings.Join(SourceAbiFlags, " ") library.sAbiOutputFile = TransformDumpToLinkedDump(ctx, objs.sAbiDumpFiles, soFile, fileName, exportedHeaderFlags) refSourceDumpFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, vndkVsNdk(ctx), true) if refSourceDumpFile.Valid() { unzippedRefDump := UnzipRefDump(ctx, refSourceDumpFile.Path(), fileName) library.sAbiDiff = SourceAbiDiff(ctx, library.sAbiOutputFile.Path(), Loading Loading
cc/cc.go +23 −10 Original line number Diff line number Diff line Loading @@ -223,7 +223,7 @@ type ModuleContextIntf interface { isVndkSp() bool isVndkExt() bool inRecovery() bool createVndkSourceAbiDump() bool shouldCreateVndkSourceAbiDump() bool selectedStl() string baseModuleName() string getVndkExtendsModuleName() string Loading Loading @@ -562,16 +562,29 @@ func (ctx *moduleContextImpl) inRecovery() bool { return ctx.mod.inRecovery() } // Create source abi dumps if the module belongs to the list of VndkLibraries. func (ctx *moduleContextImpl) createVndkSourceAbiDump() bool { skipAbiChecks := ctx.ctx.Config().IsEnvTrue("SKIP_ABI_CHECKS") isVariantOnProductionDevice := true sanitize := ctx.mod.sanitize if sanitize != nil { isVariantOnProductionDevice = sanitize.isVariantOnProductionDevice() // Check whether ABI dumps should be created for this module. func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump() bool { if ctx.ctx.Config().IsEnvTrue("SKIP_ABI_CHECKS") { return false } if sanitize := ctx.mod.sanitize; sanitize != nil { if !sanitize.isVariantOnProductionDevice() { return false } } if !ctx.ctx.Device() { // Host modules do not need ABI dumps. return false } if inList(ctx.baseModuleName(), llndkLibraries) { return true } vendorAvailable := Bool(ctx.mod.VendorProperties.Vendor_available) return !skipAbiChecks && isVariantOnProductionDevice && ctx.ctx.Device() && ((ctx.useVndk() && ctx.isVndk() && (vendorAvailable || ctx.isVndkExt())) || inList(ctx.baseModuleName(), llndkLibraries)) if ctx.useVndk() && ctx.isVndk() { // Return true if this is VNDK-core, VNDK-SP, or VNDK-Ext and this is not // VNDK-private. return Bool(ctx.mod.VendorProperties.Vendor_available) || ctx.isVndkExt() } return false } func (ctx *moduleContextImpl) selectedStl() string { Loading
cc/library.go +4 −4 Original line number Diff line number Diff line Loading @@ -362,7 +362,7 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa } return Objects{} } if ctx.createVndkSourceAbiDump() || library.sabi.Properties.CreateSAbiDumps { if ctx.shouldCreateVndkSourceAbiDump() || library.sabi.Properties.CreateSAbiDumps { exportIncludeDirs := library.flagExporter.exportedIncludes(ctx) var SourceAbiFlags []string for _, dir := range exportIncludeDirs.Strings() { Loading Loading @@ -632,14 +632,12 @@ func (library *libraryDecorator) linkShared(ctx ModuleContext, } func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objects, fileName string, soFile android.Path) { //Also take into account object re-use. if len(objs.sAbiDumpFiles) > 0 && ctx.createVndkSourceAbiDump() { if len(objs.sAbiDumpFiles) > 0 && ctx.shouldCreateVndkSourceAbiDump() { vndkVersion := ctx.DeviceConfig().PlatformVndkVersion() if ver := ctx.DeviceConfig().VndkVersion(); ver != "" && ver != "current" { vndkVersion = ver } refSourceDumpFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, vndkVsNdk(ctx), true) exportIncludeDirs := library.flagExporter.exportedIncludes(ctx) var SourceAbiFlags []string for _, dir := range exportIncludeDirs.Strings() { Loading @@ -650,6 +648,8 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec } exportedHeaderFlags := strings.Join(SourceAbiFlags, " ") library.sAbiOutputFile = TransformDumpToLinkedDump(ctx, objs.sAbiDumpFiles, soFile, fileName, exportedHeaderFlags) refSourceDumpFile := android.PathForVndkRefAbiDump(ctx, vndkVersion, fileName, vndkVsNdk(ctx), true) if refSourceDumpFile.Valid() { unzippedRefDump := UnzipRefDump(ctx, refSourceDumpFile.Path(), fileName) library.sAbiDiff = SourceAbiDiff(ctx, library.sAbiOutputFile.Path(), Loading