mirror of
https://github.com/infiniteCable2/opendbc.git
synced 2026-02-18 13:03:52 +08:00
# Conflicts: # opendbc/car/body/carstate.py # opendbc/car/chrysler/carstate.py # opendbc/car/ford/carstate.py # opendbc/car/gm/carstate.py # opendbc/car/honda/carstate.py # opendbc/car/honda/interface.py # opendbc/car/hyundai/carstate.py # opendbc/car/hyundai/interface.py # opendbc/car/interfaces.py # opendbc/car/mazda/carstate.py # opendbc/car/nissan/carstate.py # opendbc/car/rivian/carstate.py # opendbc/car/subaru/carstate.py # opendbc/car/subaru/interface.py # opendbc/car/tesla/carstate.py # opendbc/car/toyota/interface.py # opendbc/car/volkswagen/carstate.py # opendbc/safety/modes/chrysler.h # opendbc/safety/modes/ford.h # opendbc/safety/modes/honda.h # opendbc/safety/modes/hyundai.h # opendbc/safety/modes/hyundai_canfd.h # opendbc/safety/modes/nissan.h # opendbc/safety/modes/subaru.h # opendbc/safety/modes/tesla.h # opendbc/safety/modes/toyota.h # opendbc/safety/tests/mutation.sh # opendbc/safety/tests/safety_replay/replay_drive.py
69 lines
1.5 KiB
Python
69 lines
1.5 KiB
Python
import os
|
|
import subprocess
|
|
import platform
|
|
|
|
arch = subprocess.check_output(["uname", "-m"], encoding='utf8').rstrip()
|
|
if platform.system() == "Darwin":
|
|
arch = "Darwin"
|
|
|
|
cpppath = [
|
|
'#',
|
|
'/usr/lib/include',
|
|
]
|
|
|
|
AddOption('--minimal',
|
|
action='store_false',
|
|
dest='extras',
|
|
default=True,
|
|
help='the minimum build. no tests, tools, etc.')
|
|
|
|
AddOption('--asan',
|
|
action='store_true',
|
|
help='turn on ASAN')
|
|
|
|
# safety options
|
|
AddOption('--ubsan',
|
|
action='store_true',
|
|
help='turn on UBSan')
|
|
|
|
AddOption('--coverage',
|
|
action='store_true',
|
|
help='build with test coverage options')
|
|
|
|
AddOption('--mutation',
|
|
action='store_true',
|
|
help='generate mutation-ready code')
|
|
|
|
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='gcc',
|
|
CXX='g++',
|
|
CCFLAGS=[
|
|
"-g",
|
|
"-fPIC",
|
|
"-O2",
|
|
"-Wunused",
|
|
"-Werror",
|
|
"-Wshadow",
|
|
"-Wno-vla-cxx-extension",
|
|
"-Wno-unknown-warning-option", # for compatibility across compiler versions
|
|
] + ccflags_asan,
|
|
LDFLAGS=ldflags_asan,
|
|
LINKFLAGS=ldflags_asan,
|
|
CFLAGS="-std=gnu11",
|
|
CXXFLAGS=["-std=c++1z"],
|
|
CPPPATH=cpppath,
|
|
tools=["default", "compilation_db"]
|
|
)
|
|
if arch != "Darwin":
|
|
env.Append(CCFLAGS=["-fmax-errors=1", ])
|
|
|
|
env.CompilationDatabase('compile_commands.json')
|
|
|
|
Export('env', 'arch')
|
|
|
|
SConscript(['SConscript'])
|