blob: 4f8f0bec66464752ac2fb13b0310b8dd61cb5044 [file] [log] [blame]
# 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" ]
}
}