diff options
author | Robin Gareus <robin@gareus.org> | 2016-10-23 22:53:10 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-10-23 22:53:10 +0200 |
commit | c78824aef510258545a04b477463b86be1fe55bd (patch) | |
tree | 51a1b3700ae32a68ce2281f4337b814001cb5051 /libs/hidapi/wscript | |
parent | 57d1f68cd6ef3b55fd43462b92dbed91b7c250ac (diff) |
Include hidapi library
Diffstat (limited to 'libs/hidapi/wscript')
-rw-r--r-- | libs/hidapi/wscript | 67 |
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() |