Import ( ' env ' , ' envCython ' , ' arch ' , ' SHARED ' )
if SHARED :
fxn = env . SharedLibrary
else :
fxn = env . Library
common_libs = [
' params.cc ' ,
' statlog.cc ' ,
' swaglog.cc ' ,
' util.cc ' ,
' i2c.cc ' ,
' watchdog.cc ' ,
]
if arch != " Darwin " :
common_libs . append ( ' gpio.cc ' )
_common = fxn ( ' common ' , common_libs , LIBS = " json11 " )
files = [
' clutil.cc ' ,
]
_gpucommon = fxn ( ' gpucommon ' , files )
Export ( ' _common ' , ' _gpucommon ' )
if GetOption ( ' test ' ) :
env . Program ( ' tests/test_util ' , [ ' tests/test_util.cc ' ] , LIBS = [ _common ] )
env . Program ( ' tests/test_swaglog ' , [ ' tests/test_swaglog.cc ' ] , LIBS = [ _common , ' json11 ' , ' zmq ' , ' pthread ' ] )
# Cython
envCython . Program ( ' clock.so ' , ' clock.pyx ' )
envCython . Program ( ' params_pyx.so ' , ' params_pyx.pyx ' , LIBS = envCython [ ' LIBS ' ] + [ _common , ' zmq ' , ' json11 ' ] )