| # Copyright (c) 2013 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/sysroot.gni") |
| |
| config("sdk") { |
| ldflags = [] |
| cflags = [] |
| |
| if (is_asan || is_lsan || is_msan || is_tsan || is_ubsan) { |
| ldflags += [ "-lrt" ] |
| } else if (is_clang) { |
| # Don't allow visible symbols from libc++ to be re-exported. |
| ldflags = [ |
| "-nodefaultlibs", |
| "-lc++", |
| "-lc", |
| "-lm", |
| "-lpthread", |
| "-lclang_rt.builtins", |
| "-Wl,--exclude-libs=libc++.a", |
| ] |
| } |
| |
| if (sysroot != "") { |
| cflags += [ "--sysroot=" + sysroot ] |
| ldflags += [ "--sysroot=" + sysroot ] |
| |
| # 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") ] |
| |
| # When using the pulled Debian sysroot with gcc, we have to specify these |
| # excplicitly. |
| if (dart_use_debian_sysroot && !is_clang) { |
| cflags += [ |
| "-I=/usr/include/c++/4.8", |
| "-I=/usr/include/c++/4.8/i486-linux-gnu", |
| ] |
| } |
| } |
| |
| if (is_qemu) { |
| cflags += ["-DDART_RUN_IN_QEMU_ARMv7"] |
| } |
| } |
| |
| config("executable_config") { |
| # GDB cannot find the executable's mapping in QEMU when PIE is enabled. |
| if (is_qemu) { |
| cflags = [ "-fno-pie" ] |
| ldflags = [ "-no-pie" ] |
| } else if (current_cpu != "x86") { |
| cflags = [ "-fPIE" ] |
| ldflags = [ "-pie" ] |
| } |
| } |