aboutsummaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorJayant Chowdhary <jchowdhary@google.com>2017-11-28 22:38:32 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-11-28 22:38:32 +0000
commit3e6584556d1fa8ca6d2fd5fa0e91fc180b649f0c (patch)
treeeeadee19377d8c1df6a3fd3724cfd0bf9deee28b /cc
parent88c24a38e570deafcc18481a9ae7a70070e17a4a (diff)
parent219139df8c11544e03a7eb81d8665fbecf16ae5d (diff)
downloadbuild_soong-3e6584556d1fa8ca6d2fd5fa0e91fc180b649f0c.tar.gz
build_soong-3e6584556d1fa8ca6d2fd5fa0e91fc180b649f0c.tar.bz2
build_soong-3e6584556d1fa8ca6d2fd5fa0e91fc180b649f0c.zip
Merge "Copy abidiffs into /abidiffs on abi breakages."
Diffstat (limited to 'cc')
-rw-r--r--cc/builder.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/cc/builder.go b/cc/builder.go
index a81dc894..b5f4c5c0 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -196,11 +196,19 @@ var (
_ = pctx.SourcePathVariable("sAbiDiffer", "prebuilts/build-tools/${config.HostPrebuiltTag}/bin/header-abi-diff")
- // Abidiff check turned on in advice-only mode. Builds will not fail on abi incompatibilties / extensions.
- sAbiDiff = pctx.AndroidStaticRule("sAbiDiff",
- blueprint.RuleParams{
- Command: "$sAbiDiffer $allowFlags -lib $libName -arch $arch -check-all-apis -o ${out} -new $in -old $referenceDump",
- CommandDeps: []string{"$sAbiDiffer"},
+ sAbiDiff = pctx.AndroidRuleFunc("sAbiDiff",
+ func(config android.Config) (blueprint.RuleParams, error) {
+
+ commandStr := "($sAbiDiffer $allowFlags -lib $libName -arch $arch -check-all-apis -o ${out} -new $in -old $referenceDump)"
+ distDir := config.ProductVariables.DistDir
+ if distDir != nil && *distDir != "" {
+ distAbiDiffDir := *distDir + "/abidiffs/"
+ commandStr += " || (mkdir -p " + distAbiDiffDir + " && cp ${out} " + distAbiDiffDir + " && exit 1)"
+ }
+ return blueprint.RuleParams{
+ Command: commandStr,
+ CommandDeps: []string{"$sAbiDiffer"},
+ }, nil
},
"allowFlags", "referenceDump", "libName", "arch")