| # Copyright 2016 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chrome_build.gni") |
| import("//build/config/chromecast_build.gni") |
| import("//build/config/chromeos/ui_mode.gni") |
| import("//build/config/dcheck_always_on.gni") |
| |
| declare_args() { |
| # Specify the current PGO phase. |
| # Here's the different values that can be used: |
| # 0 : Means that PGO is turned off. |
| # 1 : Used during the PGI (instrumentation) phase. |
| # 2 : Used during the PGO (optimization) phase. |
| # PGO profiles are generated from `dcheck_always_on = false` builds. Mixing |
| # those profiles with `dcheck_always_on = true` builds can cause the compiler |
| # to think some code is hotter than it actually is, potentially causing very |
| # bad compile times. |
| chrome_pgo_phase = 0 |
| if (!dcheck_always_on && is_official_build && |
| # TODO(crbug.com/1052397): Remove chromeos_is_browser_only once |
| # target_os switch for lacros-chrome is completed. |
| # TODO(crbug.com/1336055): Update this now-outdated condition with regard |
| # to chromecast and determine whether chromeos_is_browser_only is |
| # obsolete. |
| (is_high_end_android || is_win || is_mac || is_fuchsia || |
| (is_linux && !is_castos && !chromeos_is_browser_only))) { |
| chrome_pgo_phase = 2 |
| } |
| |
| # When using chrome_pgo_phase = 2, read profile data from this path. |
| pgo_data_path = "" |
| } |