[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 7/8] Makefile: Remove libqemustub.a
From: |
Alistair Francis |
Subject: |
[Qemu-devel] [PATCH v4 7/8] Makefile: Remove libqemustub.a |
Date: |
Mon, 11 Sep 2017 12:53:02 -0700 |
Using two libraries (libqemuutil.a and libqemustub.a) would sometimes
result in circular dependencies. To avoid these issues let's just
combine both into a single library that functions as both.
Signed-off-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
---
V3:
- Fix up the docs
- Rebase into this series
V2:
- Skipped
Makefile | 7 +++----
Makefile.target | 2 +-
docs/devel/build-system.txt | 16 +++++++---------
tests/Makefile.include | 6 +++---
4 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/Makefile b/Makefile
index 337a1f6f9b..8f1273a159 100644
--- a/Makefile
+++ b/Makefile
@@ -344,7 +344,7 @@ subdir-dtc:dtc/libfdt dtc/tests
dtc/%:
mkdir -p $@
-$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj-y) \
+$(SUBDIR_RULES): libqemuutil.a $(common-obj-y) $(chardev-obj-y) \
$(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY))
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
@@ -364,12 +364,11 @@ Makefile: $(version-obj-y)
######################################################################
# Build libraries
-libqemustub.a: $(stub-obj-y)
-libqemuutil.a: $(util-obj-y) $(trace-obj-y)
+libqemuutil.a: $(util-obj-y) $(trace-obj-y) $(stub-obj-y)
######################################################################
-COMMON_LDADDS = libqemuutil.a libqemustub.a
+COMMON_LDADDS = libqemuutil.a
qemu-img.o: qemu-img-cmds.h
diff --git a/Makefile.target b/Makefile.target
index 7f42c45db8..0a80caf79c 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -193,7 +193,7 @@ all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y)
$(QEMU_PROG_BUILD): config-devices.mak
-COMMON_LDADDS = ../libqemuutil.a ../libqemustub.a
+COMMON_LDADDS = ../libqemuutil.a
# build either PROG or PROGW
$(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS)
diff --git a/docs/devel/build-system.txt b/docs/devel/build-system.txt
index 2af1e668c5..0d54294cb1 100644
--- a/docs/devel/build-system.txt
+++ b/docs/devel/build-system.txt
@@ -232,15 +232,13 @@ The utility code that is used by all binaries is built
into a
static archive called libqemuutil.a, which is then linked to all the
binaries. In order to provide hooks that are only needed by some of the
binaries, code in libqemuutil.a may depend on other functions that are
-not fully implemented by all QEMU binaries. To deal with this there is a
-second library called libqemustub.a which provides dummy stubs for all
-these functions. These will get lazy linked into the binary if the real
-implementation is not present. In this way, the libqemustub.a static
-library can be thought of as a portable implementation of the weak
-symbols concept. All binaries should link to both libqemuutil.a and
-libqemustub.a. e.g.
-
- qemu-img$(EXESUF): qemu-img.o ..snip.. libqemuutil.a libqemustub.a
+not fully implemented by all QEMU binaries. Dummy stubs for all these
+functions are also provided by this library, and will get lazy linked
+into the binary if the real implementation is not present. In this way,
+this static library can be thought of as a portable implementation of
+the weak symbols concept. All binaries should link to libqemuutil.a. e.g.
+
+ qemu-img$(EXESUF): qemu-img.o ..snip.. libqemuutil.a
Windows platform portability
diff --git a/tests/Makefile.include b/tests/Makefile.include
index fae5715e9c..3d6726e95c 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -561,7 +561,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-util-obj-y = libqemuutil.a
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 tests/test-qmp-introspect.o \
@@ -617,8 +617,8 @@ tests/test-vmstate$(EXESUF): tests/test-vmstate.o \
$(test-io-obj-y)
tests/test-timed-average$(EXESUF): tests/test-timed-average.o
$(test-util-obj-y)
tests/test-base64$(EXESUF): tests/test-base64.o \
- libqemuutil.a libqemustub.a
-tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o
hw/core/ptimer.o libqemustub.a
+ libqemuutil.a
+tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o
hw/core/ptimer.o $(test-util-obj-y)
tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y)
--
2.11.0
- [Qemu-devel] [PATCH v4 1/8] hw/i386: Improve some of the warning messages, (continued)
- [Qemu-devel] [PATCH v4 1/8] hw/i386: Improve some of the warning messages, Alistair Francis, 2017/09/11
- [Qemu-devel] [PATCH v4 2/8] Convert remaining error_report() to warn_report(), Alistair Francis, 2017/09/11
- [Qemu-devel] [PATCH v4 3/8] Convert single line fprintf(.../n) to warn_report(), Alistair Francis, 2017/09/11
- [Qemu-devel] [PATCH v4 5/8] General warn report fixups, Alistair Francis, 2017/09/11
- [Qemu-devel] [PATCH v4 6/8] target/mips: Convert VM clock update prints to warn_report, Alistair Francis, 2017/09/11
- [Qemu-devel] [PATCH v4 4/8] Convert multi-line fprintf() to warn_report(), Alistair Francis, 2017/09/11
- [Qemu-devel] [PATCH v4 8/8] Convert remaining single line fprintf() to warn_report(), Alistair Francis, 2017/09/11
- [Qemu-devel] [PATCH v4 7/8] Makefile: Remove libqemustub.a,
Alistair Francis <=
- Re: [Qemu-devel] [PATCH v4 0/8] More warning reporting fixed, no-reply, 2017/09/11
- Re: [Qemu-devel] [PATCH v4 0/8] More warning reporting fixed, Paolo Bonzini, 2017/09/12
- Re: [Qemu-devel] [PATCH v4 0/8] More warning reporting fixed, Paolo Bonzini, 2017/09/12