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

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) {
    # Fuchsia has its own runner implementation.
    deps = []
  } else {
    assert(false, "Unknown/Unsupported platform.")
  }
}
