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

##########################################
# Though under //zircon, this build file #
# is meant to be used in the Fuchsia GN  #
# build.                                 #
# See fxbug.dev/36548.                   #
##########################################

assert(!defined(zx) || zx != "/",
       "This file can only be used in the Fuchsia GN build.")

import("//build/unification/zx_library.gni")

zx_library("dispatcher-pool") {
  sdk = "source"
  sdk_headers = [
    "dispatcher-pool/dispatcher-channel.h",
    "dispatcher-pool/dispatcher-event-source.h",
    "dispatcher-pool/dispatcher-execution-domain.h",
    "dispatcher-pool/dispatcher-interrupt.h",
    "dispatcher-pool/dispatcher-thread-pool.h",
    "dispatcher-pool/dispatcher-timer.h",
    "dispatcher-pool/dispatcher-wakeup-event.h",
  ]
  sources = [
    "dispatcher-channel.cc",
    "dispatcher-event-source.cc",
    "dispatcher-execution-domain.cc",
    "dispatcher-interrupt.cc",
    "dispatcher-thread-pool.cc",
    "dispatcher-timer.cc",
    "dispatcher-wakeup-event.cc",
  ]
  deps = [
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
  ]
}
