Fix non-deterministic errors with LOCAL_*_x86_64
LOCAL_*_x86_64 was sometimes recognized as a _64 suffix and other times as the correct _x86_64 suffix, based on the random order of the propertyPrefixes map. Replace the map with a slice so that the ordering is consistent, and ensure 64 as after x86_64. Change-Id: I1a4b4959f8ef4273ad4a1cdd0672ad557bf1891e
This commit is contained in:
parent
b36ab1a1a0
commit
ab6e6e0135
2 changed files with 15 additions and 13 deletions
|
@ -313,15 +313,17 @@ var deleteProperties = map[string]struct{}{
|
|||
"LOCAL_CPP_EXTENSION": struct{}{},
|
||||
}
|
||||
|
||||
var propertyPrefixes = map[string]string{
|
||||
"arm": "arch.arm",
|
||||
"arm64": "arch.arm64",
|
||||
"mips": "arch.mips",
|
||||
"mips64": "arch.mips64",
|
||||
"x86": "arch.x86",
|
||||
"x86_64": "arch.x86_64",
|
||||
"32": "multilib.lib32",
|
||||
"64": "multilib.lib64",
|
||||
// Shorter suffixes of other suffixes must be at the end of the list
|
||||
var propertyPrefixes = []struct{ mk, bp string }{
|
||||
{"arm", "arch.arm"},
|
||||
{"arm64", "arch.arm64"},
|
||||
{"mips", "arch.mips"},
|
||||
{"mips64", "arch.mips64"},
|
||||
{"x86", "arch.x86"},
|
||||
{"x86_64", "arch.x86_64"},
|
||||
{"32", "multilib.lib32"},
|
||||
// 64 must be after x86_64
|
||||
{"64", "multilib.lib64"},
|
||||
}
|
||||
|
||||
var conditionalTranslations = map[string]map[bool]string{
|
||||
|
|
|
@ -195,10 +195,10 @@ func handleAssignment(file *bpFile, assignment mkparser.Assignment, c *condition
|
|||
prefix := ""
|
||||
|
||||
if strings.HasPrefix(name, "LOCAL_") {
|
||||
for k, v := range propertyPrefixes {
|
||||
if strings.HasSuffix(name, "_"+k) {
|
||||
name = strings.TrimSuffix(name, "_"+k)
|
||||
prefix = v
|
||||
for _, x := range propertyPrefixes {
|
||||
if strings.HasSuffix(name, "_"+x.mk) {
|
||||
name = strings.TrimSuffix(name, "_"+x.mk)
|
||||
prefix = x.bp
|
||||
break
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue