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

import("$zx/kernel/params.gni")

source_set("kernel") {
  sources = [
    "brwlock.cpp",
    "cmdline.cpp",
    "deadline.cpp",
    "debug.cpp",
    "dpc.cpp",
    "event.cpp",
    "init.cpp",
    "mp.cpp",
    "mutex.cpp",
    "owned_wait_queue.cpp",
    "percpu.cpp",
    "thread.cpp",
    "timer.cpp",
    "wait.cpp",
  ]

  if (enable_fair_scheduler) {
    sources += [ "fair_scheduler.cpp" ]
  } else {
    sources += [ "sched.cpp" ]
  }

  deps = [
    "$zx/kernel/dev/interrupt",
    "$zx/kernel/lib/console",
    "$zx/kernel/lib/counters",
    "$zx/kernel/lib/debug",
    "$zx/kernel/lib/fbl",
    "$zx/kernel/lib/heap",
    "$zx/kernel/lib/libc",
    "$zx/kernel/lib/topology",
    "$zx/kernel/lib/version",
    "$zx/kernel/object",
    "$zx/kernel/vm",
    "$zx/system/ulib/explicit-memory",
    "$zx/system/ulib/zircon-internal",
  ]
}
