diff options
author | Colin Cross <ccross@android.com> | 2015-12-16 18:30:36 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-12-16 18:30:36 +0000 |
commit | 27f3b7dc0b9d662e6e812aba807ca983fbee444b (patch) | |
tree | 8f2754e387cd7b8959f795bca5dd518035125d7b | |
parent | 1ef47568f39b373533f4305662f561d3fa5f6527 (diff) | |
parent | d9344d20ff5583f4d777f05d5f9829a5b57683dd (diff) | |
download | build_soong-27f3b7dc0b9d662e6e812aba807ca983fbee444b.tar.gz build_soong-27f3b7dc0b9d662e6e812aba807ca983fbee444b.tar.bz2 build_soong-27f3b7dc0b9d662e6e812aba807ca983fbee444b.zip |
Merge "androidmk: Add support for LOCAL_MODULE_HOST_OS"
-rw-r--r-- | androidmk/cmd/androidmk/android.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go index c45b3f46..31eb6ccf 100644 --- a/androidmk/cmd/androidmk/android.go +++ b/androidmk/cmd/androidmk/android.go @@ -80,6 +80,7 @@ var rewriteProperties = map[string]struct { "LOCAL_C_INCLUDES": {localIncludeDirs}, "LOCAL_EXPORT_C_INCLUDE_DIRS": {exportIncludeDirs}, "LOCAL_MODULE_STEM": {stem}, + "LOCAL_MODULE_HOST_OS": {hostOs}, } func localAbsPath(value bpparser.Value) (*bpparser.Value, error) { @@ -267,6 +268,46 @@ func stem(file *bpFile, prefix string, value *mkparser.MakeString, appendVariabl return setVariable(file, appendVariable, prefix, varName, val, true) } +func hostOs(file *bpFile, prefix string, value *mkparser.MakeString, appendVariable bool) error { + val, err := makeVariableToBlueprint(file, value, bpparser.List) + if err != nil { + return err + } + + inList := func(s string) bool { + for _, v := range val.ListValue { + if v.StringValue == s { + return true + } + } + return false + } + + falseValue := &bpparser.Value{ + Type: bpparser.Bool, + BoolValue: false, + } + + trueValue := &bpparser.Value{ + Type: bpparser.Bool, + BoolValue: true, + } + + if inList("windows") { + err = setVariable(file, appendVariable, "target.windows", "enabled", trueValue, true) + } + + if !inList("linux") && err == nil { + err = setVariable(file, appendVariable, "target.linux", "enabled", falseValue, true) + } + + if !inList("darwin") && err == nil { + err = setVariable(file, appendVariable, "target.darwin", "enabled", falseValue, true) + } + + return err +} + var deleteProperties = map[string]struct{}{ "LOCAL_CPP_EXTENSION": struct{}{}, } |