# Copyright 2017 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("platform") {
  visibility = [ "../*" ]

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

  if (is_win) {
    set_sources_assignment_filter([ "*_posix.cc" ])
  } else {
    set_sources_assignment_filter([ "*_win.cc" ])
  }

  deps = [
    "../common",
  ]

  sources = [
    "platform_utils.h",
    "platform_utils_posix.cc",
    "platform_utils_win.cc",
  ]
}
