# Copyright 2020 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.

import("//build/flutter/flutter_build_config.gni")

declare_args() {
  # If set to true, will force the runenrs to be built in
  # product mode which means they will not have an exposed vm service
  flutter_force_product = false
}

declare_args() {
  if (flutter_force_product) {
    # Product AOT
    flutter_default_build_cfg = flutter_release_build_cfg
  } else if (is_debug) {
    # Non-product JIT
    flutter_default_build_cfg = flutter_debug_build_cfg
  } else {
    # Non-product AOT
    flutter_default_build_cfg = flutter_profile_build_cfg
  }
}
