 a0e61807a3
			
		
	
	
		a0e61807a3
		
	
	
	
	
		
			
			We removed the QMP loop in user-mode builds in commit 1935e0e4e09
("qapi/meson: Remove QMP from user-mode emulation"), now commands
and events code is unreachable.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210224171642.3242293-1-philmd@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
		
	
			
		
			
				
	
	
		
			146 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
| util_ss.add(files(
 | |
|   'opts-visitor.c',
 | |
|   'qapi-clone-visitor.c',
 | |
|   'qapi-dealloc-visitor.c',
 | |
|   'qapi-util.c',
 | |
|   'qapi-visit-core.c',
 | |
|   'qobject-input-visitor.c',
 | |
|   'qobject-output-visitor.c',
 | |
|   'string-input-visitor.c',
 | |
|   'string-output-visitor.c',
 | |
| ))
 | |
| if have_system or have_tools
 | |
|   util_ss.add(files(
 | |
|     'qmp-dispatch.c',
 | |
|     'qmp-event.c',
 | |
|     'qmp-registry.c',
 | |
|   ))
 | |
| endif
 | |
| 
 | |
| qapi_all_modules = [
 | |
|   'authz',
 | |
|   'block',
 | |
|   'block-core',
 | |
|   'block-export',
 | |
|   'char',
 | |
|   'common',
 | |
|   'control',
 | |
|   'crypto',
 | |
|   'dump',
 | |
|   'error',
 | |
|   'introspect',
 | |
|   'job',
 | |
|   'machine',
 | |
|   'machine-target',
 | |
|   'migration',
 | |
|   'misc',
 | |
|   'misc-target',
 | |
|   'net',
 | |
|   'pragma',
 | |
|   'qom',
 | |
|   'replay',
 | |
|   'run-state',
 | |
|   'sockets',
 | |
|   'trace',
 | |
|   'transaction',
 | |
|   'yank',
 | |
| ]
 | |
| if have_system
 | |
|   qapi_all_modules += [
 | |
|     'acpi',
 | |
|     'audio',
 | |
|     'qdev',
 | |
|     'pci',
 | |
|     'rdma',
 | |
|     'rocker',
 | |
|     'tpm',
 | |
|   ]
 | |
| endif
 | |
| if have_system or have_tools
 | |
|   qapi_all_modules += [
 | |
|     'ui',
 | |
|   ]
 | |
| endif
 | |
| 
 | |
| qapi_storage_daemon_modules = [
 | |
|   'block-core',
 | |
|   'block-export',
 | |
|   'char',
 | |
|   'common',
 | |
|   'control',
 | |
|   'crypto',
 | |
|   'introspect',
 | |
|   'job',
 | |
|   'qom',
 | |
|   'sockets',
 | |
|   'pragma',
 | |
|   'transaction',
 | |
| ]
 | |
| 
 | |
| qapi_nonmodule_outputs = [
 | |
|   'qapi-introspect.c', 'qapi-introspect.h',
 | |
|   'qapi-types.c', 'qapi-types.h',
 | |
|   'qapi-visit.h', 'qapi-visit.c',
 | |
|   'qapi-commands.h', 'qapi-commands.c',
 | |
|   'qapi-init-commands.h', 'qapi-init-commands.c',
 | |
|   'qapi-events.h', 'qapi-events.c',
 | |
|   'qapi-emit-events.c', 'qapi-emit-events.h',
 | |
| ]
 | |
| 
 | |
| # First build all sources
 | |
| qapi_util_outputs = [
 | |
|   'qapi-builtin-types.c', 'qapi-builtin-visit.c',
 | |
|   'qapi-builtin-types.h', 'qapi-builtin-visit.h',
 | |
| ]
 | |
| 
 | |
| qapi_inputs = []
 | |
| qapi_specific_outputs = []
 | |
| foreach module : qapi_all_modules
 | |
|   qapi_inputs += [ files(module + '.json') ]
 | |
|   qapi_module_outputs = [
 | |
|     'qapi-types-@0@.c'.format(module),
 | |
|     'qapi-types-@0@.h'.format(module),
 | |
|     'qapi-visit-@0@.c'.format(module),
 | |
|     'qapi-visit-@0@.h'.format(module),
 | |
|   ]
 | |
|   if have_system or have_tools
 | |
|     qapi_module_outputs += [
 | |
|       'qapi-events-@0@.c'.format(module),
 | |
|       'qapi-events-@0@.h'.format(module),
 | |
|       'qapi-commands-@0@.c'.format(module),
 | |
|       'qapi-commands-@0@.h'.format(module),
 | |
|     ]
 | |
|   endif
 | |
|   if module.endswith('-target')
 | |
|     qapi_specific_outputs += qapi_module_outputs
 | |
|   else
 | |
|     qapi_util_outputs += qapi_module_outputs
 | |
|   endif
 | |
| endforeach
 | |
| 
 | |
| qapi_files = custom_target('shared QAPI source files',
 | |
|   output: qapi_util_outputs + qapi_specific_outputs + qapi_nonmodule_outputs,
 | |
|   input: [ files('qapi-schema.json') ],
 | |
|   command: [ qapi_gen, '-o', 'qapi', '-b', '@INPUT0@' ],
 | |
|   depend_files: [ qapi_inputs, qapi_gen_depends ])
 | |
| 
 | |
| # Now go through all the outputs and add them to the right sourceset.
 | |
| # These loops must be synchronized with the output of the above custom target.
 | |
| 
 | |
| i = 0
 | |
| foreach output : qapi_util_outputs
 | |
|   if output.endswith('.h')
 | |
|     genh += qapi_files[i]
 | |
|   endif
 | |
|   util_ss.add(qapi_files[i])
 | |
|   i = i + 1
 | |
| endforeach
 | |
| 
 | |
| foreach output : qapi_specific_outputs + qapi_nonmodule_outputs
 | |
|   if output.endswith('.h')
 | |
|     genh += qapi_files[i]
 | |
|   endif
 | |
|   specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: qapi_files[i])
 | |
|   i = i + 1
 | |
| endforeach
 |