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

Side by Side Diff: base/allocator/BUILD.gn

Issue 761903003: Update from https://crrev.com/306655 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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 | « base/BUILD.gn ('k') | base/android/content_uri_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 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 import("//build/config/allocator.gni") 5 import("//build/config/allocator.gni")
6 6
7 # Only executables and not libraries should depend on the allocator target; 7 # Only executables and not libraries should depend on the allocator target;
8 # only the application (the final executable) knows what allocator makes sense. 8 # only the application (the final executable) knows what allocator makes sense.
9 # This "allocator" meta-target will forward to the default allocator according 9 # This "allocator" meta-target will forward to the default allocator according
10 # to the build settings. 10 # to the build settings.
11 group("allocator") { 11 group("allocator") {
12 if (use_allocator == "tcmalloc") { 12 if (use_allocator == "tcmalloc") {
13 deps = [ ":tcmalloc" ] 13 deps = [
14 ":tcmalloc",
15 ]
14 } 16 }
15 } 17 }
16 18
17 # This config and libc modification are only used on Windows. 19 # This config and libc modification are only used on Windows.
18 if (is_win) { 20 if (is_win) {
19 import("//build/config/win/visual_studio_version.gni") 21 import("//build/config/win/visual_studio_version.gni")
20 22
21 config("nocmt") { 23 config("nocmt") {
22 ldflags = [ 24 ldflags = [
23 "/NODEFAULTLIB:libcmt", 25 "/NODEFAULTLIB:libcmt",
(...skipping 23 matching lines...) Expand all
47 # and checked in. 49 # and checked in.
48 "$tcmalloc_dir/src/config.h", 50 "$tcmalloc_dir/src/config.h",
49 "$tcmalloc_dir/src/config_android.h", 51 "$tcmalloc_dir/src/config_android.h",
50 "$tcmalloc_dir/src/config_linux.h", 52 "$tcmalloc_dir/src/config_linux.h",
51 "$tcmalloc_dir/src/config_win.h", 53 "$tcmalloc_dir/src/config_win.h",
52 54
53 # tcmalloc native and forked files. 55 # tcmalloc native and forked files.
54 "$tcmalloc_dir/src/base/abort.cc", 56 "$tcmalloc_dir/src/base/abort.cc",
55 "$tcmalloc_dir/src/base/abort.h", 57 "$tcmalloc_dir/src/base/abort.h",
56 "$tcmalloc_dir/src/base/arm_instruction_set_select.h", 58 "$tcmalloc_dir/src/base/arm_instruction_set_select.h",
59
57 # We don't list dynamic_annotations.c since its copy is already 60 # We don't list dynamic_annotations.c since its copy is already
58 # present in the dynamic_annotations target. 61 # present in the dynamic_annotations target.
59 "$tcmalloc_dir/src/base/elf_mem_image.cc", 62 "$tcmalloc_dir/src/base/elf_mem_image.cc",
60 "$tcmalloc_dir/src/base/elf_mem_image.h", 63 "$tcmalloc_dir/src/base/elf_mem_image.h",
61 "$tcmalloc_dir/src/base/linuxthreads.cc", 64 "$tcmalloc_dir/src/base/linuxthreads.cc",
62 "$tcmalloc_dir/src/base/linuxthreads.h", 65 "$tcmalloc_dir/src/base/linuxthreads.h",
63 "$tcmalloc_dir/src/base/logging.cc", 66 "$tcmalloc_dir/src/base/logging.cc",
64 "$tcmalloc_dir/src/base/logging.h", 67 "$tcmalloc_dir/src/base/logging.h",
65 "$tcmalloc_dir/src/base/low_level_alloc.cc", 68 "$tcmalloc_dir/src/base/low_level_alloc.cc",
66 "$tcmalloc_dir/src/base/low_level_alloc.h", 69 "$tcmalloc_dir/src/base/low_level_alloc.h",
67 "$tcmalloc_dir/src/base/spinlock.cc", 70 "$tcmalloc_dir/src/base/spinlock.cc",
68 "$tcmalloc_dir/src/base/spinlock.h", 71 "$tcmalloc_dir/src/base/spinlock.h",
69 "$tcmalloc_dir/src/base/spinlock_internal.cc", 72 "$tcmalloc_dir/src/base/spinlock_internal.cc",
70 "$tcmalloc_dir/src/base/spinlock_internal.h", 73 "$tcmalloc_dir/src/base/spinlock_internal.h",
71 "$tcmalloc_dir/src/base/synchronization_profiling.h", 74 "$tcmalloc_dir/src/base/synchronization_profiling.h",
72 "$tcmalloc_dir/src/base/sysinfo.cc", 75 "$tcmalloc_dir/src/base/sysinfo.cc",
73 "$tcmalloc_dir/src/base/sysinfo.h", 76 "$tcmalloc_dir/src/base/sysinfo.h",
74 "$tcmalloc_dir/src/base/thread_lister.c", 77 "$tcmalloc_dir/src/base/thread_lister.c",
75 "$tcmalloc_dir/src/base/thread_lister.h", 78 "$tcmalloc_dir/src/base/thread_lister.h",
76 "$tcmalloc_dir/src/base/vdso_support.cc", 79 "$tcmalloc_dir/src/base/vdso_support.cc",
77 "$tcmalloc_dir/src/base/vdso_support.h", 80 "$tcmalloc_dir/src/base/vdso_support.h",
78 "$tcmalloc_dir/src/central_freelist.cc", 81 "$tcmalloc_dir/src/central_freelist.cc",
79 "$tcmalloc_dir/src/central_freelist.h", 82 "$tcmalloc_dir/src/central_freelist.h",
80 "$tcmalloc_dir/src/common.cc", 83 "$tcmalloc_dir/src/common.cc",
81 "$tcmalloc_dir/src/common.h", 84 "$tcmalloc_dir/src/common.h",
85
82 # #included by debugallocation_shim.cc 86 # #included by debugallocation_shim.cc
83 #"$tcmalloc_dir/src/debugallocation.cc", 87 #"$tcmalloc_dir/src/debugallocation.cc",
84 "$tcmalloc_dir/src/deep-heap-profile.cc", 88 "$tcmalloc_dir/src/deep-heap-profile.cc",
85 "$tcmalloc_dir/src/deep-heap-profile.h", 89 "$tcmalloc_dir/src/deep-heap-profile.h",
86 "$tcmalloc_dir/src/free_list.cc", 90 "$tcmalloc_dir/src/free_list.cc",
87 "$tcmalloc_dir/src/free_list.h", 91 "$tcmalloc_dir/src/free_list.h",
88 "$tcmalloc_dir/src/heap-profile-table.cc", 92 "$tcmalloc_dir/src/heap-profile-table.cc",
89 "$tcmalloc_dir/src/heap-profile-table.h", 93 "$tcmalloc_dir/src/heap-profile-table.h",
90 "$tcmalloc_dir/src/heap-profiler.cc", 94 "$tcmalloc_dir/src/heap-profiler.cc",
91 "$tcmalloc_dir/src/internal_logging.cc", 95 "$tcmalloc_dir/src/internal_logging.cc",
(...skipping 21 matching lines...) Expand all
113 "$tcmalloc_dir/src/span.h", 117 "$tcmalloc_dir/src/span.h",
114 "$tcmalloc_dir/src/stack_trace_table.cc", 118 "$tcmalloc_dir/src/stack_trace_table.cc",
115 "$tcmalloc_dir/src/stack_trace_table.h", 119 "$tcmalloc_dir/src/stack_trace_table.h",
116 "$tcmalloc_dir/src/stacktrace.cc", 120 "$tcmalloc_dir/src/stacktrace.cc",
117 "$tcmalloc_dir/src/static_vars.cc", 121 "$tcmalloc_dir/src/static_vars.cc",
118 "$tcmalloc_dir/src/static_vars.h", 122 "$tcmalloc_dir/src/static_vars.h",
119 "$tcmalloc_dir/src/symbolize.cc", 123 "$tcmalloc_dir/src/symbolize.cc",
120 "$tcmalloc_dir/src/symbolize.h", 124 "$tcmalloc_dir/src/symbolize.h",
121 "$tcmalloc_dir/src/system-alloc.cc", 125 "$tcmalloc_dir/src/system-alloc.cc",
122 "$tcmalloc_dir/src/system-alloc.h", 126 "$tcmalloc_dir/src/system-alloc.h",
127
123 # #included by debugallocation_shim.cc 128 # #included by debugallocation_shim.cc
124 #"$tcmalloc_dir/src/tcmalloc.cc", 129 #"$tcmalloc_dir/src/tcmalloc.cc",
125 "$tcmalloc_dir/src/thread_cache.cc", 130 "$tcmalloc_dir/src/thread_cache.cc",
126 "$tcmalloc_dir/src/thread_cache.h", 131 "$tcmalloc_dir/src/thread_cache.h",
127 "$tcmalloc_dir/src/windows/port.cc", 132 "$tcmalloc_dir/src/windows/port.cc",
128 "$tcmalloc_dir/src/windows/port.h", 133 "$tcmalloc_dir/src/windows/port.h",
129
130 "allocator_shim.cc", 134 "allocator_shim.cc",
131 "allocator_shim.h", 135 "allocator_shim.h",
132 "debugallocation_shim.cc", 136 "debugallocation_shim.cc",
133 137
134 # These are both #included by allocator_shim for maximal linking. 138 # These are both #included by allocator_shim for maximal linking.
135 #"generic_allocators.cc", 139 #"generic_allocators.cc",
136 #"win_allocator.cc", 140 #"win_allocator.cc",
137 ] 141 ]
138 142
139 # Disable the heap checker in tcmalloc. 143 # Disable the heap checker in tcmalloc.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 defines += [ "PERFTOOLS_DLL_DECL=" ] 183 defines += [ "PERFTOOLS_DLL_DECL=" ]
180 184
181 configs -= [ 185 configs -= [
182 # Tcmalloc defines this itself, and we don't want duplicate definition 186 # Tcmalloc defines this itself, and we don't want duplicate definition
183 # warnings. 187 # warnings.
184 "//build/config/win:nominmax", 188 "//build/config/win:nominmax",
185 ] 189 ]
186 190
187 public_configs = [ ":nocmt" ] 191 public_configs = [ ":nocmt" ]
188 192
189 deps += [ 193 deps += [ ":prep_libc" ]
190 ":prep_libc",
191 ]
192 } 194 }
193 195
194 if (is_linux || is_android) { 196 if (is_linux || is_android) {
195 sources -= [ 197 sources -= [
196 "$tcmalloc_dir/src/system-alloc.h", 198 "$tcmalloc_dir/src/system-alloc.h",
197 "$tcmalloc_dir/src/windows/port.cc", 199 "$tcmalloc_dir/src/windows/port.cc",
198 "$tcmalloc_dir/src/windows/port.h", 200 "$tcmalloc_dir/src/windows/port.h",
199 201
200 # TODO(willchan): Support allocator shim later on. 202 # TODO(willchan): Support allocator shim later on.
201 "allocator_shim.cc", 203 "allocator_shim.cc",
202 ] 204 ]
203 205
204 # We enable all warnings by default, but upstream disables a few. 206 # We enable all warnings by default, but upstream disables a few.
205 # Keep "-Wno-*" flags in sync with upstream by comparing against: 207 # Keep "-Wno-*" flags in sync with upstream by comparing against:
206 # http://code.google.com/p/google-perftools/source/browse/trunk/Makefile.a m 208 # http://code.google.com/p/google-perftools/source/browse/trunk/Makefile.a m
207 cflags = [ 209 cflags = [
208 "-Wno-sign-compare", 210 "-Wno-sign-compare",
209 "-Wno-unused-result", 211 "-Wno-unused-result",
210 ] 212 ]
211 213
212 configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] 214 configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
213 215
214 ldflags = [ 216 ldflags = [
215 # Don't let linker rip this symbol out, otherwise the heap&cpu 217 # Don't let linker rip this symbol out, otherwise the heap&cpu
216 # profilers will not initialize properly on startup. 218 # profilers will not initialize properly on startup.
217 "-Wl,-uIsHeapProfilerRunning,-uProfilerStart", 219 "-Wl,-uIsHeapProfilerRunning,-uProfilerStart",
220
218 # Do the same for heap leak checker. 221 # Do the same for heap leak checker.
219 "-Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_j iiix,-u_Z22InitialMallocHook_SbrkPKvi", 222 "-Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_j iiix,-u_Z22InitialMallocHook_SbrkPKvi",
220 "-Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_m iiil,-u_Z22InitialMallocHook_SbrkPKvl", 223 "-Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_m iiil,-u_Z22InitialMallocHook_SbrkPKvl",
221 "-Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14Un IgnoreObjectEPKv", 224 "-Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14Un IgnoreObjectEPKv",
222 ] 225 ]
223 } 226 }
224 227
225 # Make sure the allocation library is optimized as much as possible when 228 # Make sure the allocation library is optimized as much as possible when
226 # we"re in release mode. 229 # we"re in release mode.
227 if (!is_debug) { 230 if (!is_debug) {
228 configs -= [ "//build/config/compiler:optimize" ] 231 configs -= [ "//build/config/compiler:optimize" ]
229 configs += [ "//build/config/compiler:optimize_max" ] 232 configs += [ "//build/config/compiler:optimize_max" ]
230 } 233 }
231 234
232 deps += [ 235 deps += [ "//base/third_party/dynamic_annotations" ]
233 "//base/third_party/dynamic_annotations",
234 ]
235 236
236 if (is_win) { 237 if (is_win) {
237 ldflags = [ "/ignore:4006:4221" ] 238 ldflags = [ "/ignore:4006:4221" ]
238 } 239 }
239 } 240 }
240 } # !is_android 241 } # !is_android
241 242
242 source_set("allocator_extension_thunks") { 243 source_set("allocator_extension_thunks") {
243 visibility = [ "//base/*" ] 244 visibility = [ "//base/*" ]
244 sources = [ 245 sources = [
245 "allocator_extension_thunks.cc", 246 "allocator_extension_thunks.cc",
246 "allocator_extension_thunks.h", 247 "allocator_extension_thunks.h",
247 ] 248 ]
248 if (is_android && !is_debug) { 249 if (is_android && !is_debug) {
249 configs -= [ "//build/config/compiler:optimize" ] 250 configs -= [ "//build/config/compiler:optimize" ]
250 configs += [ "//build/config/compiler:optimize_max" ] 251 configs += [ "//build/config/compiler:optimize_max" ]
251 } 252 }
252 } 253 }
OLDNEW
« no previous file with comments | « base/BUILD.gn ('k') | base/android/content_uri_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698