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.
		
		
		
		
		
			
		
			
				
					
					
						
							27 lines
						
					
					
						
							898 B
						
					
					
				
			
		
		
	
	
							27 lines
						
					
					
						
							898 B
						
					
					
				Import('env', 'cereal')
 | 
						|
 | 
						|
import os
 | 
						|
from opendbc.can.process_dbc import process
 | 
						|
 | 
						|
dbcs = []
 | 
						|
for x in sorted(os.listdir('../')):
 | 
						|
  if x.endswith(".dbc"):
 | 
						|
    def compile_dbc(target, source, env):
 | 
						|
      process(source[0].path, target[0].path)
 | 
						|
    in_fn = [os.path.join('../', x), 'dbc_template.cc']
 | 
						|
    out_fn = os.path.join('dbc_out', x.replace(".dbc", ".cc"))
 | 
						|
    dbc = env.Command(out_fn, in_fn, compile_dbc)
 | 
						|
    dbcs.append(dbc)
 | 
						|
 | 
						|
 | 
						|
libdbc = env.SharedLibrary('libdbc', ["dbc.cc", "parser.cc", "packer.cc", "common.cc"]+dbcs, LIBS=["capnp", "kj"])
 | 
						|
 | 
						|
# packer
 | 
						|
env.Command(['packer_pyx.so'],
 | 
						|
  [libdbc, 'packer_pyx.pyx', 'packer_pyx_setup.py'],
 | 
						|
  "cd opendbc/can && python3 packer_pyx_setup.py build_ext --inplace")
 | 
						|
 | 
						|
# parser
 | 
						|
env.Command(['parser_pyx.so'],
 | 
						|
  [libdbc, cereal, 'parser_pyx_setup.py', 'parser_pyx.pyx', 'common.pxd'],
 | 
						|
  "cd opendbc/can && python3 parser_pyx_setup.py build_ext --inplace")
 | 
						|
 |