| # Copyright 2014 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("config.gni") |
| if (is_clang) { |
| import("//build/config/clang/clang.gni") |
| } |
| if (is_posix) { |
| import("//build/config/gcc/gcc_version.gni") |
| } |
| |
| visibility = ["//sky/*"] |
| |
| # features --------------------------------------------------------------------- |
| |
| config("features") { |
| defines = feature_defines_list |
| } |
| |
| # inside_blink ----------------------------------------------------------------- |
| |
| config("inside_blink") { |
| defines = [ |
| "BLINK_IMPLEMENTATION=1", |
| "INSIDE_BLINK", |
| ] |
| } |
| |
| # config ----------------------------------------------------------------------- |
| |
| config("config") { |
| include_dirs = [ |
| ".", |
| "$root_gen_dir/sky", |
| ] |
| |
| cflags = [] |
| defines = [] |
| |
| if (is_win) { |
| cflags += [ |
| "/wd4065", # Switch statement contains 'default' but no 'case' labels. |
| # In generated parser code. |
| "/wd4305", # Truncation from 'type1' to 'type2'. |
| "/wd4324", # Struct padded due to declspec(align). |
| "/wd4702", # Unreachable code, happens in bison-generated code. |
| "/wd4714", # Function marked forceinline not inlined. |
| "/wd4800", # Value forced to bool. |
| "/wd4996", # Deprecated function call. |
| ] |
| } |
| |
| if (is_win) { |
| if (component_mode == "shared_library") { |
| defines += [ "USING_V8_SHARED" ] |
| } |
| } else { # ! Windows |
| # TODO(GYP) this should be based on gcc_version >= 46 but GN doesn't have a |
| # concept of GCC version yet. |
| |
| # Disable warnings about c++0x compatibility, as some names (such as |
| # nullptr) conflict with upcoming c++0x types. |
| cflags_cc = [ "-Wno-c++0x-compat" ] |
| } |
| |
| if (is_linux && cpu_arch == "arm") { |
| # Due to a bug in gcc arm, we get warnings about uninitialized |
| # timesNewRoman.unstatic.3258 and colorTransparent.unstatic.4879. |
| cflags += [ "-Wno-uninitialized" ] |
| } |
| |
| if (is_posix && gcc_version >= 49) { |
| cflags += [ "-Wno-unused-but-set-variable" ] |
| } |
| |
| if (is_clang) { |
| if (sky_gc_plugin && clang_use_chrome_plugins) { |
| # TODO(GYP) |
| #'cflags': ['<!@(../../tools/clang/scripts/blink_gc_plugin_flags.sh enable-oilpan=<(sky_enable_oilpan) dump-graph=<(sky_gc_plugin_dump_graph))'], |
| } |
| } |
| } |
| |
| # The follow configs apply to all targets except for unit tests, which rely on |
| # static initializers. |
| config("non_test_config") { |
| cflags = [] |
| |
| if (is_clang) { |
| cflags += [ "-Wglobal-constructors" ] |
| } |
| } |