|  | # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 
|  | # | 
|  | # Use of this source code is governed by a BSD-style license | 
|  | # that can be found in the LICENSE file in the root of the source | 
|  | # tree. An additional intellectual property rights grant can be found | 
|  | # in the file PATENTS.  All contributing project authors may | 
|  | # be found in the AUTHORS file in the root of the source tree. | 
|  |  | 
|  | # Dependencies from //build defining variables used by partition_alloc. | 
|  | import("//build/config/android/config.gni") | 
|  | import("//build/config/cast.gni") | 
|  | import("//build/config/chromeos/ui_mode.gni") | 
|  | import("//build/config/compiler/compiler.gni") | 
|  | import("//build/config/cronet/config.gni") | 
|  | import("//build/config/dcheck_always_on.gni") | 
|  | import("//build/config/logging.gni") | 
|  | partition_alloc_enable_arc_config = "//build/config/compiler:enable_arc" | 
|  |  | 
|  | # partition_alloc is performance critical and it should generally be optimized | 
|  | # for speed, even in debug mode. WebRTC doesn't really need its debug version. | 
|  | partition_alloc_remove_configs = | 
|  | [ "//build/config/compiler:default_optimization" ] | 
|  | partition_alloc_add_configs = [ "//build/config/compiler:optimize_speed" ] | 
|  |  | 
|  | # Disable partition_alloc for WebRTC standalone builds. | 
|  | use_partition_alloc_as_malloc_default = false | 
|  | use_allocator_shim_default = false | 
|  | enable_backup_ref_ptr_support_default = false | 
|  | enable_backup_ref_ptr_slow_checks_default = false | 
|  | enable_dangling_raw_ptr_checks_default = false | 
|  |  | 
|  | # raw_ptr behave like naked pointers, except they are always initialized. This | 
|  | # avoids relying on undefined behaviors. | 
|  | raw_ptr_zero_on_construct_default = true | 
|  | raw_ptr_zero_on_move_default = true | 
|  | raw_ptr_zero_on_destruct_default = false | 
|  |  | 
|  | # WebRTC used C++20 by default: | 
|  | assert_cpp20_default = true |