110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch# Copyright 2014 The Chromium Authors. All rights reserved. 210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch# Use of this source code is governed by a BSD-style license that can be 310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch# found in the LICENSE file. 410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochimport("config.gni") 610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochif (is_clang) { 710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch import("//build/config/clang/clang.gni") 810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch} 910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 107242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccivisibility = [ "//third_party/WebKit/*" ] 1176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 1210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch# features --------------------------------------------------------------------- 1310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 1410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochconfig("features") { 15d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) defines = feature_defines_list 16d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)} 1710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 18d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)# inside_blink ----------------------------------------------------------------- 1910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 20d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)config("inside_blink") { 21d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) defines = [ 22d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) "BLINK_IMPLEMENTATION=1", 23d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) "INSIDE_BLINK", 24d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) ] 2510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch} 2610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 2710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch# config ----------------------------------------------------------------------- 2810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 2910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdochconfig("config") { 3010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch include_dirs = [ ".", ".." ] 3110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 3210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch cflags = [] 3310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch defines = [] 3410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 3510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch if (is_win) { 3610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch cflags += [ 3710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch "/wd4305", # Truncation from 'type1' to 'type2'. 3810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch "/wd4324", # Struct padded due to declspec(align). 3910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch "/wd4714", # Function marked forceinline not inlined. 40f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) "/wd4800", # Value forced to bool. 4110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch "/wd4996", # Deprecated function call. 4210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch ] 4310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } 4410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 4510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch if (is_win) { 4610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch if (component_mode == "shared_library") { 4710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch defines += [ "USING_V8_SHARED" ] 4810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } 4910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } else { # ! Windows 5010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch # TODO(GYP) this should be based on gcc_version >= 46 but GN doesn't have a 5110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch # concept of GCC version yet. 5210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 5310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch # Disable warnings about c++0x compatibility, as some names (such as 5410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch # nullptr) conflict with upcoming c++0x types. 5510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch cflags_cc = [ "-Wno-c++0x-compat" ] 5610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } 5710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 5810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch if (is_linux && cpu_arch == "arm") { 5910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch # Due to a bug in gcc arm, we get warnings about uninitialized 6010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch # timesNewRoman.unstatic.3258 and colorTransparent.unstatic.4879. 6110f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch cflags += [ "-Wno-uninitialized" ] 6210f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } 6310f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch 6410f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch if (is_clang) { 6510f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch if (blink_gc_plugin && clang_use_chrome_plugins) { 6610f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch # TODO(GYP) 6710f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch #'cflags': ['<!@(../../../tools/clang/scripts/blink_gc_plugin_flags.sh enable-oilpan=<(enable_oilpan) dump-graph=<(blink_gc_plugin_dump_graph))'], 6810f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } 6910f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch } 7010f88d5669dbd969c059d61ba09fa37dd72ac559Ben Murdoch} 71d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 72f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)# The follow configs apply to all targets except for unit tests, which rely on 73f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)# static initializers. 74f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)config("non_test_config") { 75f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) cflags = [] 76f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 77f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) if (is_clang) { 78f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) cflags += [ "-Wglobal-constructors" ] 79f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) } 80f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)} 81