summaryrefslogtreecommitdiff
path: root/libs/hidapi/wscript
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-10-23 22:53:10 +0200
committerRobin Gareus <robin@gareus.org>2016-10-23 22:53:10 +0200
commitc78824aef510258545a04b477463b86be1fe55bd (patch)
tree51a1b3700ae32a68ce2281f4337b814001cb5051 /libs/hidapi/wscript
parent57d1f68cd6ef3b55fd43462b92dbed91b7c250ac (diff)
Include hidapi library
Diffstat (limited to 'libs/hidapi/wscript')
-rw-r--r--libs/hidapi/wscript67
1 files changed, 67 insertions, 0 deletions
diff --git a/libs/hidapi/wscript b/libs/hidapi/wscript
new file mode 100644
index 0000000000..cf95c8c71d
--- /dev/null
+++ b/libs/hidapi/wscript
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+from waflib.extras import autowaf as autowaf
+from waflib import Options
+import os
+import re
+import sys
+
+HIDAPI_VERSION = '0.8.0'
+
+# Variables for 'waf dist'
+APPNAME = 'hidapi'
+VERSION = HIDAPI_VERSION
+
+# Mandatory variables
+top = '.'
+out = 'build'
+
+def options(opt):
+ autowaf.set_options(opt)
+
+def configure(conf):
+ if conf.is_defined('USE_EXTERNAL_LIBS'):
+ autowaf.check_pkg(conf, 'hidapi-hidraw', uselib_store='HIDAPI', mandatory=False)
+ else:
+ if conf.env['build_target'] == 'mingw':
+ conf.check (compiler='cxx', lib='setupapi', mandatory=True, uselib_store='SETUPAPI')
+ conf.define ('HAVE_HIDAPI', conf.is_defined('HAVE_SETUPAPI'))
+ elif re.search ("linux", sys.platform) != None:
+ autowaf.check_pkg(conf, 'libudev', uselib_store='UDEV', mandatory=False)
+ conf.define ('HAVE_HIDAPI', conf.is_defined('HAVE_UDEV'))
+ else:
+ conf.define ('HAVE_HIDAPI', 1)
+ conf.load('compiler_c')
+ autowaf.configure(conf)
+
+def build(bld):
+ if bld.is_defined('USE_EXTERNAL_LIBS'):
+ return
+ if not bld.get_define('HAVE_HIDAPI'):
+ return
+
+ # Host Library
+ obj = bld(features = 'c cstlib')
+ autowaf.ensure_visible_symbols (obj, False)
+ obj.export_includes = ['hidapi']
+ obj.includes = ['hidapi']
+ obj.name = 'hidapi'
+ obj.target = 'hidapi'
+ obj.vnum = HIDAPI_VERSION
+ obj.install_path = bld.env['LIBDIR']
+
+ if bld.env['build_target'] == 'mingw':
+ obj.source = 'windows/hid.c'
+ obj.linkflags = [ '-lsetupapi', '-mwindows' ]
+ obj.uselib = 'SETUPAPI'
+ else:
+ obj.cflags += [ '-fPIC' ]
+ if sys.platform == 'darwin':
+ obj.source = 'mac/hid.c'
+ obj.framework = [ 'IOKit', 'CoreFoundation' ]
+ else:
+ obj.source = 'linux/hid.c'
+ if re.search ("linux", sys.platform) != None:
+ obj.uselib = 'UDEV'
+
+def shutdown():
+ autowaf.shutdown()