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

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

group("platform") {
  if (is_mac || is_ios) {
    deps = [
      "darwin",
    ]
  } else if (is_android) {
    deps = [
      "android",
    ]
  } else if (is_linux) {
    if (is_fuchsia_host) {
      # The linux build is not supported as part of the Fuchsia host build.
      deps = []
    } else {
      deps = [
        "linux",
      ]
    }
  } else if (is_win) {
    deps = [
      "windows",
    ]
  } else if (is_fuchsia) {
    deps = [
      "fuchsia",
    ]
  } else {
    assert(false, "Unknown/Unsupported platform.")
  }
}
