xen = declare_dependency(compile_args: config_host['XEN_CFLAGS'].split(),
link_args: config_host['XEN_LIBS'].split())
endif
+cacard = not_found
+if 'CONFIG_SMARTCARD' in config_host
+ cacard = declare_dependency(compile_args: config_host['SMARTCARD_CFLAGS'].split(),
+ link_args: config_host['SMARTCARD_LIBS'].split())
+endif
+usbredir = not_found
+if 'CONFIG_USB_REDIR' in config_host
+ usbredir = declare_dependency(compile_args: config_host['USB_REDIR_CFLAGS'].split(),
+ link_args: config_host['USB_REDIR_LIBS'].split())
+endif
+libusb = not_found
+if 'CONFIG_USB_LIBUSB' in config_host
+ libusb = declare_dependency(compile_args: config_host['LIBUSB_CFLAGS'].split(),
+ link_args: config_host['LIBUSB_LIBS'].split())
+endif
create_config = find_program('scripts/create_config')
minikconf = find_program('scripts/minikconf.py')
qemuutil = declare_dependency(link_with: libqemuutil,
sources: genh + version_res)
+decodetree = generator(find_program('scripts/decodetree.py'),
+ output: 'decode-@BASENAME@.c.inc',
+ arguments: ['@INPUT@', '@EXTRA_ARGS@', '-o', '@OUTPUT@'])
+
subdir('audio')
subdir('io')
subdir('chardev')
subdir('fsdev')
+subdir('libdecnumber')
subdir('target')
subdir('dump')
subdir('net')
subdir('replay')
subdir('hw')
+subdir('accel')
+subdir('linux-user')
+
+linux_user_ss.add(files('gdbstub.c', 'thunk.c'))
+specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)
# needed for fuzzing binaries
subdir('tests/qtest/libqos')
if target.endswith('-softmmu')
qemu_target_name = 'qemu-system-' + target_name
target_type='system'
+ t = target_softmmu_arch[arch].apply(config_target, strict: false)
+ arch_srcs += t.sources()
+
+ hw_dir = target_name == 'sparc64' ? 'sparc64' : arch
+ hw = hw_arch[hw_dir].apply(config_target, strict: false)
+ arch_srcs += hw.sources()
+
arch_srcs += config_devices_h[target]
else
+ abi = config_target['TARGET_ABI_DIR']
target_type='user'
qemu_target_name = 'qemu-' + target_name
if 'CONFIG_LINUX_USER' in config_target
endif
target_inc += include_directories(
base_dir,
- base_dir / config_target['TARGET_ABI_DIR'],
+ base_dir / abi,
)
+ if 'CONFIG_LINUX_USER' in config_target
+ dir = base_dir / abi
+ arch_srcs += files(dir / 'signal.c', dir / 'cpu_loop.c')
+ if config_target.has_key('TARGET_SYSTBL_ABI')
+ arch_srcs += \
+ syscall_nr_generators[abi].process(base_dir / abi / config_target['TARGET_SYSTBL'],
+ extra_args : config_target['TARGET_SYSTBL_ABI'])
+ endif
+ endif
endif
+ t = target_arch[arch].apply(config_target, strict: false)
+ arch_srcs += t.sources()
+
target_common = common_ss.apply(config_target, strict: false)
objects = common_all.extract_objects(target_common.sources())