mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-30 01:47:31 +00:00 
			
		
		
		
	 a81df1b68b
			
		
	
	
		a81df1b68b
		
	
	
	
	
		
			
			This shows how to do some "computations" in meson.build using its array and dictionary data structures, and also a basic usage of the sourceset module for conditional compilation. Notice the new "if have_system" part of util/meson.build, which fixes a bug in the old build system was buggy: util/dbus.c was built even for non-softmmu builds, but the dependency on -lgio was lost when the linking was done through libqemuutil.a. Because all of its users required gio otherwise, the bug was hidden. Meson instead propagates libqemuutil's dependencies down to its users, and shows the problem. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| """
 | |
| LTTng User Space Tracing backend.
 | |
| """
 | |
| 
 | |
| __author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
 | |
| __copyright__  = "Copyright 2012-2017, Lluís Vilanova <vilanova@ac.upc.edu>"
 | |
| __license__    = "GPL version 2 or (at your option) any later version"
 | |
| 
 | |
| __maintainer__ = "Stefan Hajnoczi"
 | |
| __email__      = "stefanha@redhat.com"
 | |
| 
 | |
| 
 | |
| from tracetool import out
 | |
| 
 | |
| 
 | |
| PUBLIC = True
 | |
| 
 | |
| 
 | |
| def generate_h_begin(events, group):
 | |
|     header = 'trace-ust-' + group + '.h'
 | |
|     out('#include <lttng/tracepoint.h>',
 | |
|         '#include "%s"' % header,
 | |
|         '',
 | |
|         '/* tracepoint_enabled() was introduced in LTTng UST 2.7 */',
 | |
|         '#ifndef tracepoint_enabled',
 | |
|         '#define tracepoint_enabled(a, b) true',
 | |
|         '#endif',
 | |
|         '')
 | |
| 
 | |
| 
 | |
| def generate_h(event, group):
 | |
|     argnames = ", ".join(event.args.names())
 | |
|     if len(event.args) > 0:
 | |
|         argnames = ", " + argnames
 | |
| 
 | |
|     out('    tracepoint(qemu, %(name)s%(tp_args)s);',
 | |
|         name=event.name,
 | |
|         tp_args=argnames)
 | |
| 
 | |
| 
 | |
| def generate_h_backend_dstate(event, group):
 | |
|     out('    tracepoint_enabled(qemu, %(name)s) || \\',
 | |
|         name=event.name)
 |