You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.2 KiB
58 lines
1.2 KiB
5 years ago
|
import os
|
||
|
import subprocess
|
||
|
|
||
|
zmq = 'zmq'
|
||
|
arch = subprocess.check_output(["uname", "-m"], encoding='utf8').rstrip()
|
||
|
|
||
|
cereal_dir = Dir('.')
|
||
|
|
||
|
cpppath = [
|
||
|
'#',
|
||
|
'#cereal',
|
||
|
"#cereal/messaging",
|
||
|
"#opendbc/can",
|
||
|
'/usr/lib/include',
|
||
|
]
|
||
|
|
||
|
AddOption('--test',
|
||
|
action='store_true',
|
||
|
help='build test files')
|
||
|
|
||
|
AddOption('--asan',
|
||
|
action='store_true',
|
||
|
help='turn on ASAN')
|
||
|
|
||
|
ccflags_asan = ["-fsanitize=address", "-fno-omit-frame-pointer"] if GetOption('asan') else []
|
||
|
ldflags_asan = ["-fsanitize=address"] if GetOption('asan') else []
|
||
|
|
||
|
env = Environment(
|
||
|
ENV=os.environ,
|
||
|
CC='clang',
|
||
|
CXX='clang++',
|
||
|
CCFLAGS=[
|
||
|
"-g",
|
||
|
"-fPIC",
|
||
|
"-O2",
|
||
|
"-Werror=implicit-function-declaration",
|
||
|
"-Werror=incompatible-pointer-types",
|
||
|
"-Werror=int-conversion",
|
||
|
"-Werror=return-type",
|
||
|
"-Werror=format-extra-args",
|
||
|
] + ccflags_asan,
|
||
|
LDFLAGS=ldflags_asan,
|
||
|
LINKFLAGS=ldflags_asan,
|
||
|
|
||
|
CFLAGS="-std=gnu11",
|
||
|
CXXFLAGS="-std=c++14",
|
||
|
CPPPATH=cpppath,
|
||
|
)
|
||
|
|
||
|
Export('env', 'zmq', 'arch')
|
||
|
|
||
|
cereal = [File('#cereal/libcereal.a')]
|
||
|
messaging = [File('#cereal/libmessaging.a')]
|
||
|
Export('cereal', 'messaging')
|
||
|
|
||
|
SConscript(['cereal/SConscript'])
|
||
|
SConscript(['opendbc/can/SConscript'])
|