aboutsummaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorJayant Chowdhary <jchowdhary@google.com>2018-02-23 16:43:23 -0800
committerJayant Chowdhary <jchowdhary@google.com>2018-03-01 17:19:25 -0800
commitdcd33b6c29580298a122711c3f5e1384550cacbe (patch)
tree72e20317a3af9bc5dbbe900840d1b655b16e642b /cc
parentac066c6b9025a5beac9b003181b9aba6d0e51918 (diff)
downloadbuild_soong-dcd33b6c29580298a122711c3f5e1384550cacbe.tar.gz
build_soong-dcd33b6c29580298a122711c3f5e1384550cacbe.tar.bz2
build_soong-dcd33b6c29580298a122711c3f5e1384550cacbe.zip
Create a make variable for all lsdump files.
This is needed so that we can embed the paths of lsdump files in a file, in order to make lookup faster, while creating reference dumps. Test: mm -j64 in external/libjpeg-turbo for aosp_arm64_ab; out/soong/make_vars-aosp_arm64_ab.mk contains SOONG_LSDUMP_PATHS := <list of lsdump paths> Change-Id: I04608429e1add307cc1ee79d2f0c348fb041613c
Diffstat (limited to 'cc')
-rw-r--r--cc/builder.go3
-rw-r--r--cc/makevars.go3
-rw-r--r--cc/sabi.go6
3 files changed, 12 insertions, 0 deletions
diff --git a/cc/builder.go b/cc/builder.go
index 1d12b5f0..59a8cc8a 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -687,6 +687,9 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext,
func TransformDumpToLinkedDump(ctx android.ModuleContext, sAbiDumps android.Paths, soFile android.Path,
baseName, exportedHeaderFlags string) android.OptionalPath {
outputFile := android.PathForModuleOut(ctx, baseName+".lsdump")
+ sabiLock.Lock()
+ lsdumpPaths = append(lsdumpPaths, outputFile.String())
+ sabiLock.Unlock()
symbolFilterStr := "-so " + soFile.String()
ctx.Build(pctx, android.BuildParams{
Rule: sAbiLink,
diff --git a/cc/makevars.go b/cc/makevars.go
index 779de8f3..23910d33 100644
--- a/cc/makevars.go
+++ b/cc/makevars.go
@@ -100,6 +100,9 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
ctx.Strict("LLNDK_LIBRARIES", strings.Join(llndkLibraries, " "))
ctx.Strict("VNDK_PRIVATE_LIBRARIES", strings.Join(vndkPrivateLibraries, " "))
+ sort.Strings(lsdumpPaths)
+ ctx.Strict("LSDUMP_PATHS", strings.Join(lsdumpPaths, " "))
+
ctx.Strict("ANDROID_WARNING_ALLOWED_PROJECTS", makeStringOfWarningAllowedProjects())
ctx.Strict("SOONG_MODULES_ADDED_WALL", makeStringOfKeys(ctx, modulesAddedWall))
ctx.Strict("SOONG_MODULES_USING_WNO_ERROR", makeStringOfKeys(ctx, modulesUsingWnoError))
diff --git a/cc/sabi.go b/cc/sabi.go
index ec1d2468..f5a7c774 100644
--- a/cc/sabi.go
+++ b/cc/sabi.go
@@ -16,11 +16,17 @@ package cc
import (
"strings"
+ "sync"
"android/soong/android"
"android/soong/cc/config"
)
+var (
+ lsdumpPaths []string
+ sabiLock sync.Mutex
+)
+
type SAbiProperties struct {
CreateSAbiDumps bool `blueprint:"mutated"`
ReexportedIncludeFlags []string