Chromium Code Reviews| Index: build/config/fuchsia/BUILD.gn |
| diff --git a/build/config/fuchsia/BUILD.gn b/build/config/fuchsia/BUILD.gn |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..71d6d664cabfc802124ffe088e3990cfbec34b68 |
| --- /dev/null |
| +++ b/build/config/fuchsia/BUILD.gn |
| @@ -0,0 +1,70 @@ |
| +# Copyright 2017 The Fuchsia 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") |
| + |
| +assert(is_fuchsia) |
| +assert(is_posix) |
| + |
| +config("werror") { |
| + cflags = [ |
| + "-Werror", |
| + |
| + # Declarations marked as deprecated should cause build failures, rather |
| + # they should emit warnings to notify developers about the use of |
| + # deprecated interfaces. |
| + "-Wno-error=deprecated-declarations", |
| + |
| + # Do not add additional -Wno-error to this config. |
| + ] |
| +} |
| + |
| +config("icf") { |
| + # This changes C/C++ semantics and might be incompatible with third-party |
| + # code that relies on function pointers comparison. |
| + ldflags = [ "-Wl,--icf=all" ] |
| +} |
| + |
| +config("compiler") { |
| + cflags = [] |
| + cflags_c = [ "-std=c11" ] |
| + cflags_cc = [ "-std=c++14" ] |
| + ldflags = [ |
| + "-Wl,--threads", |
| + "-lmxio", |
|
jamesr
2017/02/18 00:18:40
could these just go in 'libs' ?
scottmg
2017/02/18 00:25:19
Done.
|
| + "-lmagenta", |
| + "-lunwind", |
| + ] |
| + configs = [ |
| + ":compiler_sysroot", |
| + ":compiler_target", |
| + ":icf", |
| + ":werror", |
| + ] |
| + asmflags = cflags + cflags_c |
| +} |
| + |
| +config("compiler_sysroot") { |
| + # The sole purpose of SYSROOT_VERSION is to change the command line on every |
| + # sysroot update so as to force rebuilds. |
| + defines = [ "SYSROOT_VERSION=$sysroot_version" ] |
| + cflags = [ "--sysroot=" + rebase_path(sysroot, root_build_dir) ] |
| + ldflags = [ "--sysroot=" + rebase_path(sysroot, root_build_dir) ] |
| + asmflags = cflags |
| +} |
| + |
| +config("compiler_target") { |
| + 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 |
| +} |