blob: dc3ebd0ab3f7583a055693ae6be1a6d1d52a848f [file] [log] [blame]
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'variables': {
'chromium_code': 1,
},
'targets': [
{
'target_name': 'device_usb',
'type': 'static_library',
'dependencies': [
'device_usb_mojo_bindings_lib',
'../../components/components.gyp:device_event_log_component',
'../../net/net.gyp:net',
'../../third_party/libusb/libusb.gyp:libusb',
'../../third_party/mojo/mojo_public.gyp:mojo_cpp_bindings',
],
'include_dirs': [
'../..',
],
'sources': [
'device_impl.cc',
'device_impl.h',
'device_manager_impl.cc',
'device_manager_impl.h',
# TODO(rockot/reillyg): Split out public sources into their own target
# once all device/usb consumers have transitioned to the new public API.
'public/cpp/device_manager_delegate.h',
'public/cpp/device_manager_factory.h',
'type_converters.cc',
'type_converters.h',
'usb_context.cc',
'usb_context.h',
'usb_descriptors.cc',
'usb_descriptors.h',
'usb_device_impl.cc',
'usb_device_impl.h',
'usb_device.cc',
'usb_device.h',
'usb_device_filter.cc',
'usb_device_filter.h',
'usb_device_handle_impl.cc',
'usb_device_handle_impl.h',
'usb_device_handle.h',
'usb_error.cc',
'usb_error.h',
'usb_ids.cc',
'usb_ids.h',
'usb_service.cc',
'usb_service.h',
'usb_service_impl.cc',
'usb_service_impl.h',
],
'actions': [
{
'action_name': 'generate_usb_ids',
'variables': {
'usb_ids_path%': '../../third_party/usb_ids/usb.ids',
'usb_ids_py_path': 'tools/usb_ids.py',
},
'inputs': [
'<(usb_ids_path)',
'<(usb_ids_py_path)',
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/device/usb/usb_ids_gen.cc',
],
'action': [
'python',
'<(usb_ids_py_path)',
'-i', '<(usb_ids_path)',
'-o', '<@(_outputs)',
],
'process_outputs_as_sources': 1,
},
],
'conditions': [
['use_udev == 1', {
'dependencies': [
'../udev_linux/udev.gyp:udev_linux',
],
}],
['chromeos==1', {
'dependencies': [
'../../chromeos/chromeos.gyp:chromeos',
],
}],
]
},
{
'target_name': 'device_usb_mojo_bindings',
'type': 'none',
'variables': {
'mojom_files': [
'public/interfaces/device.mojom',
'public/interfaces/device_manager.mojom',
],
},
'includes': [
'../../third_party/mojo/mojom_bindings_generator_explicit.gypi',
],
},
{
'target_name': 'device_usb_mojo_bindings_lib',
'type': 'static_library',
'dependencies': [
'device_usb_mojo_bindings',
],
},
{
'target_name': 'device_usb_mocks',
'type': 'static_library',
'include_dirs': [
'../..',
],
'dependencies': [
'../../testing/gmock.gyp:gmock',
'device_usb',
],
'sources': [
'mock_usb_device.cc',
'mock_usb_device.h',
'mock_usb_device_handle.cc',
'mock_usb_device_handle.h',
'mock_usb_service.cc',
'mock_usb_service.h',
],
},
],
}