mirror of
https://github.com/infiniteCable2/opendbc.git
synced 2026-02-18 13:03:52 +08:00
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
Import('env','envCython','common','arch')
|
|
from SCons.Subst import Literal # ← add this
|
|
envDBC = env.Clone()
|
|
envDBC['CXXFLAGS'] += ['-DDBC_FILE_PATH=\\"%s\\"' % envDBC.Dir('../dbc').abspath]
|
|
src = ['dbc.cc','parser.cc','packer.cc','common.cc']
|
|
linkflags = envDBC['LINKFLAGS']
|
|
if arch == 'Darwin':
|
|
linkflags += ['-Wl,-install_name,@loader_path/../..//libdbc.dylib']
|
|
libdbc = envDBC.SharedLibrary('libdbc',src,LIBS=[common],LINKFLAGS=linkflags)
|
|
|
|
lenv = envCython.Clone()
|
|
dbc_dir = libdbc[0].dir.abspath
|
|
lenv.Append(LIBPATH=[dbc_dir])
|
|
|
|
if arch == 'Darwin':
|
|
rpath_flags = [
|
|
'-Wl,-rpath,@loader_path',
|
|
'-Wl,-rpath,@loader_path/../..',
|
|
]
|
|
else:
|
|
rpath_flags = [
|
|
Literal('-Wl,-rpath,$ORIGIN'),
|
|
Literal('-Wl,-rpath,$ORIGIN/../..'),
|
|
]
|
|
lenv.Append(LINKFLAGS=rpath_flags)
|
|
parser = lenv.SharedLibrary('parser_pyx','parser_pyx.pyx',SHLIBPREFIX='',SHLIBSUFFIX='.so',LIBS=[common,'dbc'])
|
|
packer = lenv.SharedLibrary('packer_pyx','packer_pyx.pyx',SHLIBPREFIX='',SHLIBSUFFIX='.so',LIBS=[common,'dbc'])
|
|
|
|
opendbc_python = Alias('opendbc_python',[parser,packer,libdbc])
|
|
Export('opendbc_python')
|