diff options
Diffstat (limited to 'androidmk')
-rw-r--r-- | androidmk/cmd/androidmk/android.go | 18 |
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{}{}, } |