]> git.proxmox.com Git - mirror_qemu.git/commitdiff
qom: allow QOM to be linked into tools binaries
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 2 Sep 2015 10:18:16 +0000 (11:18 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 15 Sep 2015 13:35:39 +0000 (14:35 +0100)
The qom objects are currently added to common-obj-y
which is only linked into the system emulators. The
later crypto patches will depend on QOM infrastructure
and will also be used from tools binaries. Thus the QOM
objects are moved into a new qom-obj-y variable which
can be referenced when linking tools, system emulators
and tests.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Makefile
Makefile.objs
Makefile.target
qom/Makefile.objs
tests/Makefile

index 9c08b11ca8e393d39123ac8f36f489bac45d1f3e..36943da15c7f215b290e4fe03772771aa2bbd377 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -154,6 +154,7 @@ dummy := $(call unnest-vars,, \
                 block-obj-m \
                 crypto-obj-y \
                 crypto-aes-obj-y \
+                qom-obj-y \
                 common-obj-y \
                 common-obj-m)
 
@@ -176,6 +177,7 @@ SOFTMMU_SUBDIR_RULES=$(filter %-softmmu,$(SUBDIR_RULES))
 
 $(SOFTMMU_SUBDIR_RULES): $(block-obj-y)
 $(SOFTMMU_SUBDIR_RULES): $(crypto-obj-y)
+$(SOFTMMU_SUBDIR_RULES): $(qom-obj-y)
 $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak
 
 subdir-%:
@@ -230,9 +232,9 @@ util/module.o-cflags = -D'CONFIG_BLOCK_MODULES=$(block-modules)'
 
 qemu-img.o: qemu-img-cmds.h
 
-qemu-img$(EXESUF): qemu-img.o $(block-obj-y) $(crypto-obj-y) libqemuutil.a libqemustub.a
-qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) $(crypto-obj-y) libqemuutil.a libqemustub.a
-qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(crypto-obj-y) libqemuutil.a libqemustub.a
+qemu-img$(EXESUF): qemu-img.o $(block-obj-y) $(crypto-obj-y) $(qom-obj-y) libqemuutil.a libqemustub.a
+qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) $(crypto-obj-y) $(qom-obj-y) libqemuutil.a libqemustub.a
+qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(crypto-obj-y) $(qom-obj-y) libqemuutil.a libqemustub.a
 
 qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
 
index 655c1f0abaabcc13552b510a4bc3dc030acc7aa2..3df2efca1c7b6d27f6a73b11d12bfeb412b82d5f 100644 (file)
@@ -26,6 +26,11 @@ block-obj-m = block/
 crypto-obj-y = crypto/
 crypto-aes-obj-y = crypto/
 
+#######################################################################
+# qom-obj-y is code used by both qemu system emulation and qemu-img
+
+qom-obj-y = qom/
+
 ######################################################################
 # smartcard
 
index 3d97966e75c4ef6b4be0a595595821bd1f103a57..edd136fed6aeade76bdbe6cb9027f4c6e66189bb 100644 (file)
@@ -172,11 +172,13 @@ dummy := $(call unnest-vars,.., \
                block-obj-m \
                crypto-obj-y \
                crypto-aes-obj-y \
+               qom-obj-y \
                common-obj-y \
                common-obj-m)
 target-obj-y := $(target-obj-y-save)
 all-obj-y += $(common-obj-y)
 all-obj-y += $(target-obj-y)
+all-obj-y += $(qom-obj-y)
 all-obj-$(CONFIG_SOFTMMU) += $(block-obj-y)
 all-obj-$(CONFIG_USER_ONLY) += $(crypto-aes-obj-y)
 all-obj-$(CONFIG_SOFTMMU) += $(crypto-obj-y)
index 985003bd034ee5e730b252d48d89ff6c525d5c58..516349eec3288b6c03501e4ad7891604626301eb 100644 (file)
@@ -1,3 +1,4 @@
-common-obj-y = object.o container.o qom-qobject.o
-common-obj-y += cpu.o
-common-obj-y += object_interfaces.o
+qom-obj-y = object.o container.o qom-qobject.o
+qom-obj-y += object_interfaces.o
+
+common-obj-y = cpu.o
index d77ccee3ab36f7cde09e58eb86a919a785e71244..ddd5148988fdf0d9f24459f1875cd8266a42548f 100644 (file)
@@ -284,9 +284,7 @@ QEMU_CFLAGS += -I$(SRC_PATH)/tests
 
 # Deps that are common to various different sets of tests below
 test-util-obj-y = libqemuutil.a libqemustub.a
-test-qom-obj-y = qom/object.o qom/qom-qobject.o \
-       qom/container.o qom/object_interfaces.o \
-       $(test-util-obj-y)
+test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y)
 test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
        tests/test-qapi-event.o \
        $(test-qom-obj-y)