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-obj-y): $(GENERATED_HEADERS)
|
||||||
qapi-dir := qapi-generated
|
qapi-dir := qapi-generated
|
||||||
test-visitor.o test-qmp-commands.o qemu-ga$(EXESUF): QEMU_CFLAGS += -I $(qapi-dir)
|
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.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
|
$(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.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
|
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=$(addprefix $(qapi-dir)/, qga-qapi-types.c qga-qapi-types.h qga-qapi-visit.c qga-qmp-marshal.c)
|
||||||
|
|
||||||
$(QGALIB_GEN): $(GENERATED_HEADERS)
|
$(QGALIB_GEN): $(GENERATED_HEADERS)
|
||||||
$(QGALIB) qemu-ga.o: $(QGALIB_GEN) $(qapi-obj-y)
|
$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN)
|
||||||
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
|
|
||||||
|
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
|
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-nested-y += qmp-registry.o qmp-dispatch.o
|
||||||
qapi-obj-y = $(addprefix qapi/, $(qapi-nested-y))
|
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+=$(GPROF_CFLAGS)
|
||||||
|
|
||||||
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
|
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
|
||||||
|
3
configure
vendored
3
configure
vendored
@ -92,6 +92,7 @@ libs_tools=""
|
|||||||
audio_pt_int=""
|
audio_pt_int=""
|
||||||
audio_win_int=""
|
audio_win_int=""
|
||||||
cc_i386=i386-pc-linux-gnu-gcc
|
cc_i386=i386-pc-linux-gnu-gcc
|
||||||
|
libs_qga=""
|
||||||
|
|
||||||
target_list=""
|
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_cflags=`$pkg_config --cflags gthread-2.0 2>/dev/null`
|
||||||
glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null`
|
glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null`
|
||||||
LIBS="$glib_libs $LIBS"
|
LIBS="$glib_libs $LIBS"
|
||||||
|
libs_qga="$glib_libs $libs_qga"
|
||||||
else
|
else
|
||||||
echo "glib-2.0 required to compile QEMU"
|
echo "glib-2.0 required to compile QEMU"
|
||||||
exit 1
|
exit 1
|
||||||
@ -3107,6 +3109,7 @@ echo "ARLIBS_END=$arlibs_end" >> $config_host_mak
|
|||||||
echo "LIBS+=$LIBS" >> $config_host_mak
|
echo "LIBS+=$LIBS" >> $config_host_mak
|
||||||
echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
|
echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
|
||||||
echo "EXESUF=$EXESUF" >> $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
|
# generate list of library paths for linker script
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user