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

declare_args() {
  # Controls which asserts are enabled.
  #
  # `ZX_ASSERT` is always enabled.
  #
  # * 0 disables standard C `assert()` and `ZX_DEBUG_ASSERT`.
  # * 1 disables `ZX_DEBUG_ASSERT`. Standard C `assert()` remains enabled.
  # * 2 enables all asserts.
  zx_assert_level = 2

  # Zircon optimization level. Same acceptable values as `optimize`.
  # Note that this will be ignored, in favor of the global `optimize` variable
  # if the latter is one of: "none", "sanitizer", "profile" or "size".
  zircon_optimize = "default"
}
