|  |  |  | Import('env', 'arch', 'common', 'cereal', 'messaging', 'rednose', 'transformations', 'socketmaster')
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | loc_libs = [cereal, socketmaster, messaging, 'zmq', common, 'capnp', 'kj', 'pthread', 'dl']
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # build ekf models
 | 
					
						
							|  |  |  | rednose_gen_dir = 'models/generated'
 | 
					
						
							|  |  |  | rednose_gen_deps = [
 | 
					
						
							|  |  |  |   "models/constants.py",
 | 
					
						
							|  |  |  | ]
 | 
					
						
							|  |  |  | live_ekf = env.RednoseCompileFilter(
 | 
					
						
							|  |  |  |   target='live',
 | 
					
						
							|  |  |  |   filter_gen_script='models/live_kf.py',
 | 
					
						
							|  |  |  |   output_dir=rednose_gen_dir,
 | 
					
						
							|  |  |  |   extra_gen_artifacts=['live_kf_constants.h'],
 | 
					
						
							|  |  |  |   gen_script_deps=rednose_gen_deps,
 | 
					
						
							|  |  |  | )
 | 
					
						
							|  |  |  | car_ekf = env.RednoseCompileFilter(
 | 
					
						
							|  |  |  |   target='car',
 | 
					
						
							|  |  |  |   filter_gen_script='models/car_kf.py',
 | 
					
						
							|  |  |  |   output_dir=rednose_gen_dir,
 | 
					
						
							|  |  |  |   extra_gen_artifacts=[],
 | 
					
						
							|  |  |  |   gen_script_deps=rednose_gen_deps,
 | 
					
						
							|  |  |  | )
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # locationd build
 | 
					
						
							|  |  |  | locationd_sources = ["locationd.cc", "models/live_kf.cc"]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | lenv = env.Clone()
 | 
					
						
							|  |  |  | # ekf filter libraries need to be linked, even if no symbols are used
 | 
					
						
							|  |  |  | if arch != "Darwin":
 | 
					
						
							|  |  |  |   lenv["LINKFLAGS"] += ["-Wl,--no-as-needed"]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | lenv["LIBPATH"].append(Dir(rednose_gen_dir).abspath)
 | 
					
						
							|  |  |  | lenv["RPATH"].append(Dir(rednose_gen_dir).abspath)
 | 
					
						
							|  |  |  | locationd = lenv.Program("locationd", locationd_sources, LIBS=["live", "ekf_sym"] + loc_libs + transformations)
 | 
					
						
							|  |  |  | lenv.Depends(locationd, rednose)
 | 
					
						
							|  |  |  | lenv.Depends(locationd, live_ekf)
 |