Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: base/allocator/allocator.gyp

Issue 2332843004: Remove GYP files. (Closed)
Patch Set: Merge Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « android_webview/snapshot_copying.gypi ('k') | base/android/jni_generator/jni_generator.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright (c) 2012 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 {
6 'target_defaults': {
7 'variables': {
8 # This code gets run a lot and debugged rarely, so it should be fast
9 # by default. See http://crbug.com/388949.
10 'debug_optimize': '2',
11 'win_debug_Optimization': '0',
12 # Run time checks are incompatible with any level of optimizations.
13 'win_debug_RuntimeChecks': '0',
14 },
15 },
16 'variables': {
17 'tcmalloc_dir': '../../third_party/tcmalloc/chromium',
18 'use_vtable_verify%': 0,
19 # Provide a way to force disable debugallocation in Debug builds
20 # e.g. for profiling (it's more rare to profile Debug builds,
21 # but people sometimes need to do that).
22 'disable_debugallocation%': 0,
23 },
24 'targets': [
25 # The only targets that should depend on allocator are 'base' and
26 # executables that don't depend, directly or indirectly, on base (a few).
27 # All the other targets get a transitive dependency on this target via base.
28 {
29 'target_name': 'allocator',
30 'variables': {
31 'conditions': [
32 ['use_allocator!="none" or (OS=="win" and win_use_allocator_shim==1)', {
33 'allocator_target_type%': 'static_library',
34 }, {
35 'allocator_target_type%': 'none',
36 }],
37 ],
38 },
39 'type': '<(allocator_target_type)',
40 'toolsets': ['host', 'target'],
41 'conditions': [
42 ['OS=="win" and win_use_allocator_shim==1', {
43 'msvs_settings': {
44 # TODO(sgk): merge this with build/common.gypi settings
45 'VCLibrarianTool': {
46 'AdditionalOptions': ['/ignore:4006,4221'],
47 },
48 'VCLinkerTool': {
49 'AdditionalOptions': ['/ignore:4006'],
50 },
51 },
52 'include_dirs': [
53 '../..',
54 ],
55 'sources': [
56 'allocator_shim_win.cc',
57 'allocator_shim_win.h',
58 'winheap_stubs_win.cc',
59 'winheap_stubs_win.h',
60 ],
61 'configurations': {
62 'Debug_Base': {
63 'msvs_settings': {
64 'VCCLCompilerTool': {
65 'RuntimeLibrary': '0',
66 },
67 },
68 },
69 },
70 }], # OS=="win"
71 ['use_allocator=="tcmalloc"', {
72 # Disable the heap checker in tcmalloc.
73 'defines': [
74 'NO_HEAP_CHECK',
75 ],
76 'dependencies': [
77 '../third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_ annotations',
78 ],
79 # The order of this include_dirs matters, as tc-malloc has its own
80 # base/ mini-fork. Do not factor these out of this conditions section.
81 'include_dirs': [
82 '.',
83 '<(tcmalloc_dir)/src/base',
84 '<(tcmalloc_dir)/src',
85 '../..',
86 ],
87 'sources': [
88 # Generated for our configuration from tcmalloc's build
89 # and checked in.
90 '<(tcmalloc_dir)/src/config.h',
91 '<(tcmalloc_dir)/src/config_android.h',
92 '<(tcmalloc_dir)/src/config_linux.h',
93 '<(tcmalloc_dir)/src/config_win.h',
94
95 # all tcmalloc native and forked files
96 '<(tcmalloc_dir)/src/addressmap-inl.h',
97 '<(tcmalloc_dir)/src/base/abort.cc',
98 '<(tcmalloc_dir)/src/base/abort.h',
99 '<(tcmalloc_dir)/src/base/arm_instruction_set_select.h',
100 '<(tcmalloc_dir)/src/base/atomicops-internals-arm-generic.h',
101 '<(tcmalloc_dir)/src/base/atomicops-internals-arm-v6plus.h',
102 '<(tcmalloc_dir)/src/base/atomicops-internals-linuxppc.h',
103 '<(tcmalloc_dir)/src/base/atomicops-internals-macosx.h',
104 '<(tcmalloc_dir)/src/base/atomicops-internals-windows.h',
105 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.cc',
106 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.h',
107 '<(tcmalloc_dir)/src/base/atomicops.h',
108 '<(tcmalloc_dir)/src/base/commandlineflags.h',
109 '<(tcmalloc_dir)/src/base/cycleclock.h',
110 # We don't list dynamic_annotations.c since its copy is already
111 # present in the dynamic_annotations target.
112 '<(tcmalloc_dir)/src/base/dynamic_annotations.h',
113 '<(tcmalloc_dir)/src/base/elf_mem_image.cc',
114 '<(tcmalloc_dir)/src/base/elf_mem_image.h',
115 '<(tcmalloc_dir)/src/base/elfcore.h',
116 '<(tcmalloc_dir)/src/base/googleinit.h',
117 '<(tcmalloc_dir)/src/base/linux_syscall_support.h',
118 '<(tcmalloc_dir)/src/base/linuxthreads.cc',
119 '<(tcmalloc_dir)/src/base/linuxthreads.h',
120 '<(tcmalloc_dir)/src/base/logging.cc',
121 '<(tcmalloc_dir)/src/base/logging.h',
122 '<(tcmalloc_dir)/src/base/low_level_alloc.cc',
123 '<(tcmalloc_dir)/src/base/low_level_alloc.h',
124 '<(tcmalloc_dir)/src/base/simple_mutex.h',
125 '<(tcmalloc_dir)/src/base/spinlock.cc',
126 '<(tcmalloc_dir)/src/base/spinlock.h',
127 '<(tcmalloc_dir)/src/base/spinlock_internal.cc',
128 '<(tcmalloc_dir)/src/base/spinlock_internal.h',
129 '<(tcmalloc_dir)/src/base/spinlock_linux-inl.h',
130 '<(tcmalloc_dir)/src/base/spinlock_posix-inl.h',
131 '<(tcmalloc_dir)/src/base/spinlock_win32-inl.h',
132 '<(tcmalloc_dir)/src/base/stl_allocator.h',
133 '<(tcmalloc_dir)/src/base/synchronization_profiling.h',
134 '<(tcmalloc_dir)/src/base/sysinfo.cc',
135 '<(tcmalloc_dir)/src/base/sysinfo.h',
136 '<(tcmalloc_dir)/src/base/thread_annotations.h',
137 '<(tcmalloc_dir)/src/base/thread_lister.c',
138 '<(tcmalloc_dir)/src/base/thread_lister.h',
139 '<(tcmalloc_dir)/src/base/vdso_support.cc',
140 '<(tcmalloc_dir)/src/base/vdso_support.h',
141 '<(tcmalloc_dir)/src/central_freelist.cc',
142 '<(tcmalloc_dir)/src/central_freelist.h',
143 '<(tcmalloc_dir)/src/common.cc',
144 '<(tcmalloc_dir)/src/common.h',
145 '<(tcmalloc_dir)/src/debugallocation.cc',
146 '<(tcmalloc_dir)/src/free_list.cc',
147 '<(tcmalloc_dir)/src/free_list.h',
148 '<(tcmalloc_dir)/src/getpc.h',
149 '<(tcmalloc_dir)/src/gperftools/heap-checker.h',
150 '<(tcmalloc_dir)/src/gperftools/heap-profiler.h',
151 '<(tcmalloc_dir)/src/gperftools/malloc_extension.h',
152 '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h',
153 '<(tcmalloc_dir)/src/gperftools/malloc_hook.h',
154 '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h',
155 '<(tcmalloc_dir)/src/gperftools/profiler.h',
156 '<(tcmalloc_dir)/src/gperftools/stacktrace.h',
157 '<(tcmalloc_dir)/src/gperftools/tcmalloc.h',
158 '<(tcmalloc_dir)/src/heap-checker-bcad.cc',
159 '<(tcmalloc_dir)/src/heap-checker.cc',
160 '<(tcmalloc_dir)/src/heap-profile-table.cc',
161 '<(tcmalloc_dir)/src/heap-profile-table.h',
162 '<(tcmalloc_dir)/src/heap-profiler.cc',
163 '<(tcmalloc_dir)/src/internal_logging.cc',
164 '<(tcmalloc_dir)/src/internal_logging.h',
165 '<(tcmalloc_dir)/src/libc_override.h',
166 '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h',
167 '<(tcmalloc_dir)/src/libc_override_glibc.h',
168 '<(tcmalloc_dir)/src/libc_override_osx.h',
169 '<(tcmalloc_dir)/src/libc_override_redefine.h',
170 '<(tcmalloc_dir)/src/linked_list.h',
171 '<(tcmalloc_dir)/src/malloc_extension.cc',
172 '<(tcmalloc_dir)/src/malloc_hook-inl.h',
173 '<(tcmalloc_dir)/src/malloc_hook.cc',
174 '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h',
175 '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h',
176 '<(tcmalloc_dir)/src/maybe_threads.cc',
177 '<(tcmalloc_dir)/src/maybe_threads.h',
178 '<(tcmalloc_dir)/src/memfs_malloc.cc',
179 '<(tcmalloc_dir)/src/memory_region_map.cc',
180 '<(tcmalloc_dir)/src/memory_region_map.h',
181 '<(tcmalloc_dir)/src/packed-cache-inl.h',
182 '<(tcmalloc_dir)/src/page_heap.cc',
183 '<(tcmalloc_dir)/src/page_heap.h',
184 '<(tcmalloc_dir)/src/page_heap_allocator.h',
185 '<(tcmalloc_dir)/src/pagemap.h',
186 '<(tcmalloc_dir)/src/profile-handler.cc',
187 '<(tcmalloc_dir)/src/profile-handler.h',
188 '<(tcmalloc_dir)/src/profiledata.cc',
189 '<(tcmalloc_dir)/src/profiledata.h',
190 '<(tcmalloc_dir)/src/profiler.cc',
191 '<(tcmalloc_dir)/src/raw_printer.cc',
192 '<(tcmalloc_dir)/src/raw_printer.h',
193 '<(tcmalloc_dir)/src/sampler.cc',
194 '<(tcmalloc_dir)/src/sampler.h',
195 '<(tcmalloc_dir)/src/span.cc',
196 '<(tcmalloc_dir)/src/span.h',
197 '<(tcmalloc_dir)/src/stack_trace_table.cc',
198 '<(tcmalloc_dir)/src/stack_trace_table.h',
199 '<(tcmalloc_dir)/src/stacktrace.cc',
200 '<(tcmalloc_dir)/src/stacktrace_arm-inl.h',
201 '<(tcmalloc_dir)/src/stacktrace_config.h',
202 '<(tcmalloc_dir)/src/stacktrace_generic-inl.h',
203 '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h',
204 '<(tcmalloc_dir)/src/stacktrace_powerpc-inl.h',
205 '<(tcmalloc_dir)/src/stacktrace_win32-inl.h',
206 '<(tcmalloc_dir)/src/stacktrace_with_context.cc',
207 '<(tcmalloc_dir)/src/stacktrace_x86-inl.h',
208 '<(tcmalloc_dir)/src/static_vars.cc',
209 '<(tcmalloc_dir)/src/static_vars.h',
210 '<(tcmalloc_dir)/src/symbolize.cc',
211 '<(tcmalloc_dir)/src/symbolize.h',
212 '<(tcmalloc_dir)/src/system-alloc.cc',
213 '<(tcmalloc_dir)/src/system-alloc.h',
214 '<(tcmalloc_dir)/src/tcmalloc.cc',
215 '<(tcmalloc_dir)/src/tcmalloc_guard.h',
216 '<(tcmalloc_dir)/src/thread_cache.cc',
217 '<(tcmalloc_dir)/src/thread_cache.h',
218
219 'debugallocation_shim.cc',
220 ],
221 # sources! means that these are not compiled directly.
222 'sources!': [
223 # We simply don't use these, but list them above so that IDE
224 # users can view the full available source for reference, etc.
225 '<(tcmalloc_dir)/src/addressmap-inl.h',
226 '<(tcmalloc_dir)/src/base/atomicops-internals-linuxppc.h',
227 '<(tcmalloc_dir)/src/base/atomicops-internals-macosx.h',
228 '<(tcmalloc_dir)/src/base/atomicops-internals-x86-msvc.h',
229 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.h',
230 '<(tcmalloc_dir)/src/base/atomicops.h',
231 '<(tcmalloc_dir)/src/base/commandlineflags.h',
232 '<(tcmalloc_dir)/src/base/cycleclock.h',
233 '<(tcmalloc_dir)/src/base/elf_mem_image.h',
234 '<(tcmalloc_dir)/src/base/elfcore.h',
235 '<(tcmalloc_dir)/src/base/googleinit.h',
236 '<(tcmalloc_dir)/src/base/linux_syscall_support.h',
237 '<(tcmalloc_dir)/src/base/simple_mutex.h',
238 '<(tcmalloc_dir)/src/base/spinlock_linux-inl.h',
239 '<(tcmalloc_dir)/src/base/spinlock_posix-inl.h',
240 '<(tcmalloc_dir)/src/base/spinlock_win32-inl.h',
241 '<(tcmalloc_dir)/src/base/stl_allocator.h',
242 '<(tcmalloc_dir)/src/base/thread_annotations.h',
243 '<(tcmalloc_dir)/src/getpc.h',
244 '<(tcmalloc_dir)/src/gperftools/heap-checker.h',
245 '<(tcmalloc_dir)/src/gperftools/heap-profiler.h',
246 '<(tcmalloc_dir)/src/gperftools/malloc_extension.h',
247 '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h',
248 '<(tcmalloc_dir)/src/gperftools/malloc_hook.h',
249 '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h',
250 '<(tcmalloc_dir)/src/gperftools/profiler.h',
251 '<(tcmalloc_dir)/src/gperftools/stacktrace.h',
252 '<(tcmalloc_dir)/src/gperftools/tcmalloc.h',
253 '<(tcmalloc_dir)/src/heap-checker-bcad.cc',
254 '<(tcmalloc_dir)/src/heap-checker.cc',
255 '<(tcmalloc_dir)/src/libc_override.h',
256 '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h',
257 '<(tcmalloc_dir)/src/libc_override_glibc.h',
258 '<(tcmalloc_dir)/src/libc_override_osx.h',
259 '<(tcmalloc_dir)/src/libc_override_redefine.h',
260 '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h',
261 '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h',
262 '<(tcmalloc_dir)/src/memfs_malloc.cc',
263 '<(tcmalloc_dir)/src/packed-cache-inl.h',
264 '<(tcmalloc_dir)/src/page_heap_allocator.h',
265 '<(tcmalloc_dir)/src/pagemap.h',
266 '<(tcmalloc_dir)/src/stacktrace_arm-inl.h',
267 '<(tcmalloc_dir)/src/stacktrace_config.h',
268 '<(tcmalloc_dir)/src/stacktrace_generic-inl.h',
269 '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h',
270 '<(tcmalloc_dir)/src/stacktrace_powerpc-inl.h',
271 '<(tcmalloc_dir)/src/stacktrace_win32-inl.h',
272 '<(tcmalloc_dir)/src/stacktrace_with_context.cc',
273 '<(tcmalloc_dir)/src/stacktrace_x86-inl.h',
274 '<(tcmalloc_dir)/src/tcmalloc_guard.h',
275
276 # Included by debugallocation_shim.cc.
277 '<(tcmalloc_dir)/src/debugallocation.cc',
278 '<(tcmalloc_dir)/src/tcmalloc.cc',
279 ],
280 'variables': {
281 'clang_warning_flags': [
282 # tcmalloc initializes some fields in the wrong order.
283 '-Wno-reorder',
284 # tcmalloc contains some unused local template specializations.
285 '-Wno-unused-function',
286 # tcmalloc uses COMPILE_ASSERT without static_assert but with
287 # typedefs.
288 '-Wno-unused-local-typedefs',
289 # for magic2_ in debugallocation.cc (only built in Debug builds)
290 # typedefs.
291 '-Wno-unused-private-field',
292 ],
293 },
294 'conditions': [
295 ['OS=="linux" or OS=="freebsd" or OS=="solaris" or OS=="android"', {
296 'sources!': [
297 '<(tcmalloc_dir)/src/system-alloc.h',
298 ],
299 # We enable all warnings by default, but upstream disables a few.
300 # Keep "-Wno-*" flags in sync with upstream by comparing against:
301 # http://code.google.com/p/google-perftools/source/browse/trunk/Ma kefile.am
302 'cflags': [
303 '-Wno-sign-compare',
304 '-Wno-unused-result',
305 ],
306 'link_settings': {
307 'ldflags': [
308 # Don't let linker rip this symbol out, otherwise the heap&cpu
309 # profilers will not initialize properly on startup.
310 '-Wl,-uIsHeapProfilerRunning,-uProfilerStart',
311 # Do the same for heap leak checker.
312 '-Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_M MapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi',
313 '-Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_M MapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl',
314 '-Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakC hecker14UnIgnoreObjectEPKv',
315 ],
316 },
317 # Compiling tcmalloc with -fvisibility=default is only necessary w hen
318 # not using the allocator shim, which provides the correct visibil ity
319 # annotations for those symbols which need to be exported (see
320 # //base/allocator/allocator_shim_override_glibc_weak_symbols.h an d
321 # //base/allocator/allocator_shim_internals.h for the definition o f
322 # SHIM_ALWAYS_EXPORT).
323 'conditions': [
324 ['use_experimental_allocator_shim==0', {
325 'cflags!': [
326 '-fvisibility=hidden',
327 ],
328 }],
329 ],
330 }],
331 ['profiling!=1', {
332 'sources!': [
333 # cpuprofiler
334 '<(tcmalloc_dir)/src/base/thread_lister.c',
335 '<(tcmalloc_dir)/src/base/thread_lister.h',
336 '<(tcmalloc_dir)/src/profile-handler.cc',
337 '<(tcmalloc_dir)/src/profile-handler.h',
338 '<(tcmalloc_dir)/src/profiledata.cc',
339 '<(tcmalloc_dir)/src/profiledata.h',
340 '<(tcmalloc_dir)/src/profiler.cc',
341 ],
342 }],
343 ['use_experimental_allocator_shim==1', {
344 'defines': [
345 'TCMALLOC_DONT_REPLACE_SYSTEM_ALLOC',
346 ],
347 }]
348 ],
349 'configurations': {
350 'Debug_Base': {
351 'conditions': [
352 ['disable_debugallocation==0', {
353 'defines': [
354 # Use debugallocation for Debug builds to catch problems
355 # early and cleanly, http://crbug.com/30715 .
356 'TCMALLOC_FOR_DEBUGALLOCATION',
357 ],
358 }],
359 ],
360 },
361 },
362 }], # use_allocator=="tcmalloc
363 # For CrOS builds with vtable verification. According to the author of
364 # crrev.com/10854031 this is used in conjuction with some other CrOS
365 # build flag, to enable verification of any allocator that uses virtual
366 # function calls.
367 ['use_vtable_verify==1', {
368 'cflags': [
369 '-fvtable-verify=preinit',
370 ],
371 }],
372 ['order_profiling != 0', {
373 'target_conditions' : [
374 ['_toolset=="target"', {
375 'cflags!': [ '-finstrument-functions' ],
376 }],
377 ],
378 }],
379 ], # conditions of 'allocator' target.
380 }, # 'allocator' target.
381 {
382 # GN: //base/allocator:features
383 # When referenced from a target that might be compiled in the host
384 # toolchain, always refer to 'allocator_features#target'.
385 'target_name': 'allocator_features',
386 'includes': [ '../../build/buildflag_header.gypi' ],
387 'variables': {
388 'buildflag_header_path': 'base/allocator/features.h',
389 'buildflag_flags': [
390 'USE_EXPERIMENTAL_ALLOCATOR_SHIM=<(use_experimental_allocator_shim)',
391 ],
392 'conditions': [
393 ['<(use_experimental_allocator_shim) or <(win_use_allocator_shim)',
394 {'buildflag_flags': [ 'ENABLE_WIN_ALLOCATOR_SHIM_TESTS=1' ],},
395 {'buildflag_flags': [ 'ENABLE_WIN_ALLOCATOR_SHIM_TESTS=0' ],}
396 ],
397 ],
398 },
399 }, # 'allocator_features' target.
400 ], # targets.
401 'conditions': [
402 ['use_experimental_allocator_shim==1', {
403 'targets': [
404 {
405 # GN: //base/allocator:unified_allocator_shim
406 'target_name': 'unified_allocator_shim',
407 'toolsets': ['host', 'target'],
408 'type': 'static_library',
409 'defines': [ 'BASE_IMPLEMENTATION' ],
410 'sources': [
411 'allocator_shim.cc',
412 'allocator_shim.h',
413 'allocator_shim_internals.h',
414 'allocator_shim_override_cpp_symbols.h',
415 'allocator_shim_override_libc_symbols.h',
416 ],
417 'include_dirs': [
418 '../..',
419 ],
420 'conditions': [
421 ['OS=="linux" and use_allocator=="tcmalloc"', {
422 'sources': [
423 'allocator_shim_default_dispatch_to_tcmalloc.cc',
424 'allocator_shim_override_glibc_weak_symbols.h',
425 ],
426 }],
427 ['use_allocator=="none" and (OS=="linux" or (OS=="android" and _tool set == "host" and host_os == "linux"))', {
428 'sources': [
429 'allocator_shim_default_dispatch_to_glibc.cc',
430 ],
431 }],
432 ['OS=="android" and _toolset == "target"', {
433 'sources': [
434 'allocator_shim_default_dispatch_to_linker_wrapped_symbols.cc',
435 'allocator_shim_override_linker_wrapped_symbols.h',
436 ],
437 # On Android all references to malloc & friends symbols are
438 # rewritten, at link time, and routed to the shim.
439 # See //base/allocator/README.md.
440 'all_dependent_settings': {
441 'ldflags': [
442 '-Wl,-wrap,calloc',
443 '-Wl,-wrap,free',
444 '-Wl,-wrap,malloc',
445 '-Wl,-wrap,memalign',
446 '-Wl,-wrap,posix_memalign',
447 '-Wl,-wrap,pvalloc',
448 '-Wl,-wrap,realloc',
449 '-Wl,-wrap,valloc',
450 ],
451 },
452 }],
453 ]
454 }, # 'unified_allocator_shim' target.
455 ],
456 }]
457 ],
458 }
OLDNEW
« no previous file with comments | « android_webview/snapshot_copying.gypi ('k') | base/android/jni_generator/jni_generator.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698