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