Files
opendbc-meb/SConstruct
Jason Wen 577e864a10 Merge branch 'upstream/opendbc/master' into sync-20250731
# 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
2025-08-01 23:57:03 -04:00

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'])