blob: e2f653aa1e4d6533199c1e9028e1d84d2832cc72 [file] [log] [blame]
# Copyright 2018 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/pkg_config.gni")
group("all") {
deps = [ ":ippusb_manager" ]
if (use.test) {
deps += [ ":ippusb_manager_testrunner" ]
}
if (use.fuzzer) {
deps += [ ":ippusb_manager_usb_fuzzer" ]
}
}
pkg_config("target_defaults") {
pkg_deps = [
"libbrillo",
"libchrome-${libbase_ver}",
"libminijail",
"libusb-1.0",
]
}
executable("ippusb_manager") {
configs += [ ":target_defaults" ]
sources = [
"ippusb_manager.cc",
"socket_manager.cc",
"usb.cc",
]
}
if (use.test) {
pkg_config("test_config") {
pkg_deps = [ "libchrome-test-${libbase_ver}" ]
}
executable("ippusb_manager_testrunner") {
configs += [
# This config should be at the top in the configs list, especially before
# the config for libchrome-${libbase-ver} to avoid weird heap-buffer-overflow
# error from happening when ASAN is enabled.
# TODO(crbug.com/887845): Remove this note after library order issue is resolved.
"//common-mk:test",
":target_defaults",
":test_config",
]
sources = [
"usb.cc",
"usb_test.cc",
]
deps = [ "//common-mk/testrunner" ]
}
}
if (use.fuzzer) {
pkg_config("ippusb_manager_usb_fuzzer_config") {
pkg_deps = [ "libchrome-test-${libbase_ver}" ]
}
executable("ippusb_manager_usb_fuzzer") {
configs += [
"//common-mk/common_fuzzer",
":ippusb_manager_usb_fuzzer_config",
":target_defaults",
]
sources = [
"fuzzers/ippusb_manager_usb_fuzzer.cc",
"usb.cc",
]
}
}