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

declare_args() {
  # Control whether cronet is built (this is usually set by the script
  # components/cronet/tools/cr_cronet.py as cronet requires specific
  # gn args to build correctly).
  is_cronet_build = false

  # Controls whether cronet is currently being built for AOSP or Chromium.
  # This will always be false when building Cronet for Chromium.
  # the flag exists to accommodate for the divergence between the repos.
  is_cronet_for_aosp_build = false
}

if (is_cronet_for_aosp_build) {
  assert(
      is_cronet_build,
      "`is_cronet_for_aosp_build` flag can be only enabled when `is_cronet_build` flag is enabled.")
}
