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

if (is_android) {
  import("//build/config/android/config.gni")
}

import("//build/fuchsia/sdk.gni")

if (target_cpu == "arm" || target_cpu == "arm64") {
  import("//build/config/arm.gni")
}

if (is_ios || is_mac) {
  if (using_fuchsia_sdk) {
    import("//build/toolchain/clang.gni")
  } else {
    import("//build/toolchain/clang_toolchain.gni")
  }
}

declare_args() {
  # The runtime mode ("debug", "profile", or "release")
  flutter_runtime_mode = "debug"

  # Whether to use the Skia text shaper module
  flutter_enable_skshaper = false

  # A copy of the enable_bitcode flag from build/toolchain/clang.gni.
  # This needs to be mirrored here because build/toolchain/clang.gni does
  # not exist in the Fuchsia source tree.
  flutter_enable_bitcode = false
}

# feature_defines_list ---------------------------------------------------------

feature_defines_list = [
  "FLUTTER_RUNTIME_MODE_DEBUG=1",
  "FLUTTER_RUNTIME_MODE_PROFILE=2",
  "FLUTTER_RUNTIME_MODE_RELEASE=3",
]

if (flutter_runtime_mode == "debug") {
  feature_defines_list += [ "FLUTTER_RUNTIME_MODE=1" ]
} else if (flutter_runtime_mode == "profile") {
  feature_defines_list += [ "FLUTTER_RUNTIME_MODE=2" ]
} else if (flutter_runtime_mode == "release") {
  feature_defines_list += [ "FLUTTER_RUNTIME_MODE=3" ]
} else {
  feature_defines_list += [ "FLUTTER_RUNTIME_MODE=0" ]
}

if (is_fuchsia && using_fuchsia_sdk) {
  feature_defines_list += [ "FUCHSIA_SDK=1" ]
}

if ((is_ios || is_mac) && defined(enable_bitcode)) {
  flutter_enable_bitcode = enable_bitcode
}