qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] guest agent: remove uneeded dependencies


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 2/2] guest agent: remove uneeded dependencies
Date: Fri, 12 Aug 2011 09:07:44 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 08/11/2011 03:38 PM, Michael Roth wrote:
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<address@hidden>

This breaks the build for me:

qga/guest-agent-command-state.o: In function `ga_command_state_cleanup_all':
/home/anthony/git/qemu/qga/guest-agent-command-state.c:64: undefined reference to `g_assertion_message_expr'
qga/guest-agent-command-state.o: In function `ga_command_state_init_all':
/home/anthony/git/qemu/qga/guest-agent-command-state.c:49: undefined reference to `g_slist_foreach'
qga/guest-agent-command-state.o: In function `ga_command_state_cleanup_all':
/home/anthony/git/qemu/qga/guest-agent-command-state.c:65: undefined reference to `g_slist_foreach'

Regards,

Anthony Liguori

---
  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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]