aboutsummaryrefslogtreecommitdiffstats
path: root/androidmk
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2015-05-08 16:06:22 -0700
committerColin Cross <ccross@android.com>2015-05-12 11:38:37 -0700
commiteae04e04acc9cced9a9d73074d3f44b522b1d5f8 (patch)
treecc05e00bc7a1ccd505808f282fd3cb2987edb1c7 /androidmk
parenta93000350a17db52c8aadba4fe442ce834722559 (diff)
downloadbuild_soong-eae04e04acc9cced9a9d73074d3f44b522b1d5f8.tar.gz
build_soong-eae04e04acc9cced9a9d73074d3f44b522b1d5f8.tar.bz2
build_soong-eae04e04acc9cced9a9d73074d3f44b522b1d5f8.zip
androidmk: convert stems prefixed with LOCAL_MODULE to suffix
Convert stem: LOCAL_MODULE + "32" to suffix: "32" Change-Id: I7126e814bd35f502196abc087b5d0afb825d3665
Diffstat (limited to 'androidmk')
-rw-r--r--androidmk/cmd/androidmk/android.go18
1 files changed, 17 insertions, 1 deletions
diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go
index 69481cfb..55e47cbe 100644
--- a/androidmk/cmd/androidmk/android.go
+++ b/androidmk/cmd/androidmk/android.go
@@ -18,7 +18,6 @@ var standardProperties = map[string]struct {
}{
// String properties
"LOCAL_MODULE": {"name", bpparser.String},
- "LOCAL_MODULE_STEM": {"stem", bpparser.String},
"LOCAL_MODULE_CLASS": {"class", bpparser.String},
"LOCAL_CXX_STL": {"stl", bpparser.String},
"LOCAL_STRIP_MODULE": {"strip", bpparser.String},
@@ -79,6 +78,7 @@ var rewriteProperties = map[string]struct {
}{
"LOCAL_C_INCLUDES": {localIncludeDirs},
"LOCAL_EXPORT_C_INCLUDE_DIRS": {exportIncludeDirs},
+ "LOCAL_MODULE_STEM": {stem},
}
func localAbsPath(value bpparser.Value) (*bpparser.Value, error) {
@@ -253,6 +253,22 @@ func exportIncludeDirs(file *bpFile, value *mkparser.MakeString, appendVariable
return nil
}
+func stem(file *bpFile, value *mkparser.MakeString, appendVariable bool, class, suffix string) error {
+ val, err := makeVariableToBlueprint(file, value, bpparser.String)
+ if err != nil {
+ return err
+ }
+ varName := "stem"
+
+ if val.Expression != nil && val.Expression.Operator == '+' &&
+ val.Expression.Args[0].Variable == "LOCAL_MODULE" {
+ varName = "suffix"
+ val = &val.Expression.Args[1]
+ }
+
+ return setVariable(file, appendVariable, varName, val, true, class, suffix)
+}
+
var deleteProperties = map[string]struct{}{
"LOCAL_CPP_EXTENSION": struct{}{},
}