OLD | NEW |
| (Empty) |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 config("wtf-config") { | |
6 include_dirs = [ ".." ] | |
7 if (is_win) { | |
8 include_dirs += [ "os-win32" ] | |
9 defines = [ | |
10 "__STD_C", | |
11 "_CRT_SECURE_NO_DEPRECATE", | |
12 "_SCL_SECURE_NO_DEPRECATE", | |
13 "CRASH=__debugbreak", | |
14 ] | |
15 # # Chromium windows multi-dll build enables c++ exception and this | |
16 # # causes wtf generates 4291 warning due to operator new/delete | |
17 # # implementations. Disable the warning for chromium windows | |
18 # # multi-dll build. | |
19 # 'msvs_disabled_warnings': [4291], | |
20 # 'direct_dependent_settings': { | |
21 # 'msvs_disabled_warnings': [4291], | |
22 # }, | |
23 } | |
24 | |
25 if (is_linux) { # (gcc_version >= 46) { | |
26 # Disable warnings about c++0x compatibility, as some names (such as | |
27 # nullptr) conflict with upcoming c++0x types. | |
28 cflags_cc = [ "-Wno-c++0x-compat" ] | |
29 } | |
30 | |
31 # # Some warnings occur in WTF headers, so they must also be disabled | |
32 # # in targets that use WTF. | |
33 # 'msvs_disabled_warnings': [ | |
34 # # Don't complain about calling specific versions of templatized | |
35 # # functions (e.g. in RefPtrHashMap.h). | |
36 # 4344, | |
37 # # Don't complain about using "this" in an initializer list | |
38 # # (e.g. in StringImpl.h). | |
39 # 4355, | |
40 # # Disable c4267 warnings until we fix size_t to int truncations. | |
41 # 4267, | |
42 # ], | |
43 | |
44 } | |
45 | |
46 component("wtf") { | |
47 sources = [ | |
48 "ASCIICType.h", | |
49 "Alignment.h", | |
50 "ArrayBuffer.cpp", | |
51 "ArrayBuffer.h", | |
52 "ArrayBufferContents.cpp", | |
53 "ArrayBufferContents.h", | |
54 "ArrayBufferDeallocationObserver.h", | |
55 "ArrayBufferView.cpp", | |
56 "ArrayBufferView.h", | |
57 "Assertions.cpp", | |
58 "Assertions.h", | |
59 "Atomics.h", | |
60 "AutodrainedPool.h", | |
61 "BitArray.h", | |
62 "BitVector.cpp", | |
63 "BitVector.h", | |
64 "BloomFilter.h", | |
65 "ByteOrder.h", | |
66 "CPU.h", | |
67 "CheckedArithmetic.h", | |
68 "Compiler.h", | |
69 "Complex.h", | |
70 "CryptographicallyRandomNumber.cpp", | |
71 "CryptographicallyRandomNumber.h", | |
72 "CurrentTime.cpp", | |
73 "CurrentTime.h", | |
74 "DataLog.cpp", | |
75 "DataLog.h", | |
76 "DateMath.cpp", | |
77 "DateMath.h", | |
78 "DecimalNumber.cpp", | |
79 "DecimalNumber.h", | |
80 "Deque.h", | |
81 "DoublyLinkedList.h", | |
82 "DynamicAnnotations.cpp", | |
83 "DynamicAnnotations.h", | |
84 "FastAllocBase.h", | |
85 "FastMalloc.cpp", | |
86 "FastMalloc.h", | |
87 "FilePrintStream.cpp", | |
88 "FilePrintStream.h", | |
89 "Float32Array.h", | |
90 "Float64Array.h", | |
91 "Forward.h", | |
92 "Functional.h", | |
93 "GetPtr.h", | |
94 "GregorianDateTime.cpp", | |
95 "GregorianDateTime.h", | |
96 "HashCountedSet.h", | |
97 "HashFunctions.h", | |
98 "HashIterators.h", | |
99 "HashMap.h", | |
100 "HashSet.h", | |
101 "HashTable.cpp", | |
102 "HashTable.h", | |
103 "HashTableDeletedValueType.h", | |
104 "HashTraits.h", | |
105 "HexNumber.h", | |
106 "Int16Array.h", | |
107 "Int32Array.h", | |
108 "Int8Array.h", | |
109 "IntegralTypedArrayBase.h", | |
110 "LeakAnnotations.h", | |
111 "LinkedStack.h", | |
112 "ListHashSet.h", | |
113 "Locker.h", | |
114 "MainThread.cpp", | |
115 "MainThread.h", | |
116 "MallocZoneSupport.h", | |
117 "MathExtras.h", | |
118 "MessageQueue.h", | |
119 "NonCopyingSort.h", | |
120 "Noncopyable.h", | |
121 "NotFound.h", | |
122 "NullPtr.cpp", | |
123 "NullPtr.h", | |
124 "NumberOfCores.cpp", | |
125 "NumberOfCores.h", | |
126 "OwnPtr.h", | |
127 "OwnPtrCommon.h", | |
128 "PageAllocator.cpp", | |
129 "PageAllocator.h", | |
130 "ParallelJobs.h", | |
131 "ParallelJobsLibdispatch.h", | |
132 "PartitionAlloc.cpp", | |
133 "PartitionAlloc.h", | |
134 "PassOwnPtr.h", | |
135 "PassRefPtr.h", | |
136 "PassTraits.h", | |
137 "PrintStream.cpp", | |
138 "PrintStream.h", | |
139 "ProcessID.h", | |
140 "QuantizedAllocation.cpp", | |
141 "QuantizedAllocation.h", | |
142 "RefCounted.h", | |
143 "RefCountedLeakCounter.cpp", | |
144 "RefCountedLeakCounter.h", | |
145 "RefPtr.h", | |
146 "RefPtrHashMap.h", | |
147 "RetainPtr.h", | |
148 "SHA1.cpp", | |
149 "SHA1.h", | |
150 "SaturatedArithmetic.h", | |
151 "SizeLimits.cpp", | |
152 "SpinLock.h", | |
153 "StaticConstructors.h", | |
154 "StdLibExtras.h", | |
155 "StringExtras.h", | |
156 "StringHasher.h", | |
157 "TemporaryChange.h", | |
158 "ThreadFunctionInvocation.h", | |
159 "ThreadRestrictionVerifier.h", | |
160 "ThreadSafeRefCounted.h", | |
161 "ThreadSpecific.h", | |
162 "Threading.cpp", | |
163 "Threading.h", | |
164 "ThreadingPrimitives.h", | |
165 "TypeTraits.cpp", | |
166 "TypeTraits.h", | |
167 "TypedArrayBase.h", | |
168 "Uint16Array.h", | |
169 "Uint32Array.h", | |
170 "Uint8Array.h", | |
171 "UnusedParam.h", | |
172 "VMTags.h", | |
173 "Vector.h", | |
174 "VectorTraits.h", | |
175 "WTF.cpp", | |
176 "WTF.h", | |
177 "WTFExport.h", | |
178 "WTFThreadData.cpp", | |
179 "WTFThreadData.h", | |
180 "WeakPtr.h", | |
181 "dtoa.cpp", | |
182 "dtoa.h", | |
183 "dtoa/bignum-dtoa.cc", | |
184 "dtoa/bignum-dtoa.h", | |
185 "dtoa/bignum.cc", | |
186 "dtoa/bignum.h", | |
187 "dtoa/cached-powers.cc", | |
188 "dtoa/cached-powers.h", | |
189 "dtoa/diy-fp.cc", | |
190 "dtoa/diy-fp.h", | |
191 "dtoa/double-conversion.cc", | |
192 "dtoa/double-conversion.h", | |
193 "dtoa/double.h", | |
194 "dtoa/fast-dtoa.cc", | |
195 "dtoa/fast-dtoa.h", | |
196 "dtoa/fixed-dtoa.cc", | |
197 "dtoa/fixed-dtoa.h", | |
198 "dtoa/strtod.cc", | |
199 "dtoa/strtod.h", | |
200 "dtoa/utils.h", | |
201 "text/ASCIIFastPath.h", | |
202 "text/AtomicString.cpp", | |
203 "text/AtomicString.h", | |
204 "text/AtomicStringHash.h", | |
205 "text/Base64.cpp", | |
206 "text/Base64.h", | |
207 "text/CString.cpp", | |
208 "text/CString.h", | |
209 "text/IntegerToStringConversion.h", | |
210 "text/StringBuffer.h", | |
211 "text/StringBuilder.cpp", | |
212 "text/StringBuilder.h", | |
213 "text/StringConcatenate.h", | |
214 "text/StringHash.h", | |
215 "text/StringImpl.cpp", | |
216 "text/StringImpl.h", | |
217 "text/StringOperators.h", | |
218 "text/StringStatics.cpp", | |
219 "text/StringUTF8Adaptor.h", | |
220 "text/StringView.h", | |
221 "text/TextCodec.cpp", | |
222 "text/TextCodecASCIIFastPath.h", | |
223 "text/TextCodecICU.cpp", | |
224 "text/TextCodecLatin1.cpp", | |
225 "text/TextCodecUTF16.cpp", | |
226 "text/TextCodecUTF8.cpp", | |
227 "text/TextCodecUTF8.h", | |
228 "text/TextCodecUserDefined.cpp", | |
229 "text/TextEncoding.cpp", | |
230 "text/TextEncodingRegistry.cpp", | |
231 "text/TextPosition.cpp", | |
232 "text/TextPosition.h", | |
233 "text/WTFString.cpp", | |
234 "text/WTFString.h", | |
235 "unicode/CharacterNames.h", | |
236 "unicode/Collator.h", | |
237 "unicode/UTF8.cpp", | |
238 "unicode/UTF8.h", | |
239 "unicode/Unicode.h", | |
240 "unicode/icu/CollatorICU.cpp", | |
241 "unicode/icu/UnicodeIcu.h", | |
242 ] | |
243 | |
244 configs -= [ "//build/config/compiler:chromium_code" ] | |
245 configs += [ | |
246 "//build/config/compiler:no_chromium_code", | |
247 ":wtf-config" | |
248 ] | |
249 | |
250 defines = [ "WTF_IMPLEMENTATION=1" ] | |
251 deps = [ | |
252 "//third_party/icu", | |
253 ] | |
254 | |
255 # # Disable c4267 warnings until we fix size_t to int truncations. | |
256 # 'msvs_disabled_warnings': [4127, 4355, 4510, 4512, 4610, 4706, 4068, 4267], | |
257 | |
258 ldflags = [] | |
259 if (is_android) { | |
260 ldflags += [ "-llog" ] | |
261 } | |
262 | |
263 if (is_mac) { | |
264 # 'link_settings': { | |
265 # 'libraries': [ | |
266 # '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework', | |
267 # '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', | |
268 # ] | |
269 # } | |
270 sources += [ | |
271 # mac is the only OS that uses WebKit's copy of TCMalloc. | |
272 "TCPackedCache.h", | |
273 "TCPageMap.h", | |
274 "TCSpinLock.h", | |
275 "TCSystemAlloc.cpp", | |
276 "TCSystemAlloc.h", | |
277 | |
278 "AutodrainedPoolMac.mm", | |
279 "text/AtomicStringCF.cpp", | |
280 "text/StringCF.cpp", | |
281 "text/StringImplCF.cpp", | |
282 "text/StringImplMac.mm", | |
283 "text/StringMac.mm", | |
284 ] | |
285 } | |
286 | |
287 if (is_win) { | |
288 sources += [ | |
289 "ThreadSpecificWin.cpp", | |
290 "ThreadingWin.cpp", | |
291 ] | |
292 # include_dirs -= [ | |
293 # "<(SHARED_INTERMEDIATE_DIR)/blink', | |
294 # ] | |
295 } else { | |
296 sources += [ | |
297 "ThreadIdentifierDataPthreads.cpp", | |
298 "ThreadIdentifierDataPthreads.h", | |
299 "ThreadingPthreads.cpp", | |
300 ] | |
301 } | |
302 } | |
303 | |
304 static_library("run_all_tests") { | |
305 sources = [ "testing/RunAllTests.cpp" ] | |
306 | |
307 configs -= [ "//build/config/compiler:chromium_code" ] | |
308 configs += [ | |
309 "//build/config/compiler:no_chromium_code", | |
310 ":wtf-config", | |
311 ] | |
312 | |
313 deps = [ | |
314 "//base/test:test_support", | |
315 "//testing/gmock", | |
316 "//testing/gtest", | |
317 ":wtf", | |
318 ] | |
319 | |
320 direct_dependent_configs = [ "//testing/gtest:gtest_config" ] | |
321 } | |
322 | |
323 executable("wtf_unittests") { | |
324 sources = [ | |
325 "CheckedArithmeticTest.cpp", | |
326 "FunctionalTest.cpp", | |
327 "HashMapTest.cpp", | |
328 "HashSetTest.cpp", | |
329 "ListHashSetTest.cpp", | |
330 "MathExtrasTest.cpp", | |
331 "PartitionAllocTest.cpp", | |
332 "SHA1Test.cpp", | |
333 "SaturatedArithmeticTest.cpp", | |
334 "StringExtrasTest.cpp", | |
335 "StringHasherTest.cpp", | |
336 "TemporaryChangeTest.cpp", | |
337 "VectorTest.cpp", | |
338 "testing/WTFTestHelpers.h", | |
339 "text/CStringTest.cpp", | |
340 "text/StringBuilderTest.cpp", | |
341 "text/StringImplTest.cpp", | |
342 "text/StringOperatorsTest.cpp", | |
343 "text/WTFStringTest.cpp", | |
344 ] | |
345 | |
346 configs -= [ "//build/config/compiler:chromium_code" ] | |
347 configs += [ | |
348 "//build/config/compiler:no_chromium_code", | |
349 "//third_party/icu:icu_config", | |
350 ":wtf-config", | |
351 ] | |
352 | |
353 deps = [ ":run_all_tests" ] | |
354 | |
355 # # Disable c4267 warnings until we fix size_t to int truncations. | |
356 # 'msvs_disabled_warnings': [4127, 4355, 4510, 4512, 4610, 4706, 4068, 4267], | |
357 | |
358 # if (is_linux && use_tcmalloc) { | |
359 # deps += [ | |
360 # "//base:base", | |
361 # "//base/allocator:allocator", | |
362 # ], | |
363 # } | |
364 } | |
OLD | NEW |