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

// 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
}