45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
// 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 (
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
func processSysrootFlag(builder *commandBuilder) {
|
|
fromUser := false
|
|
userSysroot := ""
|
|
for _, arg := range builder.args {
|
|
if arg.fromUser && strings.HasPrefix(arg.value, "--sysroot=") {
|
|
fromUser = true
|
|
sysrootArg := strings.Split(arg.value, "=")
|
|
if len(sysrootArg) == 2 {
|
|
userSysroot = sysrootArg[1]
|
|
}
|
|
break
|
|
}
|
|
}
|
|
sysroot, syrootPresent := builder.env.getenv("SYSROOT")
|
|
if syrootPresent {
|
|
builder.updateEnv("SYSROOT=")
|
|
}
|
|
if sysroot == "" {
|
|
// Use the bundled sysroot by default.
|
|
sysroot = filepath.Join(builder.rootPath, "usr", builder.target.target)
|
|
}
|
|
if !fromUser {
|
|
builder.addPreUserArgs("--sysroot=" + sysroot)
|
|
} else {
|
|
sysroot = userSysroot
|
|
}
|
|
|
|
libdir := "-L" + sysroot + "/usr/lib"
|
|
if strings.Contains(builder.target.target, "64") {
|
|
libdir += "64"
|
|
}
|
|
builder.addPostUserArgs(libdir)
|
|
}
|