Home | History | Annotate | Download | only in posix
      1 # 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 
      5 import("//build/config/sanitizers/sanitizers.gni")
      6 import("//build/config/sysroot.gni")
      7 import("//build/toolchain/toolchain.gni")
      8 
      9 assert(is_posix)
     10 
     11 group("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.
     19 config("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.
     33 config("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 }
     50