# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chromecast_build.gni")
import("//build/config/chromeos/ui_mode.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.
  chrome_pgo_phase = 0
  if (is_official_build &&
      # TODO(crbug.com/1052397): Remove chromeos_is_browser_only once
      # target_os switch for lacros-chrome is completed.
      (is_win || is_mac ||
       (is_linux && !chromeos_is_browser_only && !is_chromecast))) {
    chrome_pgo_phase = 2
  }

  # When using chrome_pgo_phase = 2, read profile data from this path.
  pgo_data_path = ""
}
