guest agent: remove uneeded dependencies
This patch tries to cull any uneeded library dependencies from the guest agent to improve portability across various distros. We do so by being as explicit as possible about in-tree dependencies rather than relying on existing *-obj-y targets, and by manually setting LIBS for the qemu-ga target to avoid pulling in LIBS_TOOLS libraries discovered by configure. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
		
							parent
							
								
									8f47747899
								
							
						
					
					
						commit
						957f1f99f2
					
				
							
								
								
									
										8
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Makefile
									
									
									
									
									
								
							| @ -166,6 +166,7 @@ test-coroutine: test-coroutine.o qemu-timer-common.o async.o $(coroutine-obj-y) | ||||
| $(qapi-obj-y): $(GENERATED_HEADERS) | ||||
| qapi-dir := qapi-generated | ||||
| test-visitor.o test-qmp-commands.o qemu-ga$(EXESUF): QEMU_CFLAGS += -I $(qapi-dir) | ||||
| qemu-ga$(EXESUF): LIBS = $(LIBS_QGA) | ||||
| 
 | ||||
| $(qapi-dir)/test-qapi-types.c: $(qapi-dir)/test-qapi-types.h | ||||
| $(qapi-dir)/test-qapi-types.h: $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py | ||||
| @ -192,12 +193,11 @@ test-visitor: test-visitor.o qfloat.o qint.o qdict.o qstring.o qlist.o qbool.o $ | ||||
| test-qmp-commands.o: $(addprefix $(qapi-dir)/, test-qapi-types.c test-qapi-types.h test-qapi-visit.c test-qapi-visit.h test-qmp-marshal.c test-qmp-commands.h) $(qapi-obj-y) | ||||
| test-qmp-commands: test-qmp-commands.o qfloat.o qint.o qdict.o qstring.o qlist.o qbool.o $(qapi-obj-y) error.o osdep.o $(oslib-obj-y) qjson.o json-streamer.o json-lexer.o json-parser.o qerror.o qemu-error.o qemu-tool.o $(qapi-dir)/test-qapi-visit.o $(qapi-dir)/test-qapi-types.o $(qapi-dir)/test-qmp-marshal.o module.o | ||||
| 
 | ||||
| QGALIB=qga/guest-agent-command-state.o qga/guest-agent-commands.o | ||||
| QGALIB_GEN=$(addprefix $(qapi-dir)/, qga-qapi-types.c qga-qapi-types.h qga-qapi-visit.c qga-qmp-marshal.c) | ||||
| 
 | ||||
| $(QGALIB_GEN): $(GENERATED_HEADERS) | ||||
| $(QGALIB) qemu-ga.o: $(QGALIB_GEN) $(qapi-obj-y) | ||||
| qemu-ga$(EXESUF): qemu-ga.o $(QGALIB) qemu-tool.o qemu-error.o error.o $(oslib-obj-y) $(trace-obj-y) $(block-obj-y) $(qobject-obj-y) $(version-obj-y) $(qapi-obj-y) qemu-timer-common.o qemu-sockets.o module.o qapi/qmp-dispatch.o qapi/qmp-registry.o $(qapi-dir)/qga-qapi-visit.o $(qapi-dir)/qga-qapi-types.o $(qapi-dir)/qga-qmp-marshal.o | ||||
| $(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) | ||||
| 
 | ||||
| qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(qapi-obj-y) $(trace-obj-y) $(qobject-obj-y) $(version-obj-y) $(addprefix $(qapi-dir)/, qga-qapi-visit.o qga-qapi-types.o qga-qmp-marshal.o) | ||||
| 
 | ||||
| QEMULIBS=libhw32 libhw64 libuser libdis libdis-user | ||||
| 
 | ||||
|  | ||||
| @ -396,6 +396,15 @@ qapi-nested-y = qapi-visit-core.o qmp-input-visitor.o qmp-output-visitor.o qapi- | ||||
| qapi-nested-y += qmp-registry.o qmp-dispatch.o | ||||
| qapi-obj-y = $(addprefix qapi/, $(qapi-nested-y)) | ||||
| 
 | ||||
| ######################################################################
 | ||||
| # guest agent
 | ||||
| 
 | ||||
| qga-nested-y = guest-agent-commands.o guest-agent-command-state.o | ||||
| qga-obj-y = $(addprefix qga/, $(qga-nested-y)) | ||||
| qga-obj-y += qemu-ga.o qemu-tool.o qemu-error.o qemu-sockets.o module.o qemu-option.o cutils.o osdep.o | ||||
| qga-obj-$(CONFIG_WIN32) += oslib-win32.o | ||||
| qga-obj-$(CONFIG_POSIX) += oslib-posix.o | ||||
| 
 | ||||
| vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) | ||||
| 
 | ||||
| vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS) | ||||
|  | ||||
							
								
								
									
										3
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @ -92,6 +92,7 @@ libs_tools="" | ||||
| audio_pt_int="" | ||||
| audio_win_int="" | ||||
| cc_i386=i386-pc-linux-gnu-gcc | ||||
| libs_qga="" | ||||
| 
 | ||||
| target_list="" | ||||
| 
 | ||||
| @ -1849,6 +1850,7 @@ if $pkg_config --modversion gthread-2.0 > /dev/null 2>&1 ; then | ||||
|     glib_cflags=`$pkg_config --cflags gthread-2.0 2>/dev/null` | ||||
|     glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null` | ||||
|     LIBS="$glib_libs $LIBS" | ||||
|     libs_qga="$glib_libs $libs_qga" | ||||
| else | ||||
|     echo "glib-2.0 required to compile QEMU" | ||||
|     exit 1 | ||||
| @ -3107,6 +3109,7 @@ echo "ARLIBS_END=$arlibs_end" >> $config_host_mak | ||||
| echo "LIBS+=$LIBS" >> $config_host_mak | ||||
| echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak | ||||
| echo "EXESUF=$EXESUF" >> $config_host_mak | ||||
| echo "LIBS_QGA+=$libs_qga" >> $config_host_mak | ||||
| 
 | ||||
| # generate list of library paths for linker script | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Michael Roth
						Michael Roth