blob: c4198200862c9e805a98e09966d8f2c73230ef76 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/sysroot.gni")
import("//build/toolchain/toolchain.gni")
assert(is_posix)
group("posix") {
visibility = [ "//:optimize_gn_gen" ]
}
# This is included by reference in the //build/config/compiler config that
# is applied to all Posix targets. It is here to separate out the logic that is
# Posix-only. Note that this is in addition to an OS-specific variant of this
# config.
config("compiler") {
if ((allow_posix_link_time_opt || is_cfi) && !is_nacl) {
arflags = [
"--plugin",
rebase_path("//third_party/llvm-build/Release+Asserts/lib/LLVMgold.so",
root_build_dir),
]
}
}
# This is included by reference in the //build/config/compiler:runtime_library
# config that is applied to all targets. It is here to separate out the logic
# that is Posix-only. Please see that target for advice on what should go in
# :runtime_library vs. :compiler.
config("runtime_library") {
if (!is_mac && !is_ios && sysroot != "") {
# Pass the sysroot to all C compiler variants, the assembler, and linker.
cflags = [ "--sysroot=" + rebase_path(sysroot, root_build_dir) ]
asmflags = cflags
ldflags = cflags
# Need to get some linker flags out of the sysroot.
ldflags += [ exec_script("sysroot_ld_path.py",
[
rebase_path("//build/linux/sysroot_ld_path.sh",
root_build_dir),
sysroot,
],
"value") ]
}
}