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

# 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"
  runner_dep = "//topaz/runtime/flutter_runner:flutter_jit_runner"
  platform_name = "flutter_runner"
  is_aot = false
  is_product = false
  enable_asserts = 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"
  runner_dep = "//topaz/runtime/flutter_runner:flutter_aot_runner"
  platform_name = "flutter_runner"
  is_aot = true
  is_product = false
  enable_asserts = 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"  # profile runner
  runner_dep = "//topaz/runtime/flutter_runner:flutter_aot_runner"
  platform_name = "flutter_runner"
  is_aot = true
  is_product = false
  enable_asserts = 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"
  runner_dep = "//topaz/runtime/flutter_runner:flutter_aot_product_runner"
  platform_name = "flutter_runner"
  is_aot = true
  is_product = true
  enable_asserts = false
}
