1*6777b538SAndroid Build Coastguard Worker# Copyright 2014 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/config/chromeos/ui_mode.gni") 6*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/toolchain.gni") 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Workerdefault_clang_base_path = "//third_party/llvm-build/Release+Asserts" 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Workerdeclare_args() { 11*6777b538SAndroid Build Coastguard Worker # Indicates if the build should use the Chrome-specific plugins for enforcing 12*6777b538SAndroid Build Coastguard Worker # coding guidelines, etc. Only used when compiling with Chrome's Clang, not 13*6777b538SAndroid Build Coastguard Worker # Chrome OS's. 14*6777b538SAndroid Build Coastguard Worker clang_use_chrome_plugins = 15*6777b538SAndroid Build Coastguard Worker is_clang && !is_nacl && current_os != "zos" && 16*6777b538SAndroid Build Coastguard Worker default_toolchain != "//build/toolchain/cros:target" 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker enable_check_raw_ptr_fields = 19*6777b538SAndroid Build Coastguard Worker build_with_chromium && !is_official_build && 20*6777b538SAndroid Build Coastguard Worker ((is_linux && !is_castos) || (is_android && !is_cast_android) || is_mac || 21*6777b538SAndroid Build Coastguard Worker is_win || is_chromeos_lacros || is_chromeos_ash) 22*6777b538SAndroid Build Coastguard Worker 23*6777b538SAndroid Build Coastguard Worker # TODO(crbug.com/1446146): Merge with enable_check_raw_ptr_fields once both 24*6777b538SAndroid Build Coastguard Worker # checks are activated on the same set of platforms. 25*6777b538SAndroid Build Coastguard Worker enable_check_raw_ref_fields = 26*6777b538SAndroid Build Coastguard Worker build_with_chromium && !is_official_build && 27*6777b538SAndroid Build Coastguard Worker ((is_linux && !is_castos) || (is_android && !is_cast_android) || is_win || 28*6777b538SAndroid Build Coastguard Worker is_mac || is_chromeos_lacros || is_chromeos_ash) 29*6777b538SAndroid Build Coastguard Worker 30*6777b538SAndroid Build Coastguard Worker clang_base_path = default_clang_base_path 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker # Specifies whether or not bitcode should be embedded during compilation. 33*6777b538SAndroid Build Coastguard Worker # This is used for creating a MLGO corpus from Chromium in the non-ThinLTO case. 34*6777b538SAndroid Build Coastguard Worker clang_embed_bitcode = false 35*6777b538SAndroid Build Coastguard Worker 36*6777b538SAndroid Build Coastguard Worker # Set to true to enable output of ThinLTO index and import files used for 37*6777b538SAndroid Build Coastguard Worker # creating a Chromium MLGO corpus in the ThinLTO case. 38*6777b538SAndroid Build Coastguard Worker lld_emit_indexes_and_imports = false 39*6777b538SAndroid Build Coastguard Worker} 40*6777b538SAndroid Build Coastguard Worker 41*6777b538SAndroid Build Coastguard Worker# We don't really need to collect a corpus for the host tools, just for the target. 42*6777b538SAndroid Build Coastguard Workerlld_emit_indexes_and_imports = 43*6777b538SAndroid Build Coastguard Worker lld_emit_indexes_and_imports && is_a_target_toolchain 44