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

# Non-product JIT is "debug". It launches the vm service.
# Non-product AOT is "profile". It also launches the vm service, but lacks tools that rely on JIT.
# Product AOT is "release". It doesn't launch the vm service.

declare_args() {
  # Builds the component in a non-product JIT build. This will
  # launch the vm service in the runner.
  flutter_debug_build_cfg = {
    runtime_meta = "//build/flutter/meta/jit_runtime.cmx"
    runtime_meta_v2 = "//build/flutter/meta/jit_runtime.cml"
    runner_dep = "//src/flutter:flutter_jit_runner"
    platform_name = "flutter_runner"
    is_aot = false
    is_product = false
    enable_asserts = true
    is_debug = true
  }

  # Builds the component in a non-product AOT build. This will
  # launch the vm service in the runner.
  # This configuration is not compatible with a --release build since the
  # profile aot runner is built without asserts.
  flutter_aot_debug_build_cfg = {
    runtime_meta = "//build/flutter/meta/aot_runtime.cmx"
    runtime_meta_v2 = "//build/flutter/meta/aot_runtime.cml"
    runner_dep = "//src/flutter:flutter_aot_runner"
    platform_name = "flutter_runner"
    is_aot = true
    is_product = false
    enable_asserts = true
    is_debug = true
  }

  # Builds the component in a non-product AOT build. This will
  # launch the vm service in the runner.
  flutter_profile_build_cfg = {
    runtime_meta = "//build/flutter/meta/aot_runtime.cmx"  # profile runner
    runtime_meta_v2 = "//build/flutter/meta/aot_runtime.cml"  # profile runner
    runner_dep = "//src/flutter:flutter_aot_runner"
    platform_name = "flutter_runner"
    is_aot = true
    is_product = false
    enable_asserts = false
    is_debug = false
  }

  # Builds the component in a product AOT build. This will
  # not launch the vm service in the runner.
  flutter_release_build_cfg = {
    runtime_meta = "//build/flutter/meta/aot_product_runtime.cmx"
    runtime_meta_v2 = "//build/flutter/meta/aot_product_runtime.cml"
    runner_dep = "//src/flutter:flutter_aot_product_runner"
    platform_name = "flutter_runner"
    is_aot = true
    is_product = true
    enable_asserts = false
    is_debug = false
  }
}
