[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 39/50] Makefile: Remove libqemustub.a
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 39/50] Makefile: Remove libqemustub.a |
Date: |
Tue, 19 Sep 2017 14:29:28 +0200 |
From: Alistair Francis <address@hidden>
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>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
Makefile | 7 +++----
Makefile.target | 2 +-
docs/devel/build-system.txt | 18 +++++++++---------
tests/Makefile.include | 6 +++---
4 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/Makefile b/Makefile
index b53fc69..eb831b9 100644
--- a/Makefile
+++ b/Makefile
@@ -335,7 +335,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))
@@ -355,12 +355,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 6361f95..32b0100 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 2af1e66..386ef36 100644
--- a/docs/devel/build-system.txt
+++ b/docs/devel/build-system.txt
@@ -232,15 +232,15 @@ 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 only be linked
+into the binary if the real implementation is not present. In a way,
+the stubs 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 59e027f..2136036 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)
--
1.8.3.1
- [Qemu-devel] [PULL 35/50] Convert single line fprintf(.../n) to warn_report(), (continued)
- [Qemu-devel] [PULL 35/50] Convert single line fprintf(.../n) to warn_report(), Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 38/50] target/mips: Convert VM clock update prints to warn_report, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 36/50] Convert multi-line fprintf() to warn_report(), Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 34/50] Convert remaining error_report() to warn_report(), Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 42/50] hyperv: add header with protocol definitions, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 37/50] General warn report fixups, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 43/50] update-linux-headers: prepare for hyperv.h removal, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 41/50] i386/cpu/hyperv: support over 64 vcpus for windows guests, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 45/50] target/i386: fix "info mem" for LA57 mode, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 39/50] Makefile: Remove libqemustub.a,
Paolo Bonzini <=
- [Qemu-devel] [PULL 40/50] Convert remaining single line fprintf() to warn_report(), Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 44/50] scripts: let checkpatch.pl process an entire GIT branch, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 48/50] osdep.h: Prohibit disabling assert() in supported builds, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 46/50] accel/hax: move hax-stub.c to accel/stubs/, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 50/50] docker: fix creation of archives, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 47/50] checkpatch: add hwaddr to @typeList, Paolo Bonzini, 2017/09/19
- [Qemu-devel] [PULL 49/50] default-configs: Replace $(and ...) with $(call land, ...), Paolo Bonzini, 2017/09/19