| Index: base/allocator/BUILD.gn
|
| diff --git a/base/allocator/BUILD.gn b/base/allocator/BUILD.gn
|
| index 0049800cb8620724cc14d2985aace93d85c195a7..25e18f7a969bdc3cffb4a79243f22378b231ec5c 100644
|
| --- a/base/allocator/BUILD.gn
|
| +++ b/base/allocator/BUILD.gn
|
| @@ -2,6 +2,7 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| +import("//build/buildflag_header.gni")
|
| import("//build/config/allocator.gni")
|
| import("//build/config/compiler/compiler.gni")
|
|
|
| @@ -294,3 +295,34 @@ if (use_allocator == "tcmalloc") {
|
| deps += [ "//base/third_party/dynamic_annotations" ]
|
| }
|
| } # use_allocator == "tcmalloc"
|
| +
|
| +buildflag_header("features") {
|
| + header = "features.h"
|
| + flags = [ "USE_EXPERIMENTAL_ALLOCATOR_SHIM=$use_experimental_allocator_shim" ]
|
| +}
|
| +
|
| +if (use_experimental_allocator_shim) {
|
| + source_set("unified_allocator_shim") {
|
| + # TODO(primiano): support other platforms, currently this works only on
|
| + # Linux/CrOS only. http://crbug.com/550886 .
|
| + configs += [ "//base:base_implementation" ] # for BASE_EXPORT
|
| + sources = [
|
| + "allocator_shim.cc",
|
| + "allocator_shim.h",
|
| + "allocator_shim_internals.h",
|
| + "allocator_shim_override_cpp_symbols.h",
|
| + "allocator_shim_override_libc_symbols.h",
|
| + ]
|
| + if (is_linux && use_allocator == "tcmalloc") {
|
| + sources += [
|
| + "allocator_shim_default_dispatch_to_tcmalloc.cc",
|
| + "allocator_shim_override_glibc_weak_symbols.h",
|
| + ]
|
| + deps = [
|
| + ":tcmalloc",
|
| + ]
|
| + } else if (is_linux && use_allocator == "none") {
|
| + sources += [ "allocator_shim_default_dispatch_to_glibc.cc" ]
|
| + }
|
| + }
|
| +}
|
|
|