blob: c4198200862c9e805a98e09966d8f2c73230ef76 [file] [log] [blame]
Ben Murdoch097c5b22016-05-18 11:27:45 +01001# Copyright 2015 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/sanitizers/sanitizers.gni")
6import("//build/config/sysroot.gni")
7import("//build/toolchain/toolchain.gni")
8
9assert(is_posix)
10
11group("posix") {
12 visibility = [ "//:optimize_gn_gen" ]
13}
14
15# This is included by reference in the //build/config/compiler config that
16# is applied to all Posix targets. It is here to separate out the logic that is
17# Posix-only. Note that this is in addition to an OS-specific variant of this
18# config.
19config("compiler") {
20 if ((allow_posix_link_time_opt || is_cfi) && !is_nacl) {
21 arflags = [
22 "--plugin",
23 rebase_path("//third_party/llvm-build/Release+Asserts/lib/LLVMgold.so",
24 root_build_dir),
25 ]
26 }
27}
28
29# This is included by reference in the //build/config/compiler:runtime_library
30# config that is applied to all targets. It is here to separate out the logic
31# that is Posix-only. Please see that target for advice on what should go in
32# :runtime_library vs. :compiler.
33config("runtime_library") {
34 if (!is_mac && !is_ios && sysroot != "") {
35 # Pass the sysroot to all C compiler variants, the assembler, and linker.
36 cflags = [ "--sysroot=" + rebase_path(sysroot, root_build_dir) ]
37 asmflags = cflags
38 ldflags = cflags
39
40 # Need to get some linker flags out of the sysroot.
41 ldflags += [ exec_script("sysroot_ld_path.py",
42 [
43 rebase_path("//build/linux/sysroot_ld_path.sh",
44 root_build_dir),
45 sysroot,
46 ],
47 "value") ]
48 }
49}