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

config("mx_config") {
  include_dirs = [ "include" ]
}

static_library("mx") {
  # Don't forget to update rules.mk as well for the Magenta build.
  sources = [
    "channel.cpp",
    "event.cpp",
    "eventpair.cpp",
    "fifo.cpp",
    "include/mx/channel.h",
    "include/mx/event.h",
    "include/mx/eventpair.h",
    "include/mx/fifo.h",
    "include/mx/handle.h",
    "include/mx/job.h",
    "include/mx/log.h",
    "include/mx/object.h",
    "include/mx/object_traits.h",
    "include/mx/port.h",
    "include/mx/process.h",
    "include/mx/socket.h",
    "include/mx/task.h",
    "include/mx/thread.h",
    "include/mx/time.h",
    "include/mx/timer.h",
    "include/mx/vmar.h",
    "include/mx/vmo.h",
    "job.cpp",
    "log.cpp",
    "port.cpp",
    "process.cpp",
    "socket.cpp",
    "thread.cpp",
    "timer.cpp",
    "vmar.cpp",
    "vmo.cpp",
  ]

  public_configs = [ ":mx_config" ]

  libs = [ "magenta" ]
}
