[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH PULL 04/11] qom: allow QOM to be linked into tools b
From: |
Daniel P. Berrange |
Subject: |
[Qemu-devel] [PATCH PULL 04/11] qom: allow QOM to be linked into tools binaries |
Date: |
Fri, 11 Sep 2015 13:10:20 +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 <address@hidden>
---
Makefile | 8 +++++---
Makefile.objs | 5 +++++
Makefile.target | 2 ++
qom/Makefile.objs | 7 ++++---
tests/Makefile | 4 +---
5 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/Makefile b/Makefile
index bb06c4f..8c096a7 100644
--- a/Makefile
+++ b/Makefile
@@ -153,6 +153,7 @@ dummy := $(call unnest-vars,, \
block-obj-y \
block-obj-m \
crypto-obj-y \
+ qom-obj-y \
common-obj-y \
common-obj-m)
@@ -175,6 +176,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-%:
@@ -229,9 +231,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
diff --git a/Makefile.objs b/Makefile.objs
index c7ed989..2ff4224 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -25,6 +25,11 @@ block-obj-m = block/
crypto-obj-y = crypto/
+#######################################################################
+# qom-obj-y is code used by both qemu system emulation and qemu-img
+
+qom-obj-y = qom/
+
######################################################################
# smartcard
diff --git a/Makefile.target b/Makefile.target
index 2053ecd..0d968d6 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -171,6 +171,7 @@ dummy := $(call unnest-vars,.., \
block-obj-y \
block-obj-m \
crypto-obj-y \
+ qom-obj-y \
common-obj-y \
common-obj-m)
target-obj-y := $(target-obj-y-save)
@@ -178,6 +179,7 @@ all-obj-y += $(common-obj-y)
all-obj-y += $(target-obj-y)
all-obj-$(CONFIG_SOFTMMU) += $(block-obj-y)
all-obj-$(CONFIG_SOFTMMU) += $(crypto-obj-y)
+all-obj-$(CONFIG_SOFTMMU) += $(qom-obj-y)
$(QEMU_PROG_BUILD): config-devices.mak
diff --git a/qom/Makefile.objs b/qom/Makefile.objs
index 985003b..516349e 100644
--- a/qom/Makefile.objs
+++ b/qom/Makefile.objs
@@ -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
diff --git a/tests/Makefile b/tests/Makefile
index 3bed89d..c8f85cc 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -282,9 +282,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)
--
2.4.3
- [Qemu-devel] [PATCH PULL 00/11] Extract TLS handling code from VNC server, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 02/11] tests: remove repetition in unit test object deps, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 01/11] qapi: allow override of default enum prefix naming, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 04/11] qom: allow QOM to be linked into tools binaries,
Daniel P. Berrange <=
- [Qemu-devel] [PATCH PULL 03/11] crypto: move crypto objects out of libqemuutil.la, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 05/11] crypto: introduce new base module for TLS credentials, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 07/11] crypto: introduce new module for TLS x509 credentials, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 06/11] crypto: introduce new module for TLS anonymous credentials, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 10/11] ui: fix return type for VNC I/O functions to be ssize_t, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 09/11] crypto: introduce new module for handling TLS sessions, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 11/11] ui: convert VNC server to use QCryptoTLSSession, Daniel P. Berrange, 2015/09/11
- [Qemu-devel] [PATCH PULL 08/11] crypto: add sanity checking of TLS x509 credentials, Daniel P. Berrange, 2015/09/11
- Re: [Qemu-devel] [PATCH PULL 00/11] Extract TLS handling code from VNC server, Eric Blake, 2015/09/11