mirror of
https://github.com/commaai/msgq.git
synced 2026-06-13 08:25:46 +08:00
* Get tests running again * rn * I don't understand what any of this means * More updates * Try fixing test_fake * test fake passes * All python tests pass
52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
Import('env', 'envCython', 'arch', 'common')
|
|
|
|
|
|
visionipc_dir = Dir('visionipc')
|
|
gen_dir = Dir('gen')
|
|
|
|
|
|
# Build messaging
|
|
|
|
|
|
messaging_objects = env.SharedObject([
|
|
'messaging/messaging.cc',
|
|
'messaging/event.cc',
|
|
'messaging/impl_zmq.cc',
|
|
'messaging/impl_msgq.cc',
|
|
'messaging/impl_fake.cc',
|
|
'messaging/msgq.cc',
|
|
])
|
|
messaging = env.Library('messaging', messaging_objects)
|
|
messaging_python = envCython.Program('messaging/messaging_pyx.so', 'messaging/messaging_pyx.pyx', LIBS=envCython["LIBS"]+[messaging, "zmq", common])
|
|
|
|
|
|
# Build Vision IPC
|
|
vipc_files = ['ipc.cc', 'visionipc_server.cc', 'visionipc_client.cc', 'visionbuf.cc']
|
|
vipc_sources = [f'{visionipc_dir.abspath}/{f}' for f in vipc_files]
|
|
|
|
if arch == "larch64":
|
|
vipc_sources += [f'{visionipc_dir.abspath}/visionbuf_ion.cc']
|
|
else:
|
|
vipc_sources += [f'{visionipc_dir.abspath}/visionbuf_cl.cc']
|
|
|
|
vipc_objects = env.SharedObject(vipc_sources)
|
|
visionipc = env.Library('visionipc', vipc_objects)
|
|
|
|
|
|
vipc_frameworks = []
|
|
vipc_libs = envCython["LIBS"] + [visionipc, messaging, common, "zmq"]
|
|
if arch == "Darwin":
|
|
vipc_frameworks.append('OpenCL')
|
|
else:
|
|
vipc_libs.append('OpenCL')
|
|
envCython.Program(f'{visionipc_dir.abspath}/visionipc_pyx.so', f'{visionipc_dir.abspath}/visionipc_pyx.pyx',
|
|
LIBS=vipc_libs, FRAMEWORKS=vipc_frameworks)
|
|
|
|
if GetOption('extras'):
|
|
env.Program('messaging/test_runner', ['messaging/test_runner.cc', 'messaging/msgq_tests.cc'], LIBS=[messaging, common])
|
|
env.Program('visionipc/test_runner',
|
|
['visionipc/test_runner.cc', 'visionipc/visionipc_tests.cc'],
|
|
LIBS=['pthread'] + vipc_libs, FRAMEWORKS=vipc_frameworks)
|
|
|
|
Export('visionipc', 'messaging', 'messaging_python')
|