| # 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") ] |
| } |
| } |