Makefile: Remove libqemustub.a
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 <alistair.francis@xilinx.com> Message-Id: <54e6458745493d10901964624479a7d9a872f481.1503077821.git.alistair.francis@xilinx.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
9ee24e98d3
commit
ebedb37c8d
7
Makefile
7
Makefile
@ -335,7 +335,7 @@ subdir-dtc:dtc/libfdt dtc/tests
|
|||||||
dtc/%:
|
dtc/%:
|
||||||
mkdir -p $@
|
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))
|
$(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY))
|
||||||
|
|
||||||
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
|
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
|
||||||
@ -355,12 +355,11 @@ Makefile: $(version-obj-y)
|
|||||||
######################################################################
|
######################################################################
|
||||||
# Build libraries
|
# Build libraries
|
||||||
|
|
||||||
libqemustub.a: $(stub-obj-y)
|
libqemuutil.a: $(util-obj-y) $(trace-obj-y) $(stub-obj-y)
|
||||||
libqemuutil.a: $(util-obj-y) $(trace-obj-y)
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
COMMON_LDADDS = libqemuutil.a libqemustub.a
|
COMMON_LDADDS = libqemuutil.a
|
||||||
|
|
||||||
qemu-img.o: qemu-img-cmds.h
|
qemu-img.o: qemu-img-cmds.h
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y)
|
|||||||
|
|
||||||
$(QEMU_PROG_BUILD): config-devices.mak
|
$(QEMU_PROG_BUILD): config-devices.mak
|
||||||
|
|
||||||
COMMON_LDADDS = ../libqemuutil.a ../libqemustub.a
|
COMMON_LDADDS = ../libqemuutil.a
|
||||||
|
|
||||||
# build either PROG or PROGW
|
# build either PROG or PROGW
|
||||||
$(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS)
|
$(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS)
|
||||||
|
@ -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
|
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. 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
|
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
|
not fully implemented by all QEMU binaries. Dummy stubs for all these
|
||||||
second library called libqemustub.a which provides dummy stubs for all
|
functions are also provided by this library, and will only be linked
|
||||||
these functions. These will get lazy linked into the binary if the real
|
into the binary if the real implementation is not present. In a way,
|
||||||
implementation is not present. In this way, the libqemustub.a static
|
the stubs can be thought of as a portable implementation of the weak
|
||||||
library can be thought of as a portable implementation of the weak
|
symbols concept.
|
||||||
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
|
All binaries should link to libqemuutil.a, e.g.:
|
||||||
|
|
||||||
|
qemu-img$(EXESUF): qemu-img.o ..snip.. libqemuutil.a
|
||||||
|
|
||||||
|
|
||||||
Windows platform portability
|
Windows platform portability
|
||||||
|
@ -561,7 +561,7 @@ QEMU_CFLAGS += -I$(SRC_PATH)/tests
|
|||||||
|
|
||||||
|
|
||||||
# Deps that are common to various different sets of tests below
|
# 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-qom-obj-y = $(qom-obj-y) $(test-util-obj-y)
|
||||||
test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
|
test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
|
||||||
tests/test-qapi-event.o tests/test-qmp-introspect.o \
|
tests/test-qapi-event.o tests/test-qmp-introspect.o \
|
||||||
@ -616,8 +616,7 @@ tests/test-vmstate$(EXESUF): tests/test-vmstate.o \
|
|||||||
migration/qemu-file-channel.o migration/qjson.o \
|
migration/qemu-file-channel.o migration/qjson.o \
|
||||||
$(test-io-obj-y)
|
$(test-io-obj-y)
|
||||||
tests/test-timed-average$(EXESUF): tests/test-timed-average.o $(test-util-obj-y)
|
tests/test-timed-average$(EXESUF): tests/test-timed-average.o $(test-util-obj-y)
|
||||||
tests/test-base64$(EXESUF): tests/test-base64.o \
|
tests/test-base64$(EXESUF): tests/test-base64.o $(test-util-obj-y)
|
||||||
libqemuutil.a libqemustub.a
|
|
||||||
tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o
|
tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o
|
||||||
|
|
||||||
tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y)
|
tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y)
|
||||||
|
Loading…
Reference in New Issue
Block a user