# 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")
import("//flutter/shell/platform/config.gni")

group("platform") {
  if (is_mac || is_ios) {
    deps = [ "darwin" ]
  } else if (is_android) {
    deps = [ "android" ]
  } else if (is_linux) {
    deps = []
    if (enable_desktop_embeddings) {
      deps += [ "linux" ]
    }
  } else if (is_win) {
    deps = []
    if (enable_desktop_embeddings) {
      deps += [ "windows" ]
    }
  } else if (is_fuchsia) {
    deps = [ "fuchsia" ]
  } else {
    assert(false, "Unknown/Unsupported platform.")
  }
}
