Files
sdk/build/config/linux/BUILD.gn
T
Ryan Macnak 73f6d15665 [build] Update clang and gn to match Fuchsia.
This new version has functional TSAN.

Bug: https://github.com/dart-lang/sdk/issues/39611
Change-Id: Ia9835fb6ad6de73f43faea695f893ed0c62fffa7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136380
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-02-24 21:04:18 +00:00

54 lines
1.5 KiB
Plaintext

# 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_clang) {
# Don't allow visible symbols from libc++ to be re-exported.
ldflags += [ "-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" ]
}
}