binding.gyp 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. {
  2. 'variables': {
  3. 'driver%': 'libusb'
  4. },
  5. 'targets': [
  6. {
  7. 'target_name': 'HID',
  8. 'sources': [ 'src/HID.cc' ],
  9. 'dependencies': ['hidapi'],
  10. 'defines': [
  11. '_LARGEFILE_SOURCE',
  12. '_FILE_OFFSET_BITS=64',
  13. ],
  14. 'conditions': [
  15. [ 'OS=="mac"', {
  16. 'LDFLAGS': [
  17. '-framework IOKit',
  18. '-framework CoreFoundation'
  19. ],
  20. 'xcode_settings': {
  21. 'CLANG_CXX_LIBRARY': 'libc++',
  22. 'MACOSX_DEPLOYMENT_TARGET': '10.9',
  23. 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
  24. 'OTHER_LDFLAGS': [
  25. '-framework IOKit',
  26. '-framework CoreFoundation'
  27. ],
  28. }
  29. }], # OS==mac
  30. [ 'OS=="linux"', {
  31. 'conditions': [
  32. [ 'driver=="libusb"', {
  33. 'libraries': ['-lusb-1.0']
  34. }],
  35. [ 'driver=="hidraw"', {
  36. 'libraries': ['-ludev','-lusb-1.0']
  37. }]
  38. ],
  39. }], # OS==linux
  40. [ 'OS=="win"', {
  41. 'msvs_settings': {
  42. 'VCLinkerTool': {
  43. 'AdditionalDependencies': ['setupapi.lib']
  44. }
  45. }
  46. }] # OS==win
  47. ],
  48. 'cflags!': ['-ansi', '-fno-exceptions' ],
  49. 'cflags_cc!': [ '-fno-exceptions' ],
  50. 'cflags': ['-g', '-exceptions'],
  51. 'cflags_cc': ['-g', '-exceptions']
  52. }, # target HID
  53. {
  54. 'target_name': 'hidapi',
  55. 'type': 'static_library',
  56. 'conditions': [
  57. [ 'OS=="mac"', {
  58. 'sources': [ 'hidapi/mac/hid.c' ],
  59. 'include_dirs+': ['/usr/include/libusb-1.0/'],
  60. 'xcode_settings': {
  61. 'OTHER_CFLAGS': ['-Wno-sign-compare'],
  62. }
  63. }],
  64. [ 'OS=="linux"', {
  65. 'conditions': [
  66. [ 'driver=="libusb"', {
  67. 'sources': [ 'hidapi/libusb/hid.c' ],
  68. 'include_dirs+': ['/usr/include/libusb-1.0/']
  69. }],
  70. [ 'driver=="hidraw"', {
  71. 'sources': [ 'hidapi/linux/hid.c' ]
  72. }]
  73. ]
  74. }],
  75. [ 'OS=="win"', {
  76. 'sources': [ 'hidapi/windows/hid.c' ],
  77. 'msvs_settings': {
  78. 'VCLinkerTool': {
  79. 'AdditionalDependencies': ['setupapi.lib']
  80. }
  81. }
  82. }]
  83. ],
  84. 'direct_dependent_settings': {
  85. 'include_dirs': [
  86. 'hidapi/hidapi',
  87. "<!(node -e \"require('nan')\")"
  88. ]
  89. },
  90. 'include_dirs': ['hidapi/hidapi'],
  91. 'defines': [
  92. '_LARGEFILE_SOURCE',
  93. '_FILE_OFFSET_BITS=64',
  94. ],
  95. 'cflags': ['-g'],
  96. 'cflags!': ['-ansi']
  97. }, # target hidapi
  98. ],
  99. 'conditions': [
  100. [ 'OS=="linux"', {
  101. 'targets': [
  102. {
  103. 'target_name': 'HID-hidraw',
  104. 'sources': [ 'src/HID.cc' ],
  105. 'dependencies': ['hidapi-linux-hidraw'],
  106. 'defines': [
  107. '_LARGEFILE_SOURCE',
  108. '_FILE_OFFSET_BITS=64',
  109. ],
  110. 'libraries': [
  111. '-ludev',
  112. '-lusb-1.0'
  113. ],
  114. 'cflags!': ['-ansi', '-fno-exceptions' ],
  115. 'cflags_cc!': [ '-fno-exceptions' ],
  116. 'cflags': ['-g', '-exceptions'],
  117. 'cflags_cc': ['-g', '-exceptions']
  118. }, # target 'HID-hidraw'
  119. {
  120. 'target_name': 'hidapi-linux-hidraw',
  121. 'type': 'static_library',
  122. 'sources': [ 'hidapi/linux/hid.c' ],
  123. 'direct_dependent_settings': {
  124. 'include_dirs': [
  125. 'hidapi/hidapi',
  126. "<!(node -e \"require('nan')\")"
  127. ]
  128. },
  129. 'include_dirs': ['hidapi/hidapi' ],
  130. 'defines': [
  131. '_LARGEFILE_SOURCE',
  132. '_FILE_OFFSET_BITS=64',
  133. ],
  134. 'cflags': ['-g'],
  135. 'cflags!': ['-ansi']
  136. }, # target 'hidapi-linux-hidraw'
  137. ] # targets linux
  138. }], # OS==linux
  139. ] # conditions
  140. }