# Copyright 2013 The Flutter 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 = "//flutter/shell/platform/fuchsia/flutter/meta/jit_runtime"
  runner_dep = "//flutter/shell/platform/fuchsia/flutter:jit"
  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 = "//flutter/shell/platform/fuchsia/flutter/meta/aot_runtime"
  runner_dep = "//flutter/shell/platform/fuchsia/flutter:aot"
  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 =
      "//flutter/shell/platform/fuchsia/flutter/meta/aot_runtime"  # profile
                                                                   # runner
  runner_dep = "//flutter/shell/platform/fuchsia/flutter:aot"
  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 =
      "//flutter/shell/platform/fuchsia/flutter/meta/aot_product_runtime"
  runner_dep = "//flutter/shell/platform/fuchsia/flutter:aot_product"
  platform_name = "flutter_runner"
  is_aot = true
  is_product = true
  enable_asserts = false
}
