blob: 1577438fd85a4ccf895df52999b8fa5c28040dc6 [file] [log] [blame]
# Copyright 2019 The Chromium OS 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("//common-mk/mojom_bindings_generator.gni")
import("//common-mk/pkg_config.gni")
group("all") {
deps = [ ":midis" ]
if (use.test) {
deps += [ ":midis_testrunner" ]
}
if (use.fuzzer) {
deps += [ ":midis_seq_handler_fuzzer" ]
}
}
generate_mojom_bindings("midis_mojo_bindings") {
sources = [ "mojo/midis.mojom" ]
}
pkg_config("midis_common_pkg_deps") {
pkg_deps = [
"alsa",
"libbrillo",
"libchrome",
"libmojo",
]
}
static_library("midis_common") {
deps = [ ":midis_mojo_bindings" ]
all_dependent_configs = [ ":midis_common_pkg_deps" ]
sources = [
# Files included from Chrome //src/media/midi checkout.
# This directory is placed in platform2 as platform2/media/midi.
"../media/midi/message_util.cc",
"../media/midi/midi_message_queue.cc",
"client.cc",
"client_tracker.cc",
"device.cc",
"device_tracker.cc",
"ports.cc",
"seq_handler.cc",
"subdevice_client_fd_holder.cc",
]
}
executable("midis") {
deps = [ ":midis_common" ]
libs = [ "dl" ]
sources = [
"daemon.cc",
"main.cc",
]
}
if (use.test) {
executable("midis_testrunner") {
configs += [ "//common-mk:test" ]
deps = [
":midis_common",
"../common-mk/testrunner:testrunner",
]
sources = [
"tests/client_test.cc",
"tests/client_tracker_test.cc",
"tests/device_tracker_test.cc",
"tests/seq_handler_test.cc",
"tests/test_helper.cc",
]
}
}
# Fuzzer target.
if (use.fuzzer) {
executable("midis_seq_handler_fuzzer") {
configs += [ "//common-mk/common_fuzzer:common_fuzzer" ]
deps = [ ":midis_common" ]
sources = [ "seq_handler_fuzzer.cc" ]
}
}