Home | History | Annotate | Download | only in libusb
      1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 {
      6   'targets': [
      7     {
      8       'target_name': 'libusb',
      9       'type': 'static_library',
     10       'sources': [
     11         'src/config.h',
     12         'src/libusb/core.c',
     13         'src/libusb/descriptor.c',
     14         'src/libusb/hotplug.c',
     15         'src/libusb/hotplug.h',
     16         'src/libusb/interrupt.c',
     17         'src/libusb/interrupt.h',
     18         'src/libusb/io.c',
     19         'src/libusb/libusb.h',
     20         'src/libusb/libusbi.h',
     21         'src/libusb/strerror.c',
     22         'src/libusb/sync.c',
     23         'src/libusb/version.h',
     24         'src/libusb/version_nano.h',
     25       ],
     26       'include_dirs': [
     27         'src',
     28         'src/libusb',
     29         'src/libusb/os',
     30       ],
     31       'direct_dependent_settings': {
     32         'include_dirs': [
     33           'src/libusb',
     34         ],
     35       },
     36       'conditions': [
     37         [ 'OS == "linux" or OS == "android" or OS == "mac"', {
     38           'sources': [
     39             'src/libusb/os/poll_posix.c',
     40             'src/libusb/os/poll_posix.h',
     41             'src/libusb/os/threads_posix.c',
     42             'src/libusb/os/threads_posix.h',
     43           ],
     44           'defines': [
     45             'DEFAULT_VISIBILITY=',
     46             'HAVE_GETTIMEOFDAY=1',
     47             'HAVE_POLL_H=1',
     48             'HAVE_SYS_TIME_H=1',
     49             'LIBUSB_DESCRIBE="1.0.16"',
     50             'POLL_NFDS_TYPE=nfds_t',
     51             'THREADS_POSIX=1',
     52           ],
     53         }],
     54         [ 'OS == "linux" or OS == "android"', {
     55           'sources': [
     56             'src/libusb/os/linux_usbfs.c',
     57             'src/libusb/os/linux_usbfs.h',
     58           ],
     59           'defines': [
     60             'OS_LINUX=1',
     61             '_GNU_SOURCE=1',
     62           ],
     63         }],
     64         [ 'use_udev == 1 or OS == "android"', {
     65           'sources': [
     66             'src/libusb/os/linux_udev.c',
     67           ],
     68           'defines': [
     69             'HAVE_LIBUDEV=1',
     70             'USE_UDEV=1',
     71           ],
     72         }],
     73         [ 'OS == "linux" and use_udev == 0', {
     74           'sources': [
     75             'src/libusb/os/linux_netlink.c',
     76           ],
     77           'defines': [
     78             'HAVE_LINUX_NETLINK_H',
     79           ],
     80           'conditions': [
     81             ['clang==1', {
     82               'cflags': [
     83                 '-Wno-pointer-sign',
     84               ]
     85             }]
     86           ],
     87         }],
     88         [ 'OS == "mac"', {
     89           'sources': [
     90             'src/libusb/os/darwin_usb.c',
     91             'src/libusb/os/darwin_usb.h',
     92           ],
     93           'defines': [
     94             'OS_DARWIN=1',
     95           ],
     96         }],
     97         [ 'OS == "win"', {
     98           'sources': [
     99             'src/libusb/os/poll_windows.c',
    100             'src/libusb/os/poll_windows.h',
    101             'src/libusb/os/threads_windows.c',
    102             'src/libusb/os/threads_windows.h',
    103             'src/libusb/os/windows_common.h',
    104             'src/libusb/os/windows_usb.c',
    105             'src/libusb/os/windows_usb.h',
    106             'src/msvc/config.h',
    107             'src/msvc/inttypes.h',
    108             'src/msvc/stdint.h',
    109           ],
    110           'include_dirs!': [
    111             'src',
    112           ],
    113           'include_dirs': [
    114             'src/msvc',
    115           ],
    116           'msvs_disabled_warnings': [ 4267 ],
    117         }],
    118       ],
    119     },
    120   ],
    121 }
    122