1 # Copyright (C) 2012 Google Inc. All rights reserved.
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are
7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer
11 # in the documentation and/or other materials provided with the
13 # * Neither the name of Google Inc. nor the names of its
14 # contributors may be used to endorse or promote products derived from
15 # this software without specific prior written permission.
17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 '../build/win/precompile.gypi',
31 '../build/features.gypi',
37 # Disable warnings about c++0x compatibility, as some names (such as nullptr) conflict
38 # with upcoming c++0x types.
39 'cflags_cc': ['-Wno-c++0x-compat'],
45 # This target sets up defines and includes that are required by WTF and
47 'target_name': 'wtf_config',
49 'direct_dependent_settings': {
51 # Import features_defines from features.gypi
52 '<@(feature_defines)',
58 '_CRT_SECURE_NO_DEPRECATE',
59 '_SCL_SECURE_NO_DEPRECATE',
67 'type': '<(component)',
73 '../config.gyp:config',
74 '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
75 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
81 'WTF_IMPLEMENTATION=1',
83 'direct_dependent_settings': {
87 # Some warnings occur in WTF headers, so they must also be disabled
88 # in targets that use WTF.
89 'msvs_disabled_warnings': [
90 # Don't complain about calling specific versions of templatized
91 # functions (e.g. in RefPtrHashMap.h).
93 # Don't complain about using "this" in an initializer list
94 # (e.g. in StringImpl.h).
96 # Disable c4267 warnings until we fix size_t to int truncations.
100 'export_dependent_settings': [
102 '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
103 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
105 # Disable c4267 warnings until we fix size_t to int truncations.
106 'msvs_disabled_warnings': [4127, 4355, 4510, 4512, 4610, 4706, 4068, 4267],
109 'link_settings': { 'libraries': [ '-llog' ] },
112 'link_settings': { 'libraries': [ '-ldl' ] },
116 ['exclude', 'ThreadingPthreads\\.cpp$'],
119 '<(SHARED_INTERMEDIATE_DIR)/blink',
122 ['component=="shared_library"', {
123 # Chromium windows multi-dll build enables C++ exception and this
124 # causes wtf to generate 4291 warning due to operator new/delete
125 # implementations. Disable the warning for chromium windows
127 'msvs_disabled_warnings': [4291],
128 'direct_dependent_settings': {
129 'msvs_disabled_warnings': [4291],
135 ['exclude', 'Win\\.cpp$'],
141 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
142 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
147 ['exclude', 'CF\\.cpp$'],
148 ['exclude', 'Mac\\.mm$'],
149 # mac is the only OS that uses WebKit's copy of TCMalloc.
150 ['exclude', 'TC.*\\.(cpp|h)$'],