naiveproxy/build/config/fuchsia/BUILD.gn

60 lines
2.2 KiB
Plaintext
Raw Normal View History

2018-01-28 19:30:36 +03:00
# Copyright 2017 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/fuchsia/config.gni")
import("//build/config/sysroot.gni")
assert(is_fuchsia)
assert(is_posix)
config("compiler") {
sdk_version_file = rebase_path("$fuchsia_sdk/.hash")
sdk_version = read_file(sdk_version_file, "trim string")
defines = [
# To force full builds after SDK updates in case of ABI changes.
"FUCHSIA_SDK_VERSION=$sdk_version",
]
cflags = []
ldflags = []
if (current_cpu == "arm64") {
cflags += [ "--target=aarch64-fuchsia" ]
ldflags += [ "--target=aarch64-fuchsia" ]
} else if (current_cpu == "x64") {
cflags += [ "--target=x86_64-fuchsia" ]
ldflags += [ "--target=x86_64-fuchsia" ]
} else {
assert(false, "Unsupported architecture")
}
asmflags = cflags
ldflags += [
# TODO(thakis): Once Fuchsia's libclang_rt.builtin no longer has upstream
# patches, we might want to make tools/clang/scripts/update.py build it
# and bundle it with the clang package instead of using the library from
# the SDK, https://crbug.com/724204
# Note: Intentionally 6.0.0 instead of $clang_version because the clang
# version of the toolchain_libs directory in the Fuchsia SDK can be
# different from the version of Chromium's clang.
"-resource-dir",
rebase_path(fuchsia_sdk, root_build_dir) + "/toolchain_libs/clang/6.0.0",
# The stack defaults to 256k on Fuchsia (see
# https://fuchsia.googlesource.com/zircon/+/master/system/private/zircon/stack.h#9),
# but on other platforms it's much higher, so a variety of code assumes more
# will be available. Raise to 8M which matches e.g. macOS.
"-Wl,-z,stack-size=0x800000",
# We always want fdio or else e.g. stdio wouldn't be initialized if fdio
# happens to not be directly referenced. The common POSIX-y compiler setup
# uses -Wl,--as-needed which drops it if it's simply "-lfdio" from a libs
# setting. Disable --as-needed, add fdio, and then set back to --as-needed.
# https://crbug.com/731217.
"-Wl,--no-as-needed",
"-lfdio",
"-Wl,--as-needed",
]
libs = [ "zircon" ]
}