OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'target_defaults': { | 6 'target_defaults': { |
7 'variables': { | 7 'variables': { |
8 # This code gets run a lot and debugged rarely, so it should be fast | 8 # This code gets run a lot and debugged rarely, so it should be fast |
9 # by default. See http://crbug.com/388949. | 9 # by default. See http://crbug.com/388949. |
10 'debug_optimize': '2', | 10 'debug_optimize': '2', |
(...skipping 11 matching lines...) Expand all Loading... |
22 # allocator target; only the application (the final executable) | 22 # allocator target; only the application (the final executable) |
23 # knows what allocator makes sense. | 23 # knows what allocator makes sense. |
24 { | 24 { |
25 'target_name': 'allocator', | 25 'target_name': 'allocator', |
26 'type': 'static_library', | 26 'type': 'static_library', |
27 # Make sure the allocation library is optimized to | 27 # Make sure the allocation library is optimized to |
28 # the hilt in official builds. | 28 # the hilt in official builds. |
29 'variables': { | 29 'variables': { |
30 'optimize': 'max', | 30 'optimize': 'max', |
31 }, | 31 }, |
32 'include_dirs': [ | |
33 '.', | |
34 '<(tcmalloc_dir)/src/base', | |
35 '<(tcmalloc_dir)/src', | |
36 '../..', | |
37 ], | |
38 'direct_dependent_settings': { | 32 'direct_dependent_settings': { |
39 'configurations': { | 33 'configurations': { |
40 'Common_Base': { | 34 'Common_Base': { |
41 'msvs_settings': { | 35 'msvs_settings': { |
42 'VCLinkerTool': { | 36 'VCLinkerTool': { |
43 'IgnoreDefaultLibraryNames': ['libcmtd.lib', 'libcmt.lib'], | 37 'IgnoreDefaultLibraryNames': ['libcmtd.lib', 'libcmt.lib'], |
44 'AdditionalDependencies': [ | 38 'AdditionalDependencies': [ |
45 '<(SHARED_INTERMEDIATE_DIR)/allocator/libcmt.lib' | 39 '<(SHARED_INTERMEDIATE_DIR)/allocator/libcmt.lib' |
46 ], | 40 ], |
47 }, | 41 }, |
48 }, | 42 }, |
49 }, | 43 }, |
50 }, | 44 }, |
51 'conditions': [ | 45 'conditions': [ |
52 ['OS=="win"', { | 46 ['OS=="win"', { |
53 'defines': [ | 47 'defines': [ |
54 'PERFTOOLS_DLL_DECL=', | 48 'PERFTOOLS_DLL_DECL=', |
55 ], | 49 ], |
56 }], | 50 }], |
57 ], | 51 ], |
58 }, | 52 }, |
59 'sources': [ | |
60 # Generated for our configuration from tcmalloc's build | |
61 # and checked in. | |
62 '<(tcmalloc_dir)/src/config.h', | |
63 '<(tcmalloc_dir)/src/config_android.h', | |
64 '<(tcmalloc_dir)/src/config_linux.h', | |
65 '<(tcmalloc_dir)/src/config_win.h', | |
66 | |
67 # all tcmalloc native and forked files | |
68 '<(tcmalloc_dir)/src/addressmap-inl.h', | |
69 '<(tcmalloc_dir)/src/base/abort.cc', | |
70 '<(tcmalloc_dir)/src/base/abort.h', | |
71 '<(tcmalloc_dir)/src/base/arm_instruction_set_select.h', | |
72 '<(tcmalloc_dir)/src/base/atomicops-internals-linuxppc.h', | |
73 '<(tcmalloc_dir)/src/base/atomicops-internals-arm-generic.h', | |
74 '<(tcmalloc_dir)/src/base/atomicops-internals-arm-v6plus.h', | |
75 '<(tcmalloc_dir)/src/base/atomicops-internals-macosx.h', | |
76 '<(tcmalloc_dir)/src/base/atomicops-internals-windows.h', | |
77 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.cc', | |
78 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.h', | |
79 '<(tcmalloc_dir)/src/base/atomicops.h', | |
80 '<(tcmalloc_dir)/src/base/basictypes.h', | |
81 '<(tcmalloc_dir)/src/base/commandlineflags.h', | |
82 '<(tcmalloc_dir)/src/base/cycleclock.h', | |
83 # We don't list dynamic_annotations.c since its copy is already | |
84 # present in the dynamic_annotations target. | |
85 '<(tcmalloc_dir)/src/base/dynamic_annotations.h', | |
86 '<(tcmalloc_dir)/src/base/elf_mem_image.cc', | |
87 '<(tcmalloc_dir)/src/base/elf_mem_image.h', | |
88 '<(tcmalloc_dir)/src/base/elfcore.h', | |
89 '<(tcmalloc_dir)/src/base/googleinit.h', | |
90 '<(tcmalloc_dir)/src/base/linux_syscall_support.h', | |
91 '<(tcmalloc_dir)/src/base/linuxthreads.cc', | |
92 '<(tcmalloc_dir)/src/base/linuxthreads.h', | |
93 '<(tcmalloc_dir)/src/base/logging.cc', | |
94 '<(tcmalloc_dir)/src/base/logging.h', | |
95 '<(tcmalloc_dir)/src/base/low_level_alloc.cc', | |
96 '<(tcmalloc_dir)/src/base/low_level_alloc.h', | |
97 '<(tcmalloc_dir)/src/base/simple_mutex.h', | |
98 '<(tcmalloc_dir)/src/base/spinlock.cc', | |
99 '<(tcmalloc_dir)/src/base/spinlock.h', | |
100 '<(tcmalloc_dir)/src/base/spinlock_internal.cc', | |
101 '<(tcmalloc_dir)/src/base/spinlock_internal.h', | |
102 '<(tcmalloc_dir)/src/base/spinlock_linux-inl.h', | |
103 '<(tcmalloc_dir)/src/base/spinlock_posix-inl.h', | |
104 '<(tcmalloc_dir)/src/base/spinlock_win32-inl.h', | |
105 '<(tcmalloc_dir)/src/base/stl_allocator.h', | |
106 '<(tcmalloc_dir)/src/base/synchronization_profiling.h', | |
107 '<(tcmalloc_dir)/src/base/sysinfo.cc', | |
108 '<(tcmalloc_dir)/src/base/sysinfo.h', | |
109 '<(tcmalloc_dir)/src/base/thread_annotations.h', | |
110 '<(tcmalloc_dir)/src/base/thread_lister.c', | |
111 '<(tcmalloc_dir)/src/base/thread_lister.h', | |
112 '<(tcmalloc_dir)/src/base/vdso_support.cc', | |
113 '<(tcmalloc_dir)/src/base/vdso_support.h', | |
114 '<(tcmalloc_dir)/src/central_freelist.cc', | |
115 '<(tcmalloc_dir)/src/central_freelist.h', | |
116 '<(tcmalloc_dir)/src/common.cc', | |
117 '<(tcmalloc_dir)/src/common.h', | |
118 '<(tcmalloc_dir)/src/debugallocation.cc', | |
119 '<(tcmalloc_dir)/src/deep-heap-profile.cc', | |
120 '<(tcmalloc_dir)/src/deep-heap-profile.h', | |
121 '<(tcmalloc_dir)/src/free_list.cc', | |
122 '<(tcmalloc_dir)/src/free_list.h', | |
123 '<(tcmalloc_dir)/src/getpc.h', | |
124 '<(tcmalloc_dir)/src/gperftools/heap-checker.h', | |
125 '<(tcmalloc_dir)/src/gperftools/heap-profiler.h', | |
126 '<(tcmalloc_dir)/src/gperftools/malloc_extension.h', | |
127 '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h', | |
128 '<(tcmalloc_dir)/src/gperftools/malloc_hook.h', | |
129 '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h', | |
130 '<(tcmalloc_dir)/src/gperftools/profiler.h', | |
131 '<(tcmalloc_dir)/src/gperftools/stacktrace.h', | |
132 '<(tcmalloc_dir)/src/gperftools/tcmalloc.h', | |
133 '<(tcmalloc_dir)/src/heap-checker-bcad.cc', | |
134 '<(tcmalloc_dir)/src/heap-checker.cc', | |
135 '<(tcmalloc_dir)/src/heap-profile-table.cc', | |
136 '<(tcmalloc_dir)/src/heap-profile-table.h', | |
137 '<(tcmalloc_dir)/src/heap-profiler.cc', | |
138 '<(tcmalloc_dir)/src/internal_logging.cc', | |
139 '<(tcmalloc_dir)/src/internal_logging.h', | |
140 '<(tcmalloc_dir)/src/libc_override.h', | |
141 '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h', | |
142 '<(tcmalloc_dir)/src/libc_override_glibc.h', | |
143 '<(tcmalloc_dir)/src/libc_override_osx.h', | |
144 '<(tcmalloc_dir)/src/libc_override_redefine.h', | |
145 '<(tcmalloc_dir)/src/linked_list.h', | |
146 '<(tcmalloc_dir)/src/malloc_extension.cc', | |
147 '<(tcmalloc_dir)/src/malloc_hook-inl.h', | |
148 '<(tcmalloc_dir)/src/malloc_hook.cc', | |
149 '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h', | |
150 '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h', | |
151 '<(tcmalloc_dir)/src/maybe_threads.cc', | |
152 '<(tcmalloc_dir)/src/maybe_threads.h', | |
153 '<(tcmalloc_dir)/src/memfs_malloc.cc', | |
154 '<(tcmalloc_dir)/src/memory_region_map.cc', | |
155 '<(tcmalloc_dir)/src/memory_region_map.h', | |
156 '<(tcmalloc_dir)/src/packed-cache-inl.h', | |
157 '<(tcmalloc_dir)/src/page_heap.cc', | |
158 '<(tcmalloc_dir)/src/page_heap.h', | |
159 '<(tcmalloc_dir)/src/page_heap_allocator.h', | |
160 '<(tcmalloc_dir)/src/pagemap.h', | |
161 '<(tcmalloc_dir)/src/profile-handler.cc', | |
162 '<(tcmalloc_dir)/src/profile-handler.h', | |
163 '<(tcmalloc_dir)/src/profiledata.cc', | |
164 '<(tcmalloc_dir)/src/profiledata.h', | |
165 '<(tcmalloc_dir)/src/profiler.cc', | |
166 '<(tcmalloc_dir)/src/raw_printer.cc', | |
167 '<(tcmalloc_dir)/src/raw_printer.h', | |
168 '<(tcmalloc_dir)/src/sampler.cc', | |
169 '<(tcmalloc_dir)/src/sampler.h', | |
170 '<(tcmalloc_dir)/src/span.cc', | |
171 '<(tcmalloc_dir)/src/span.h', | |
172 '<(tcmalloc_dir)/src/stack_trace_table.cc', | |
173 '<(tcmalloc_dir)/src/stack_trace_table.h', | |
174 '<(tcmalloc_dir)/src/stacktrace.cc', | |
175 '<(tcmalloc_dir)/src/stacktrace_arm-inl.h', | |
176 '<(tcmalloc_dir)/src/stacktrace_config.h', | |
177 '<(tcmalloc_dir)/src/stacktrace_generic-inl.h', | |
178 '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h', | |
179 '<(tcmalloc_dir)/src/stacktrace_powerpc-inl.h', | |
180 '<(tcmalloc_dir)/src/stacktrace_win32-inl.h', | |
181 '<(tcmalloc_dir)/src/stacktrace_with_context.cc', | |
182 '<(tcmalloc_dir)/src/stacktrace_x86-inl.h', | |
183 '<(tcmalloc_dir)/src/static_vars.cc', | |
184 '<(tcmalloc_dir)/src/static_vars.h', | |
185 '<(tcmalloc_dir)/src/symbolize.cc', | |
186 '<(tcmalloc_dir)/src/symbolize.h', | |
187 '<(tcmalloc_dir)/src/system-alloc.cc', | |
188 '<(tcmalloc_dir)/src/system-alloc.h', | |
189 '<(tcmalloc_dir)/src/tcmalloc.cc', | |
190 '<(tcmalloc_dir)/src/tcmalloc_guard.h', | |
191 '<(tcmalloc_dir)/src/thread_cache.cc', | |
192 '<(tcmalloc_dir)/src/thread_cache.h', | |
193 '<(tcmalloc_dir)/src/windows/config.h', | |
194 '<(tcmalloc_dir)/src/windows/get_mangled_names.cc', | |
195 '<(tcmalloc_dir)/src/windows/gperftools/tcmalloc.h', | |
196 '<(tcmalloc_dir)/src/windows/ia32_modrm_map.cc', | |
197 '<(tcmalloc_dir)/src/windows/ia32_opcode_map.cc', | |
198 '<(tcmalloc_dir)/src/windows/mingw.h', | |
199 '<(tcmalloc_dir)/src/windows/mini_disassembler.cc', | |
200 '<(tcmalloc_dir)/src/windows/mini_disassembler.h', | |
201 '<(tcmalloc_dir)/src/windows/mini_disassembler_types.h', | |
202 '<(tcmalloc_dir)/src/windows/override_functions.cc', | |
203 '<(tcmalloc_dir)/src/windows/patch_functions.cc', | |
204 '<(tcmalloc_dir)/src/windows/port.cc', | |
205 '<(tcmalloc_dir)/src/windows/port.h', | |
206 '<(tcmalloc_dir)/src/windows/preamble_patcher.cc', | |
207 '<(tcmalloc_dir)/src/windows/preamble_patcher.h', | |
208 '<(tcmalloc_dir)/src/windows/preamble_patcher_with_stub.cc', | |
209 | |
210 'allocator_shim.cc', | |
211 'allocator_shim.h', | |
212 'debugallocation_shim.cc', | |
213 'generic_allocators.cc', | |
214 'win_allocator.cc', | |
215 ], | |
216 # sources! means that these are not compiled directly. | |
217 'sources!': [ | |
218 # Included by allocator_shim.cc for maximal inlining. | |
219 'generic_allocators.cc', | |
220 'win_allocator.cc', | |
221 | |
222 # Included by debugallocation_shim.cc. | |
223 '<(tcmalloc_dir)/src/debugallocation.cc', | |
224 '<(tcmalloc_dir)/src/tcmalloc.cc', | |
225 | |
226 # We simply don't use these, but list them above so that IDE | |
227 # users can view the full available source for reference, etc. | |
228 '<(tcmalloc_dir)/src/addressmap-inl.h', | |
229 '<(tcmalloc_dir)/src/base/atomicops-internals-linuxppc.h', | |
230 '<(tcmalloc_dir)/src/base/atomicops-internals-macosx.h', | |
231 '<(tcmalloc_dir)/src/base/atomicops-internals-x86-msvc.h', | |
232 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.cc', | |
233 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.h', | |
234 '<(tcmalloc_dir)/src/base/atomicops.h', | |
235 '<(tcmalloc_dir)/src/base/basictypes.h', | |
236 '<(tcmalloc_dir)/src/base/commandlineflags.h', | |
237 '<(tcmalloc_dir)/src/base/cycleclock.h', | |
238 '<(tcmalloc_dir)/src/base/elf_mem_image.h', | |
239 '<(tcmalloc_dir)/src/base/elfcore.h', | |
240 '<(tcmalloc_dir)/src/base/googleinit.h', | |
241 '<(tcmalloc_dir)/src/base/linux_syscall_support.h', | |
242 '<(tcmalloc_dir)/src/base/simple_mutex.h', | |
243 '<(tcmalloc_dir)/src/base/spinlock_linux-inl.h', | |
244 '<(tcmalloc_dir)/src/base/spinlock_posix-inl.h', | |
245 '<(tcmalloc_dir)/src/base/spinlock_win32-inl.h', | |
246 '<(tcmalloc_dir)/src/base/stl_allocator.h', | |
247 '<(tcmalloc_dir)/src/base/thread_annotations.h', | |
248 '<(tcmalloc_dir)/src/getpc.h', | |
249 '<(tcmalloc_dir)/src/gperftools/heap-checker.h', | |
250 '<(tcmalloc_dir)/src/gperftools/heap-profiler.h', | |
251 '<(tcmalloc_dir)/src/gperftools/malloc_extension.h', | |
252 '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h', | |
253 '<(tcmalloc_dir)/src/gperftools/malloc_hook.h', | |
254 '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h', | |
255 '<(tcmalloc_dir)/src/gperftools/profiler.h', | |
256 '<(tcmalloc_dir)/src/gperftools/stacktrace.h', | |
257 '<(tcmalloc_dir)/src/gperftools/tcmalloc.h', | |
258 '<(tcmalloc_dir)/src/heap-checker-bcad.cc', | |
259 '<(tcmalloc_dir)/src/heap-checker.cc', | |
260 '<(tcmalloc_dir)/src/libc_override.h', | |
261 '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h', | |
262 '<(tcmalloc_dir)/src/libc_override_glibc.h', | |
263 '<(tcmalloc_dir)/src/libc_override_osx.h', | |
264 '<(tcmalloc_dir)/src/libc_override_redefine.h', | |
265 '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h', | |
266 '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h', | |
267 '<(tcmalloc_dir)/src/memfs_malloc.cc', | |
268 '<(tcmalloc_dir)/src/packed-cache-inl.h', | |
269 '<(tcmalloc_dir)/src/page_heap_allocator.h', | |
270 '<(tcmalloc_dir)/src/pagemap.h', | |
271 '<(tcmalloc_dir)/src/stacktrace_arm-inl.h', | |
272 '<(tcmalloc_dir)/src/stacktrace_config.h', | |
273 '<(tcmalloc_dir)/src/stacktrace_generic-inl.h', | |
274 '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h', | |
275 '<(tcmalloc_dir)/src/stacktrace_powerpc-inl.h', | |
276 '<(tcmalloc_dir)/src/stacktrace_win32-inl.h', | |
277 '<(tcmalloc_dir)/src/stacktrace_with_context.cc', | |
278 '<(tcmalloc_dir)/src/stacktrace_x86-inl.h', | |
279 '<(tcmalloc_dir)/src/tcmalloc_guard.h', | |
280 '<(tcmalloc_dir)/src/windows/config.h', | |
281 '<(tcmalloc_dir)/src/windows/gperftools/tcmalloc.h', | |
282 '<(tcmalloc_dir)/src/windows/get_mangled_names.cc', | |
283 '<(tcmalloc_dir)/src/windows/ia32_modrm_map.cc', | |
284 '<(tcmalloc_dir)/src/windows/ia32_opcode_map.cc', | |
285 '<(tcmalloc_dir)/src/windows/mingw.h', | |
286 '<(tcmalloc_dir)/src/windows/mini_disassembler.cc', | |
287 '<(tcmalloc_dir)/src/windows/mini_disassembler.h', | |
288 '<(tcmalloc_dir)/src/windows/mini_disassembler_types.h', | |
289 '<(tcmalloc_dir)/src/windows/override_functions.cc', | |
290 '<(tcmalloc_dir)/src/windows/patch_functions.cc', | |
291 '<(tcmalloc_dir)/src/windows/preamble_patcher.cc', | |
292 '<(tcmalloc_dir)/src/windows/preamble_patcher.h', | |
293 '<(tcmalloc_dir)/src/windows/preamble_patcher_with_stub.cc', | |
294 ], | |
295 'dependencies': [ | 53 'dependencies': [ |
296 '../third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_anno
tations', | 54 '../third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_anno
tations', |
297 ], | 55 ], |
298 'msvs_settings': { | 56 'msvs_settings': { |
299 # TODO(sgk): merge this with build/common.gypi settings | 57 # TODO(sgk): merge this with build/common.gypi settings |
300 'VCLibrarianTool': { | 58 'VCLibrarianTool': { |
301 'AdditionalOptions': ['/ignore:4006,4221'], | 59 'AdditionalOptions': ['/ignore:4006,4221'], |
302 }, | 60 }, |
303 'VCLinkerTool': { | 61 'VCLinkerTool': { |
304 'AdditionalOptions': ['/ignore:4006'], | 62 'AdditionalOptions': ['/ignore:4006'], |
305 }, | 63 }, |
306 }, | 64 }, |
307 'configurations': { | 65 'configurations': { |
308 'Debug_Base': { | 66 'Debug_Base': { |
309 'msvs_settings': { | 67 'msvs_settings': { |
310 'VCCLCompilerTool': { | 68 'VCCLCompilerTool': { |
311 'RuntimeLibrary': '0', | 69 'RuntimeLibrary': '0', |
312 }, | 70 }, |
313 }, | 71 }, |
314 'variables': { | 72 'variables': { |
315 # Provide a way to force disable debugallocation in Debug builds, | 73 # Provide a way to force disable debugallocation in Debug builds, |
316 # e.g. for profiling (it's more rare to profile Debug builds, | 74 # e.g. for profiling (it's more rare to profile Debug builds, |
317 # but people sometimes need to do that). | 75 # but people sometimes need to do that). |
318 'disable_debugallocation%': 0, | 76 'disable_debugallocation%': 0, |
319 }, | 77 }, |
320 'conditions': [ | 78 'conditions': [ |
321 # TODO(phajdan.jr): Also enable on Windows. | 79 ['disable_debugallocation==0', { |
322 ['disable_debugallocation==0 and OS!="win"', { | |
323 'defines': [ | 80 'defines': [ |
324 # Use debugallocation for Debug builds to catch problems early | 81 # Use debugallocation for Debug builds to catch problems early |
325 # and cleanly, http://crbug.com/30715 . | 82 # and cleanly, http://crbug.com/30715 . |
326 'TCMALLOC_FOR_DEBUGALLOCATION', | 83 'TCMALLOC_FOR_DEBUGALLOCATION', |
327 ], | 84 ], |
328 }], | 85 }], |
329 ], | 86 ], |
330 }, | 87 }, |
331 }, | 88 }, |
332 # Disable the heap checker in tcmalloc. | |
333 'defines': [ | |
334 'NO_HEAP_CHECK', | |
335 ], | |
336 'conditions': [ | 89 'conditions': [ |
| 90 ['use_allocator=="tcmalloc"', { |
| 91 # Disable the heap checker in tcmalloc. |
| 92 'defines': [ |
| 93 'NO_HEAP_CHECK', |
| 94 ], |
| 95 'include_dirs': [ |
| 96 '.', |
| 97 '<(tcmalloc_dir)/src/base', |
| 98 '<(tcmalloc_dir)/src', |
| 99 '../..', |
| 100 ], |
| 101 'sources': [ |
| 102 # Generated for our configuration from tcmalloc's build |
| 103 # and checked in. |
| 104 '<(tcmalloc_dir)/src/config.h', |
| 105 '<(tcmalloc_dir)/src/config_android.h', |
| 106 '<(tcmalloc_dir)/src/config_linux.h', |
| 107 '<(tcmalloc_dir)/src/config_win.h', |
| 108 |
| 109 # all tcmalloc native and forked files |
| 110 '<(tcmalloc_dir)/src/addressmap-inl.h', |
| 111 '<(tcmalloc_dir)/src/base/abort.cc', |
| 112 '<(tcmalloc_dir)/src/base/abort.h', |
| 113 '<(tcmalloc_dir)/src/base/arm_instruction_set_select.h', |
| 114 '<(tcmalloc_dir)/src/base/atomicops-internals-linuxppc.h', |
| 115 '<(tcmalloc_dir)/src/base/atomicops-internals-arm-generic.h', |
| 116 '<(tcmalloc_dir)/src/base/atomicops-internals-arm-v6plus.h', |
| 117 '<(tcmalloc_dir)/src/base/atomicops-internals-macosx.h', |
| 118 '<(tcmalloc_dir)/src/base/atomicops-internals-windows.h', |
| 119 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.cc', |
| 120 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.h', |
| 121 '<(tcmalloc_dir)/src/base/atomicops.h', |
| 122 '<(tcmalloc_dir)/src/base/basictypes.h', |
| 123 '<(tcmalloc_dir)/src/base/commandlineflags.h', |
| 124 '<(tcmalloc_dir)/src/base/cycleclock.h', |
| 125 # We don't list dynamic_annotations.c since its copy is already |
| 126 # present in the dynamic_annotations target. |
| 127 '<(tcmalloc_dir)/src/base/dynamic_annotations.h', |
| 128 '<(tcmalloc_dir)/src/base/elf_mem_image.cc', |
| 129 '<(tcmalloc_dir)/src/base/elf_mem_image.h', |
| 130 '<(tcmalloc_dir)/src/base/elfcore.h', |
| 131 '<(tcmalloc_dir)/src/base/googleinit.h', |
| 132 '<(tcmalloc_dir)/src/base/linux_syscall_support.h', |
| 133 '<(tcmalloc_dir)/src/base/linuxthreads.cc', |
| 134 '<(tcmalloc_dir)/src/base/linuxthreads.h', |
| 135 '<(tcmalloc_dir)/src/base/logging.cc', |
| 136 '<(tcmalloc_dir)/src/base/logging.h', |
| 137 '<(tcmalloc_dir)/src/base/low_level_alloc.cc', |
| 138 '<(tcmalloc_dir)/src/base/low_level_alloc.h', |
| 139 '<(tcmalloc_dir)/src/base/simple_mutex.h', |
| 140 '<(tcmalloc_dir)/src/base/spinlock.cc', |
| 141 '<(tcmalloc_dir)/src/base/spinlock.h', |
| 142 '<(tcmalloc_dir)/src/base/spinlock_internal.cc', |
| 143 '<(tcmalloc_dir)/src/base/spinlock_internal.h', |
| 144 '<(tcmalloc_dir)/src/base/spinlock_linux-inl.h', |
| 145 '<(tcmalloc_dir)/src/base/spinlock_posix-inl.h', |
| 146 '<(tcmalloc_dir)/src/base/spinlock_win32-inl.h', |
| 147 '<(tcmalloc_dir)/src/base/stl_allocator.h', |
| 148 '<(tcmalloc_dir)/src/base/synchronization_profiling.h', |
| 149 '<(tcmalloc_dir)/src/base/sysinfo.cc', |
| 150 '<(tcmalloc_dir)/src/base/sysinfo.h', |
| 151 '<(tcmalloc_dir)/src/base/thread_annotations.h', |
| 152 '<(tcmalloc_dir)/src/base/thread_lister.c', |
| 153 '<(tcmalloc_dir)/src/base/thread_lister.h', |
| 154 '<(tcmalloc_dir)/src/base/vdso_support.cc', |
| 155 '<(tcmalloc_dir)/src/base/vdso_support.h', |
| 156 '<(tcmalloc_dir)/src/central_freelist.cc', |
| 157 '<(tcmalloc_dir)/src/central_freelist.h', |
| 158 '<(tcmalloc_dir)/src/common.cc', |
| 159 '<(tcmalloc_dir)/src/common.h', |
| 160 '<(tcmalloc_dir)/src/debugallocation.cc', |
| 161 '<(tcmalloc_dir)/src/deep-heap-profile.cc', |
| 162 '<(tcmalloc_dir)/src/deep-heap-profile.h', |
| 163 '<(tcmalloc_dir)/src/free_list.cc', |
| 164 '<(tcmalloc_dir)/src/free_list.h', |
| 165 '<(tcmalloc_dir)/src/getpc.h', |
| 166 '<(tcmalloc_dir)/src/gperftools/heap-checker.h', |
| 167 '<(tcmalloc_dir)/src/gperftools/heap-profiler.h', |
| 168 '<(tcmalloc_dir)/src/gperftools/malloc_extension.h', |
| 169 '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h', |
| 170 '<(tcmalloc_dir)/src/gperftools/malloc_hook.h', |
| 171 '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h', |
| 172 '<(tcmalloc_dir)/src/gperftools/profiler.h', |
| 173 '<(tcmalloc_dir)/src/gperftools/stacktrace.h', |
| 174 '<(tcmalloc_dir)/src/gperftools/tcmalloc.h', |
| 175 '<(tcmalloc_dir)/src/heap-checker-bcad.cc', |
| 176 '<(tcmalloc_dir)/src/heap-checker.cc', |
| 177 '<(tcmalloc_dir)/src/heap-profile-table.cc', |
| 178 '<(tcmalloc_dir)/src/heap-profile-table.h', |
| 179 '<(tcmalloc_dir)/src/heap-profiler.cc', |
| 180 '<(tcmalloc_dir)/src/internal_logging.cc', |
| 181 '<(tcmalloc_dir)/src/internal_logging.h', |
| 182 '<(tcmalloc_dir)/src/libc_override.h', |
| 183 '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h', |
| 184 '<(tcmalloc_dir)/src/libc_override_glibc.h', |
| 185 '<(tcmalloc_dir)/src/libc_override_osx.h', |
| 186 '<(tcmalloc_dir)/src/libc_override_redefine.h', |
| 187 '<(tcmalloc_dir)/src/linked_list.h', |
| 188 '<(tcmalloc_dir)/src/malloc_extension.cc', |
| 189 '<(tcmalloc_dir)/src/malloc_hook-inl.h', |
| 190 '<(tcmalloc_dir)/src/malloc_hook.cc', |
| 191 '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h', |
| 192 '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h', |
| 193 '<(tcmalloc_dir)/src/maybe_threads.cc', |
| 194 '<(tcmalloc_dir)/src/maybe_threads.h', |
| 195 '<(tcmalloc_dir)/src/memfs_malloc.cc', |
| 196 '<(tcmalloc_dir)/src/memory_region_map.cc', |
| 197 '<(tcmalloc_dir)/src/memory_region_map.h', |
| 198 '<(tcmalloc_dir)/src/packed-cache-inl.h', |
| 199 '<(tcmalloc_dir)/src/page_heap.cc', |
| 200 '<(tcmalloc_dir)/src/page_heap.h', |
| 201 '<(tcmalloc_dir)/src/page_heap_allocator.h', |
| 202 '<(tcmalloc_dir)/src/pagemap.h', |
| 203 '<(tcmalloc_dir)/src/profile-handler.cc', |
| 204 '<(tcmalloc_dir)/src/profile-handler.h', |
| 205 '<(tcmalloc_dir)/src/profiledata.cc', |
| 206 '<(tcmalloc_dir)/src/profiledata.h', |
| 207 '<(tcmalloc_dir)/src/profiler.cc', |
| 208 '<(tcmalloc_dir)/src/raw_printer.cc', |
| 209 '<(tcmalloc_dir)/src/raw_printer.h', |
| 210 '<(tcmalloc_dir)/src/sampler.cc', |
| 211 '<(tcmalloc_dir)/src/sampler.h', |
| 212 '<(tcmalloc_dir)/src/span.cc', |
| 213 '<(tcmalloc_dir)/src/span.h', |
| 214 '<(tcmalloc_dir)/src/stack_trace_table.cc', |
| 215 '<(tcmalloc_dir)/src/stack_trace_table.h', |
| 216 '<(tcmalloc_dir)/src/stacktrace.cc', |
| 217 '<(tcmalloc_dir)/src/stacktrace_arm-inl.h', |
| 218 '<(tcmalloc_dir)/src/stacktrace_config.h', |
| 219 '<(tcmalloc_dir)/src/stacktrace_generic-inl.h', |
| 220 '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h', |
| 221 '<(tcmalloc_dir)/src/stacktrace_powerpc-inl.h', |
| 222 '<(tcmalloc_dir)/src/stacktrace_win32-inl.h', |
| 223 '<(tcmalloc_dir)/src/stacktrace_with_context.cc', |
| 224 '<(tcmalloc_dir)/src/stacktrace_x86-inl.h', |
| 225 '<(tcmalloc_dir)/src/static_vars.cc', |
| 226 '<(tcmalloc_dir)/src/static_vars.h', |
| 227 '<(tcmalloc_dir)/src/symbolize.cc', |
| 228 '<(tcmalloc_dir)/src/symbolize.h', |
| 229 '<(tcmalloc_dir)/src/system-alloc.cc', |
| 230 '<(tcmalloc_dir)/src/system-alloc.h', |
| 231 '<(tcmalloc_dir)/src/tcmalloc.cc', |
| 232 '<(tcmalloc_dir)/src/tcmalloc_guard.h', |
| 233 '<(tcmalloc_dir)/src/thread_cache.cc', |
| 234 '<(tcmalloc_dir)/src/thread_cache.h', |
| 235 |
| 236 'debugallocation_shim.cc', |
| 237 ], |
| 238 # sources! means that these are not compiled directly. |
| 239 'sources!': [ |
| 240 # We simply don't use these, but list them above so that IDE |
| 241 # users can view the full available source for reference, etc. |
| 242 '<(tcmalloc_dir)/src/addressmap-inl.h', |
| 243 '<(tcmalloc_dir)/src/base/atomicops-internals-linuxppc.h', |
| 244 '<(tcmalloc_dir)/src/base/atomicops-internals-macosx.h', |
| 245 '<(tcmalloc_dir)/src/base/atomicops-internals-x86-msvc.h', |
| 246 '<(tcmalloc_dir)/src/base/atomicops-internals-x86.h', |
| 247 '<(tcmalloc_dir)/src/base/atomicops.h', |
| 248 '<(tcmalloc_dir)/src/base/basictypes.h', |
| 249 '<(tcmalloc_dir)/src/base/commandlineflags.h', |
| 250 '<(tcmalloc_dir)/src/base/cycleclock.h', |
| 251 '<(tcmalloc_dir)/src/base/elf_mem_image.h', |
| 252 '<(tcmalloc_dir)/src/base/elfcore.h', |
| 253 '<(tcmalloc_dir)/src/base/googleinit.h', |
| 254 '<(tcmalloc_dir)/src/base/linux_syscall_support.h', |
| 255 '<(tcmalloc_dir)/src/base/simple_mutex.h', |
| 256 '<(tcmalloc_dir)/src/base/spinlock_linux-inl.h', |
| 257 '<(tcmalloc_dir)/src/base/spinlock_posix-inl.h', |
| 258 '<(tcmalloc_dir)/src/base/spinlock_win32-inl.h', |
| 259 '<(tcmalloc_dir)/src/base/stl_allocator.h', |
| 260 '<(tcmalloc_dir)/src/base/thread_annotations.h', |
| 261 '<(tcmalloc_dir)/src/getpc.h', |
| 262 '<(tcmalloc_dir)/src/gperftools/heap-checker.h', |
| 263 '<(tcmalloc_dir)/src/gperftools/heap-profiler.h', |
| 264 '<(tcmalloc_dir)/src/gperftools/malloc_extension.h', |
| 265 '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h', |
| 266 '<(tcmalloc_dir)/src/gperftools/malloc_hook.h', |
| 267 '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h', |
| 268 '<(tcmalloc_dir)/src/gperftools/profiler.h', |
| 269 '<(tcmalloc_dir)/src/gperftools/stacktrace.h', |
| 270 '<(tcmalloc_dir)/src/gperftools/tcmalloc.h', |
| 271 '<(tcmalloc_dir)/src/heap-checker-bcad.cc', |
| 272 '<(tcmalloc_dir)/src/heap-checker.cc', |
| 273 '<(tcmalloc_dir)/src/libc_override.h', |
| 274 '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h', |
| 275 '<(tcmalloc_dir)/src/libc_override_glibc.h', |
| 276 '<(tcmalloc_dir)/src/libc_override_osx.h', |
| 277 '<(tcmalloc_dir)/src/libc_override_redefine.h', |
| 278 '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h', |
| 279 '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h', |
| 280 '<(tcmalloc_dir)/src/memfs_malloc.cc', |
| 281 '<(tcmalloc_dir)/src/packed-cache-inl.h', |
| 282 '<(tcmalloc_dir)/src/page_heap_allocator.h', |
| 283 '<(tcmalloc_dir)/src/pagemap.h', |
| 284 '<(tcmalloc_dir)/src/stacktrace_arm-inl.h', |
| 285 '<(tcmalloc_dir)/src/stacktrace_config.h', |
| 286 '<(tcmalloc_dir)/src/stacktrace_generic-inl.h', |
| 287 '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h', |
| 288 '<(tcmalloc_dir)/src/stacktrace_powerpc-inl.h', |
| 289 '<(tcmalloc_dir)/src/stacktrace_win32-inl.h', |
| 290 '<(tcmalloc_dir)/src/stacktrace_with_context.cc', |
| 291 '<(tcmalloc_dir)/src/stacktrace_x86-inl.h', |
| 292 '<(tcmalloc_dir)/src/tcmalloc_guard.h', |
| 293 |
| 294 # Included by debugallocation_shim.cc. |
| 295 '<(tcmalloc_dir)/src/debugallocation.cc', |
| 296 '<(tcmalloc_dir)/src/tcmalloc.cc', |
| 297 ] |
| 298 },{ |
| 299 'include_dirs': [ |
| 300 '.', |
| 301 '../..', |
| 302 ], |
| 303 }], |
337 ['OS=="linux" and clang_type_profiler==1', { | 304 ['OS=="linux" and clang_type_profiler==1', { |
338 'dependencies': [ | 305 'dependencies': [ |
339 'type_profiler_tcmalloc', | 306 'type_profiler_tcmalloc', |
340 ], | 307 ], |
341 # It is undoing dependencies and cflags_cc for type_profiler which | 308 # It is undoing dependencies and cflags_cc for type_profiler which |
342 # build/common.gypi injects into all targets. | 309 # build/common.gypi injects into all targets. |
343 'dependencies!': [ | 310 'dependencies!': [ |
344 'type_profiler', | 311 'type_profiler', |
345 ], | 312 ], |
346 'cflags_cc!': [ | 313 'cflags_cc!': [ |
347 '-fintercept-allocation-functions', | 314 '-fintercept-allocation-functions', |
348 ], | 315 ], |
349 }], | 316 }], |
350 ['OS=="win"', { | 317 ['OS=="win"', { |
351 'defines': [ | |
352 'PERFTOOLS_DLL_DECL=', | |
353 ], | |
354 'defines!': [ | |
355 # tcmalloc source files unconditionally define this, remove it from | |
356 # the list of defines that common.gypi defines globally. | |
357 'NOMINMAX', | |
358 ], | |
359 'dependencies': [ | 318 'dependencies': [ |
360 'libcmt', | 319 'libcmt', |
361 ], | 320 ], |
362 'include_dirs': [ | 321 'sources': [ |
363 '<(tcmalloc_dir)/src/windows', | 322 'allocator_shim_win.cc', |
| 323 'generic_allocators.cc', |
364 ], | 324 ], |
| 325 # sources! means that these are not compiled directly. |
365 'sources!': [ | 326 'sources!': [ |
366 '<(tcmalloc_dir)/src/base/elf_mem_image.cc', | 327 # Included by allocator_shim_win.cc for maximal inlining. |
367 '<(tcmalloc_dir)/src/base/elf_mem_image.h', | 328 'generic_allocators.cc', |
368 '<(tcmalloc_dir)/src/base/linuxthreads.cc', | |
369 '<(tcmalloc_dir)/src/base/linuxthreads.h', | |
370 '<(tcmalloc_dir)/src/base/vdso_support.cc', | |
371 '<(tcmalloc_dir)/src/base/vdso_support.h', | |
372 '<(tcmalloc_dir)/src/maybe_threads.cc', | |
373 '<(tcmalloc_dir)/src/maybe_threads.h', | |
374 '<(tcmalloc_dir)/src/symbolize.h', | |
375 '<(tcmalloc_dir)/src/system-alloc.cc', | |
376 '<(tcmalloc_dir)/src/system-alloc.h', | |
377 | |
378 # included by allocator_shim.cc | |
379 'debugallocation_shim.cc', | |
380 ], | 329 ], |
381 }], | 330 }], |
382 ['OS=="win" or profiling!=1', { | 331 ['profiling!=1', { |
383 'sources!': [ | 332 'sources!': [ |
384 # cpuprofiler | 333 # cpuprofiler |
385 '<(tcmalloc_dir)/src/base/thread_lister.c', | 334 '<(tcmalloc_dir)/src/base/thread_lister.c', |
386 '<(tcmalloc_dir)/src/base/thread_lister.h', | 335 '<(tcmalloc_dir)/src/base/thread_lister.h', |
387 '<(tcmalloc_dir)/src/profiledata.cc', | 336 '<(tcmalloc_dir)/src/profiledata.cc', |
388 '<(tcmalloc_dir)/src/profiledata.h', | 337 '<(tcmalloc_dir)/src/profiledata.h', |
389 '<(tcmalloc_dir)/src/profile-handler.cc', | 338 '<(tcmalloc_dir)/src/profile-handler.cc', |
390 '<(tcmalloc_dir)/src/profile-handler.h', | 339 '<(tcmalloc_dir)/src/profile-handler.h', |
391 '<(tcmalloc_dir)/src/profiler.cc', | 340 '<(tcmalloc_dir)/src/profiler.cc', |
392 ], | 341 ], |
393 }], | 342 }], |
394 ['OS=="linux" or OS=="freebsd" or OS=="solaris" or OS=="android"', { | 343 ['OS=="linux" or OS=="freebsd" or OS=="solaris" or OS=="android"', { |
395 'sources!': [ | 344 'sources!': [ |
396 '<(tcmalloc_dir)/src/system-alloc.h', | 345 '<(tcmalloc_dir)/src/system-alloc.h', |
397 '<(tcmalloc_dir)/src/windows/port.cc', | |
398 '<(tcmalloc_dir)/src/windows/port.h', | |
399 | |
400 # TODO(willchan): Support allocator shim later on. | |
401 'allocator_shim.cc', | |
402 ], | 346 ], |
403 # We enable all warnings by default, but upstream disables a few. | 347 # We enable all warnings by default, but upstream disables a few. |
404 # Keep "-Wno-*" flags in sync with upstream by comparing against: | 348 # Keep "-Wno-*" flags in sync with upstream by comparing against: |
405 # http://code.google.com/p/google-perftools/source/browse/trunk/Makefi
le.am | 349 # http://code.google.com/p/google-perftools/source/browse/trunk/Makefi
le.am |
406 'cflags': [ | 350 'cflags': [ |
407 '-Wno-sign-compare', | 351 '-Wno-sign-compare', |
408 '-Wno-unused-result', | 352 '-Wno-unused-result', |
409 ], | 353 ], |
410 'cflags!': [ | 354 'cflags!': [ |
411 '-fvisibility=hidden', | 355 '-fvisibility=hidden', |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 { | 435 { |
492 'target_name': 'allocator_unittests', | 436 'target_name': 'allocator_unittests', |
493 'type': 'executable', | 437 'type': 'executable', |
494 'dependencies': [ | 438 'dependencies': [ |
495 'allocator', | 439 'allocator', |
496 'allocator_extension_thunks', | 440 'allocator_extension_thunks', |
497 '../../testing/gtest.gyp:gtest', | 441 '../../testing/gtest.gyp:gtest', |
498 ], | 442 ], |
499 'include_dirs': [ | 443 'include_dirs': [ |
500 '.', | 444 '.', |
501 '<(tcmalloc_dir)/src/base', | |
502 '<(tcmalloc_dir)/src', | |
503 '../..', | 445 '../..', |
504 ], | 446 ], |
505 'sources': [ | 447 'sources': [ |
506 'allocator_unittest.cc', | 448 'allocator_unittest.cc', |
507 '../profiler/alternate_timer.cc', | 449 '../profiler/alternate_timer.cc', |
508 '../profiler/alternate_timer.h', | 450 '../profiler/alternate_timer.h', |
509 ], | 451 ], |
510 }, | 452 }, |
511 { | |
512 'target_name': 'tcmalloc_unittest', | |
513 'type': 'executable', | |
514 'sources': [ | |
515 'tcmalloc_unittest.cc', | |
516 ], | |
517 'include_dirs': [ | |
518 '../..', | |
519 # For constants of TCMalloc. | |
520 '<(tcmalloc_dir)/src', | |
521 ], | |
522 'dependencies': [ | |
523 '../../testing/gtest.gyp:gtest', | |
524 '../base.gyp:base', | |
525 'allocator', | |
526 ], | |
527 }, | |
528 ], | 453 ], |
529 }], | 454 }], |
530 ['OS=="win" and target_arch=="ia32"', { | 455 ['OS=="win" and target_arch=="ia32"', { |
531 'targets': [ | 456 'targets': [ |
532 { | 457 { |
533 'target_name': 'allocator_extension_thunks_win64', | 458 'target_name': 'allocator_extension_thunks_win64', |
534 'type': 'static_library', | 459 'type': 'static_library', |
535 'sources': [ | 460 'sources': [ |
536 'allocator_extension_thunks.cc', | 461 'allocator_extension_thunks.cc', |
537 'allocator_extension_thunks.h', | 462 'allocator_extension_thunks.h', |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
628 '../..', | 553 '../..', |
629 ], | 554 ], |
630 'sources': [ | 555 'sources': [ |
631 'type_profiler_map_unittest.cc', | 556 'type_profiler_map_unittest.cc', |
632 '<(tcmalloc_dir)/src/gperftools/type_profiler_map.h', | 557 '<(tcmalloc_dir)/src/gperftools/type_profiler_map.h', |
633 '<(tcmalloc_dir)/src/type_profiler_map.cc', | 558 '<(tcmalloc_dir)/src/type_profiler_map.cc', |
634 ], | 559 ], |
635 }, | 560 }, |
636 ], | 561 ], |
637 }], | 562 }], |
| 563 ['use_allocator=="tcmalloc"', { |
| 564 'targets': [ |
| 565 { |
| 566 'target_name': 'tcmalloc_unittest', |
| 567 'type': 'executable', |
| 568 'sources': [ |
| 569 'tcmalloc_unittest.cc', |
| 570 ], |
| 571 'include_dirs': [ |
| 572 '<(tcmalloc_dir)/src', |
| 573 '../..', |
| 574 ], |
| 575 'dependencies': [ |
| 576 '../../testing/gtest.gyp:gtest', |
| 577 'allocator', |
| 578 ], |
| 579 }, |
| 580 ], |
| 581 }], |
638 ], | 582 ], |
639 } | 583 } |
OLD | NEW |