# Copyright 2019 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/buildflag_header.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/dcheck_always_on.gni")

declare_args() {
  # Use LogErrorNotReached() for NOTREACHED().
  enable_log_error_not_reached =
      is_chromeos_ash && !(is_debug || dcheck_always_on)
  enable_stack_trace_line_numbers = false

  # Use runtime vlog everywhere except for ash-chrome.
  # When `use_runtime_vlog` is true,
  #   command line switch `--vmodule=xxx` or `--v=x` could be used to
  #   control vlog level at runtime.
  # when `use_runtime_volog` is false,
  #   verbose log level is controlled by `ENABLE_VLOG_LEVEL` macro. VLOG(n)
  #   is kept and generate output if `n` is less than or equal to the vlog
  #   level defined by the macro.
  #   Command line switch `--vmodule=xxx`, or `--v=x` would have no effect.
  #
  # Runtime vlog is used everywhere except on ash-chrome.
  # Ash-chrome has a few vmodule patterns that need to be used indefinitely
  # to investigate problems from logs in feedback reports. These vmodule
  # patterns are using too much cpu cycles (see http://crbug/489441). Turning
  # off runtime vlog and using build time vlog would avoid paying that cpu tax
  # and have a nice side effect of a smaller production binary.
  use_runtime_vlog = !is_chromeos_ash
}