Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Side by Side Diff: build/config/compiler/BUILD.gn

Issue 2784063002: Config changes to support target_os="fuchsia" (Closed)
Patch Set: self review Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 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/android/config.gni") 5 import("//build/config/android/config.gni")
6 import("//build/config/chrome_build.gni") 6 import("//build/config/chrome_build.gni")
7 import("//build/config/chromecast_build.gni") 7 import("//build/config/chromecast_build.gni")
8 import("//build/config/compiler/compiler.gni") 8 import("//build/config/compiler/compiler.gni")
9 import("//build/config/nacl/config.gni") 9 import("//build/config/nacl/config.gni")
10 import("//build/toolchain/cc_wrapper.gni") 10 import("//build/toolchain/cc_wrapper.gni")
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 if (is_win) { 155 if (is_win) {
156 configs += [ "//build/config/win:compiler" ] 156 configs += [ "//build/config/win:compiler" ]
157 } else if (is_android) { 157 } else if (is_android) {
158 configs += [ "//build/config/android:compiler" ] 158 configs += [ "//build/config/android:compiler" ]
159 } else if (is_linux) { 159 } else if (is_linux) {
160 configs += [ "//build/config/linux:compiler" ] 160 configs += [ "//build/config/linux:compiler" ]
161 } else if (is_nacl) { 161 } else if (is_nacl) {
162 configs += [ "//build/config/nacl:compiler" ] 162 configs += [ "//build/config/nacl:compiler" ]
163 } else if (is_ios || is_mac) { 163 } else if (is_ios || is_mac) {
164 configs += [ "//build/config/mac:compiler" ] 164 configs += [ "//build/config/mac:compiler" ]
165 } else if (is_fuchsia) {
166 configs += [ "//build/config/fuchsia:compiler" ]
165 } 167 }
166 168
167 # See the definitions below. 169 # See the definitions below.
168 configs += [ 170 configs += [
169 ":compiler_cpu_abi", 171 ":compiler_cpu_abi",
170 ":compiler_codegen", 172 ":compiler_codegen",
171 ] 173 ]
172 174
173 # In general, Windows is totally different, but all the other builds share 175 # In general, Windows is totally different, but all the other builds share
174 # some common GCC configuration. 176 # some common GCC configuration.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 ] 289 ]
288 defines += [ "NO_UNWIND_TABLES" ] 290 defines += [ "NO_UNWIND_TABLES" ]
289 } else { 291 } else {
290 cflags += [ "-funwind-tables" ] 292 cflags += [ "-funwind-tables" ]
291 } 293 }
292 } 294 }
293 } 295 }
294 296
295 # Linux/Android common flags setup. 297 # Linux/Android common flags setup.
296 # --------------------------------- 298 # ---------------------------------
297 if (is_linux || is_android) { 299 if (is_linux || is_android || is_fuchsia) {
298 if (use_pic) { 300 if (use_pic) {
299 cflags += [ "-fPIC" ] 301 cflags += [ "-fPIC" ]
300 ldflags += [ "-fPIC" ] 302 ldflags += [ "-fPIC" ]
301 } 303 }
302 304
303 # Use pipes for communicating between sub-processes. Faster. 305 # Use pipes for communicating between sub-processes. Faster.
304 cflags += [ "-pipe" ] 306 cflags += [ "-pipe" ]
305 307
306 ldflags += [ 308 ldflags += [
307 "-Wl,-z,noexecstack", 309 "-Wl,-z,noexecstack",
308 "-Wl,-z,now", 310 "-Wl,-z,now",
309 "-Wl,-z,relro", 311 "-Wl,-z,relro",
310 ] 312 ]
311 if (!using_sanitizer) { 313 if (!using_sanitizer) {
312 if (!use_cfi_diag) { 314 if (!use_cfi_diag) {
313 ldflags += [ "-Wl,-z,defs" ] 315 ldflags += [ "-Wl,-z,defs" ]
314 } 316 }
315 317
316 # Functions interposed by the sanitizers can make ld think 318 # Functions interposed by the sanitizers can make ld think
317 # that some libraries aren't needed when they actually are, 319 # that some libraries aren't needed when they actually are,
318 # http://crbug.com/234010. As workaround, disable --as-needed. 320 # http://crbug.com/234010. As workaround, disable --as-needed.
319 if (!is_nacl && !is_android) { 321 if (!is_nacl && !is_android) {
320 # TODO(pcc): Fix linker bug which requires us to link pthread 322 # TODO(pcc): Fix linker bug which requires us to link pthread
321 # unconditionally here (crbug.com/623236). 323 # unconditionally here (crbug.com/623236).
322 ldflags += [ 324 ldflags += [
323 "-Wl,--no-as-needed", 325 "-Wl,--no-as-needed",
324 "-lpthread", 326 "-lpthread",
325 ] 327 ]
326 } 328 }
327 ldflags += [ "-Wl,--as-needed" ] 329 if (!is_fuchsia) {
330 # We need mxio/magenta to get linked in, even if they're not directly
331 # referenced.
332 ldflags += [ "-Wl,--as-needed" ]
333 }
328 } 334 }
329 } 335 }
330 336
331 # Linux-specific compiler flags setup. 337 # Linux-specific compiler flags setup.
332 # ------------------------------------ 338 # ------------------------------------
333 if (is_android && is_clang) { 339 if (is_android && is_clang) {
334 _rebased_android_toolchain_root = 340 _rebased_android_toolchain_root =
335 rebase_path(android_toolchain_root, root_build_dir) 341 rebase_path(android_toolchain_root, root_build_dir)
336 342
337 # Let clang find the linker in the NDK. 343 # Let clang find the linker in the NDK.
(...skipping 1377 matching lines...) Expand 10 before | Expand all | Expand 10 after
1715 1721
1716 if (is_ios || is_mac) { 1722 if (is_ios || is_mac) {
1717 # On Mac and iOS, this enables support for ARC (automatic ref-counting). 1723 # On Mac and iOS, this enables support for ARC (automatic ref-counting).
1718 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html. 1724 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html.
1719 config("enable_arc") { 1725 config("enable_arc") {
1720 common_flags = [ "-fobjc-arc" ] 1726 common_flags = [ "-fobjc-arc" ]
1721 cflags_objc = common_flags 1727 cflags_objc = common_flags
1722 cflags_objcc = common_flags 1728 cflags_objcc = common_flags
1723 } 1729 }
1724 } 1730 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698