13
0
livetrax/libs/hidapi/wscript
Mads Kiilerich d220f477ed wscript: drop unused "mandatory variables" 'top' and 'out' in libs
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.

These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00

59 lines
2.0 KiB
Python

#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
import re
import sys
HIDAPI_VERSION = '0.8.0'
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', 1)
elif sys.platform == 'darwin':
conf.define ('HAVE_HIDAPI', 1)
elif re.search ("linux", sys.platform) != None:
autowaf.check_pkg(conf, 'libudev', uselib_store='UDEV', mandatory=False)
if conf.is_defined('HAVE_UDEV'):
conf.define ('HAVE_HIDAPI', 1)
else:
print ("hidapi is not yet available for the given system")
def build(bld):
if bld.is_defined('USE_EXTERNAL_LIBS'):
return
if not bld.is_defined('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 += [ bld.env['compiler_flags_dict']['pic'] ]
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()