blob: 746a603acabf1483e184ce2bfbd8a8f06d9d7c90 [file] [log] [blame]
# 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.
executable("devhost") {
sources = [
"main.cpp",
]
deps = [
":driver",
]
}
source_set("common") {
visibility = [ ":*" ]
sources = [
"api.cpp",
"composite-device.cpp",
"connection-destroyer.cpp",
"core.cpp",
"devhost.cpp",
"device-controller-connection.cpp",
"proxy-iostate.cpp",
"rpc-server.cpp",
"scheduler_profile.cpp",
"tracing.cpp",
"zx-device.cpp",
]
public_deps = [
"$zx/system/banjo/ddk.protocol.composite",
"$zx/system/fidl/fuchsia-device:c",
"$zx/system/fidl/fuchsia-device-manager:c",
"$zx/system/fidl/fuchsia-io:c",
"$zx/system/fidl/fuchsia-scheduler:c",
"$zx/system/ulib/async:async-cpp.static",
"$zx/system/ulib/async:async-default.static",
"$zx/system/ulib/async:static",
"$zx/system/ulib/async-loop:async-loop-cpp.static",
"$zx/system/ulib/ddk",
"$zx/system/ulib/fbl",
"$zx/system/ulib/fdio",
"$zx/system/ulib/fidl",
"$zx/system/ulib/fs:fs-for-driver",
"$zx/system/ulib/sync",
"$zx/system/ulib/trace:trace-driver",
"$zx/system/ulib/trace-provider:static",
"$zx/system/ulib/zircon",
"$zx/system/ulib/zircon-internal",
"$zx/system/ulib/zx",
"$zx/system/ulib/zxio",
"../shared:env",
]
configs += [ "$zx/public/gn/config:static-libc++" ]
}
# "$zx/system/ulib/driver" is an alias for this.
library("driver") {
sdk = "shared"
sdk_headers = []
shared = true
static = false
configs += [ "$zx/public/gn/config:visibility_hidden" ]
sources = []
deps = [
":common",
]
# Since the tracing support is brought in via an archive, we need explicit
# references to ensure everything is present.
libs = [ "$zx/system/ulib/trace-engine/ddk-exports.ld" ]
assert_no_deps = [ "$zx/system/ulib/trace-engine:trace-engine.shared" ]
}
test("devhost-test") {
test_group = "ddk"
sources = [
"device-controller-connection-test.cpp",
"proxy-iostate-test.cpp",
]
deps = [
":common",
"$zx/system/ulib/zxtest",
"../shared:env",
]
}