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