# Copyright 2016 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

source_set("file_loader") {
  visibility = [ "../*" ]

  configs += [ "../:config" ]

  sources = [
    "file_loader.cc",
    "file_loader.h",
  ]

  if (is_win) {
    sources += [ "file_loader_win.cc" ]
  } else if (is_fuchsia) {
    sources += [ "file_loader_fuchsia.cc" ]
  } else {
    sources += [ "file_loader_posix.cc" ]
  }

  deps = [
    "../common",
    "../converter",
    "../filesystem",
    "../parsers",
    "../platform",
    "//third_party/dart/runtime:dart_api",
  ]
}
