1c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch# Copyright (c) 2013 The Chromium Authors. All rights reserved.
2c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch# Use of this source code is governed by a BSD-style license that can be
3c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch# found in the LICENSE file.
4c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochsource_ids = "//third_party/usb_ids/usb.ids"
6c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochgenerated_ids = "$target_gen_dir/usb_ids_gen.cc"
7c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)source_set("usb") {
9c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  sources = [
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_context.cc",
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_context.h",
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_descriptors.cc",
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_descriptors.h",
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device_impl.cc",
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device_impl.h",
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device.h",
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device_filter.cc",
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device_filter.h",
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device_handle_impl.cc",
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device_handle_impl.h",
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_device_handle.h",
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_error.cc",
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_error.h",
24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    "usb_ids.cc",
25c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    "usb_ids.h",
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_service.h",
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "usb_service_impl.cc",
28c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    generated_ids,
29c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  ]
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
31c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  deps = [
32c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    ":usb_device_ids",
33c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    "//base",
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "//base/third_party/dynamic_annotations",
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "//net",
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "//third_party/libusb",
37c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  ]
381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  if (is_linux) {
401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    configs += [ "//build/config/linux:udev" ]
411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  }
42c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch}
43c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
44c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochaction("usb_device_ids") {
45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  script = "//device/usb/tools/usb_ids.py"
46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  inputs = [ source_ids ]
47c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  outputs = [ generated_ids ]
48c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  args = [
49c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    "-i", rebase_path(source_ids,  root_build_dir),
50c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    "-o", rebase_path(generated_ids, root_build_dir),
51c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  ]
52c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
53c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  # Only the device_usb target can depend on us.
540529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  visibility = [ ":usb" ]
55c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch}
56