You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
924 B
42 lines
924 B
// Copyright 2019 The Chromium OS Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
func processGomaCccFlags(builder *commandBuilder) (gomaUsed bool, err error) {
|
|
gomaPath := ""
|
|
nextArgIsGomaPath := false
|
|
builder.transformArgs(func(arg builderArg) string {
|
|
if arg.fromUser {
|
|
if arg.value == "--gomacc-path" {
|
|
nextArgIsGomaPath = true
|
|
return ""
|
|
}
|
|
if nextArgIsGomaPath {
|
|
gomaPath = arg.value
|
|
nextArgIsGomaPath = false
|
|
return ""
|
|
}
|
|
}
|
|
return arg.value
|
|
})
|
|
if nextArgIsGomaPath {
|
|
return false, newUserErrorf("--gomacc-path given without value")
|
|
}
|
|
if gomaPath == "" {
|
|
gomaPath, _ = builder.env.getenv("GOMACC_PATH")
|
|
}
|
|
if gomaPath != "" {
|
|
if _, err := os.Lstat(gomaPath); err == nil {
|
|
builder.wrapPath(gomaPath)
|
|
return true, nil
|
|
}
|
|
}
|
|
return false, nil
|
|
}
|