OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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/compiler/compiler.gni") | 5 import("//build/config/compiler/compiler.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 declare_args() { | 10 declare_args() { |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 # See the rpath_for... config above for why this is necessary for component | 103 # See the rpath_for... config above for why this is necessary for component |
104 # builds. Sanitizers use a custom libc++ where this is also necessary. | 104 # builds. Sanitizers use a custom libc++ where this is also necessary. |
105 if (is_component_build || using_sanitizer) { | 105 if (is_component_build || using_sanitizer) { |
106 configs = [ ":rpath_for_built_shared_libraries" ] | 106 configs = [ ":rpath_for_built_shared_libraries" ] |
107 } | 107 } |
108 if (current_cpu == "mipsel") { | 108 if (current_cpu == "mipsel") { |
109 ldflags += [ "-pie" ] | 109 ldflags += [ "-pie" ] |
110 } | 110 } |
111 } | 111 } |
112 | 112 |
113 if (!is_android || !use_gold) { | 113 if ((!is_android || !use_gold) && current_os != "aix") { |
114 # Find the path containing shared libraries for this toolchain | 114 # Find the path containing shared libraries for this toolchain |
115 # relative to the build directory. ${root_out_dir} will be a | 115 # relative to the build directory. ${root_out_dir} will be a |
116 # subdirectory of ${root_build_dir} when cross compiling. | 116 # subdirectory of ${root_build_dir} when cross compiling. |
117 _rpath_link = rebase_path(root_out_dir, root_build_dir) | 117 _rpath_link = rebase_path(root_out_dir, root_build_dir) |
118 if (shlib_subdir != ".") { | 118 if (shlib_subdir != ".") { |
119 _rpath_link += "/$shlib_subdir" | 119 _rpath_link += "/$shlib_subdir" |
120 } | 120 } |
121 if (is_android) { | 121 if (is_android) { |
122 _rebased_sysroot = rebase_path(sysroot, root_build_dir) | 122 _rebased_sysroot = rebase_path(sysroot, root_build_dir) |
123 _rpath_link += ":$_rebased_sysroot/usr/lib" | 123 _rpath_link += ":$_rebased_sysroot/usr/lib" |
124 } | 124 } |
125 | 125 |
126 ldflags += [ | 126 ldflags += [ |
127 "-Wl,-rpath-link=$_rpath_link", | 127 "-Wl,-rpath-link=$_rpath_link", |
128 | 128 |
129 # TODO(GYP): Do we need a check on the binutils version here? | 129 # TODO(GYP): Do we need a check on the binutils version here? |
130 # | 130 # |
131 # Newer binutils don't set DT_RPATH unless you disable "new" dtags | 131 # Newer binutils don't set DT_RPATH unless you disable "new" dtags |
132 # and the new DT_RUNPATH doesn't work without --no-as-needed flag. | 132 # and the new DT_RUNPATH doesn't work without --no-as-needed flag. |
133 "-Wl,--disable-new-dtags", | 133 "-Wl,--disable-new-dtags", |
134 ] | 134 ] |
135 } | 135 } |
136 } | 136 } |
137 | 137 |
138 config("no_exceptions") { | 138 config("no_exceptions") { |
139 cflags_cc = [ "-fno-exceptions" ] | 139 cflags_cc = [ "-fno-exceptions" ] |
140 cflags_objcc = cflags_cc | 140 cflags_objcc = cflags_cc |
141 } | 141 } |
OLD | NEW |