hw_common_arch = {}
target_common_arch = {}
target_common_system_arch = {}
+target_stubs_arch = {}
# NOTE: the trace/ subdirectory needs the qapi_trace_events variable
# that is filled in by qapi/.
# construct common libraries per base architecture
target_common_arch_libs = {}
target_common_system_arch_libs = {}
+target_stubs_arch_libs = {}
foreach target_base_arch, config_base_arch : config_base_arch_mak
target_inc = [include_directories('target' / target_base_arch)]
inc = [common_user_inc + target_inc]
dependencies: src.all_dependencies() + common_deps + system_deps)
target_common_system_arch_libs += {target_base_arch: lib}
endif
+
+ if target_base_arch in target_stubs_arch
+ src = target_stubs_arch[target_base_arch]
+ lib = static_library('stubs_' + target_base_arch,
+ sources: src.all_sources() + genh,
+ include_directories: inc,
+ c_args: target_system_c_args)
+ target_stubs_arch_libs += {target_base_arch: lib}
+ endif
endforeach
if have_rust
objects += lib.extract_objects(src.sources())
arch_deps += src.dependencies()
endif
+ lib_target_stubs = []
+ if target_base_arch in target_stubs_arch_libs
+ lib_target_stubs = [target_stubs_arch_libs[target_base_arch]]
+ endif
+ target_stubs = declare_dependency(link_with: lib_target_stubs)
target_specific = specific_ss.apply(config_target, strict: false)
arch_srcs += target_specific.sources()
'name': 'qemu-system-' + target_name,
'win_subsystem': 'console',
'sources': [main_rs, files('system/main.c')],
- 'dependencies': [sdl]
+ 'dependencies': [sdl, target_stubs],
}]
if host_os == 'windows' and (sdl.found() or gtk.found())
execs += [{
'name': 'qemu-system-' + target_name + 'w',
'win_subsystem': 'windows',
'sources': [main_rs, files('system/main.c')],
- 'dependencies': [sdl]
+ 'dependencies': [sdl, target_stubs],
}]
endif
if get_option('fuzzing')
'name': 'qemu-' + target_name,
'win_subsystem': 'console',
'sources': [],
- 'dependencies': []
+ 'dependencies': [target_stubs]
}]
endif
foreach exe: execs