Loading cc/builder.go +13 −9 Original line number Diff line number Diff line Loading @@ -197,8 +197,8 @@ var ( sAbiDiff = pctx.AndroidRuleFunc("sAbiDiff", func(ctx android.PackageRuleContext) blueprint.RuleParams { // TODO(b/78139997): Add -check-all-apis back commandStr := "($sAbiDiffer $allowFlags -lib $libName -arch $arch -o ${out} -new $in -old $referenceDump)" commandStr += "|| (echo ' ---- Please update abi references by running $$ANDROID_BUILD_TOP/development/vndk/tools/header-checker/utils/create_reference_dumps.py -l ${libName} ----'" commandStr := "($sAbiDiffer ${allowFlags} -lib ${libName} -arch ${arch} -o ${out} -new ${in} -old ${referenceDump})" commandStr += "|| (echo 'error: Please update ABI references with: $$ANDROID_BUILD_TOP/development/vndk/tools/header-checker/utils/create_reference_dumps.py ${createReferenceDumpFlags} -l ${libName}'" commandStr += " && (mkdir -p $$DIST_DIR/abidiffs && cp ${out} $$DIST_DIR/abidiffs/)" commandStr += " && exit 1)" return blueprint.RuleParams{ Loading @@ -206,7 +206,7 @@ var ( CommandDeps: []string{"$sAbiDiffer"}, } }, "allowFlags", "referenceDump", "libName", "arch") "allowFlags", "referenceDump", "libName", "arch", "createReferenceDumpFlags") unzipRefSAbiDump = pctx.AndroidStaticRule("unzipRefSAbiDump", blueprint.RuleParams{ Loading Loading @@ -711,16 +711,19 @@ func UnzipRefDump(ctx android.ModuleContext, zippedRefDump android.Path, baseNam } func SourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceDump android.Path, baseName, exportedHeaderFlags string, isVndkExt bool) android.OptionalPath { baseName, exportedHeaderFlags string, isLlndk, isVndkExt bool) android.OptionalPath { outputFile := android.PathForModuleOut(ctx, baseName+".abidiff") libName := strings.TrimSuffix(baseName, filepath.Ext(baseName)) createReferenceDumpFlags := "" localAbiCheckAllowFlags := append([]string(nil), abiCheckAllowFlags...) if exportedHeaderFlags == "" { localAbiCheckAllowFlags = append(localAbiCheckAllowFlags, "-advice-only") } if inList(libName, llndkLibraries) { if isLlndk { localAbiCheckAllowFlags = append(localAbiCheckAllowFlags, "-consider-opaque-types-different") createReferenceDumpFlags = "--llndk" } if isVndkExt { localAbiCheckAllowFlags = append(localAbiCheckAllowFlags, "-allow-extensions") Loading @@ -737,6 +740,7 @@ func SourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceD "libName": libName, "arch": ctx.Arch().ArchType.Name, "allowFlags": strings.Join(localAbiCheckAllowFlags, " "), "createReferenceDumpFlags": createReferenceDumpFlags, }, }) return android.OptionalPathForPath(outputFile) Loading cc/library.go +1 −1 Original line number Diff line number Diff line Loading @@ -794,7 +794,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.isVndkExt()) refAbiDumpFile, fileName, exportedHeaderFlags, ctx.isLlndk(), ctx.isVndkExt()) } } } Loading Loading
cc/builder.go +13 −9 Original line number Diff line number Diff line Loading @@ -197,8 +197,8 @@ var ( sAbiDiff = pctx.AndroidRuleFunc("sAbiDiff", func(ctx android.PackageRuleContext) blueprint.RuleParams { // TODO(b/78139997): Add -check-all-apis back commandStr := "($sAbiDiffer $allowFlags -lib $libName -arch $arch -o ${out} -new $in -old $referenceDump)" commandStr += "|| (echo ' ---- Please update abi references by running $$ANDROID_BUILD_TOP/development/vndk/tools/header-checker/utils/create_reference_dumps.py -l ${libName} ----'" commandStr := "($sAbiDiffer ${allowFlags} -lib ${libName} -arch ${arch} -o ${out} -new ${in} -old ${referenceDump})" commandStr += "|| (echo 'error: Please update ABI references with: $$ANDROID_BUILD_TOP/development/vndk/tools/header-checker/utils/create_reference_dumps.py ${createReferenceDumpFlags} -l ${libName}'" commandStr += " && (mkdir -p $$DIST_DIR/abidiffs && cp ${out} $$DIST_DIR/abidiffs/)" commandStr += " && exit 1)" return blueprint.RuleParams{ Loading @@ -206,7 +206,7 @@ var ( CommandDeps: []string{"$sAbiDiffer"}, } }, "allowFlags", "referenceDump", "libName", "arch") "allowFlags", "referenceDump", "libName", "arch", "createReferenceDumpFlags") unzipRefSAbiDump = pctx.AndroidStaticRule("unzipRefSAbiDump", blueprint.RuleParams{ Loading Loading @@ -711,16 +711,19 @@ func UnzipRefDump(ctx android.ModuleContext, zippedRefDump android.Path, baseNam } func SourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceDump android.Path, baseName, exportedHeaderFlags string, isVndkExt bool) android.OptionalPath { baseName, exportedHeaderFlags string, isLlndk, isVndkExt bool) android.OptionalPath { outputFile := android.PathForModuleOut(ctx, baseName+".abidiff") libName := strings.TrimSuffix(baseName, filepath.Ext(baseName)) createReferenceDumpFlags := "" localAbiCheckAllowFlags := append([]string(nil), abiCheckAllowFlags...) if exportedHeaderFlags == "" { localAbiCheckAllowFlags = append(localAbiCheckAllowFlags, "-advice-only") } if inList(libName, llndkLibraries) { if isLlndk { localAbiCheckAllowFlags = append(localAbiCheckAllowFlags, "-consider-opaque-types-different") createReferenceDumpFlags = "--llndk" } if isVndkExt { localAbiCheckAllowFlags = append(localAbiCheckAllowFlags, "-allow-extensions") Loading @@ -737,6 +740,7 @@ func SourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceD "libName": libName, "arch": ctx.Arch().ArchType.Name, "allowFlags": strings.Join(localAbiCheckAllowFlags, " "), "createReferenceDumpFlags": createReferenceDumpFlags, }, }) return android.OptionalPathForPath(outputFile) Loading
cc/library.go +1 −1 Original line number Diff line number Diff line Loading @@ -794,7 +794,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.isVndkExt()) refAbiDumpFile, fileName, exportedHeaderFlags, ctx.isLlndk(), ctx.isVndkExt()) } } } Loading