From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37066) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qrc1P-000715-RT for qemu-devel@nongnu.org; Thu, 11 Aug 2011 16:38:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qrc1L-00048u-Ox for qemu-devel@nongnu.org; Thu, 11 Aug 2011 16:38:31 -0400 Received: from mout.perfora.net ([74.208.4.194]:52061) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qrc1L-00048q-Gs for qemu-devel@nongnu.org; Thu, 11 Aug 2011 16:38:27 -0400 From: Michael Roth Date: Thu, 11 Aug 2011 15:38:12 -0500 Message-Id: <1313095092-25092-2-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1313095092-25092-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1313095092-25092-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 2/2] guest agent: remove uneeded dependencies List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, mdroth@linux.vnet.ibm.com 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 --- Makefile | 8 ++++---- Makefile.objs | 9 +++++++++ configure | 3 +++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 9e5871b..ccf52ab 100644 --- a/Makefile +++ b/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 qemu-malloc.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 diff --git a/Makefile.objs b/Makefile.objs index 432b619..bb8af56 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -393,6 +393,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-malloc.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) diff --git a/configure b/configure index 0c67a4a..8a566af 100755 --- a/configure +++ b/configure @@ -92,6 +92,7 @@ libs_tools="" audio_pt_int="" audio_win_int="" cc_i386=i386-pc-linux-gnu-gcc +libs_qga="" target_list="" @@ -1850,6 +1851,7 @@ if test "$guest_agent" != "no" ; then glib_libs=`$pkg_config --libs glib-2.0 2>/dev/null` libs_softmmu="$glib_libs $libs_softmmu" libs_tools="$glib_libs $libs_tools" + libs_qga="$glib_libs $libs_qga" else echo "glib-2.0 required to compile QEMU" exit 1 @@ -3109,6 +3111,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 -- 1.7.0.4