@@ -117,6 +117,7 @@ obj-$(CONFIG_TCG) += fpu/softfloat.o
obj-y += target/$(TARGET_BASE_ARCH)/
obj-y += disas.o
obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o
+LIBS := $(libs_cpu) $(LIBS)
#########################################################
# Linux user emulator target
@@ -289,6 +289,7 @@ audio_drv_list=""
block_drv_rw_whitelist=""
block_drv_ro_whitelist=""
host_cc="cc"
+libs_cpu=""
libs_softmmu=""
libs_tools=""
audio_pt_int=""
@@ -5015,12 +5016,12 @@ case "$capstone" in
else
LIBCAPSTONE=libcapstone.a
fi
- LIBS="-L\$(BUILD_DIR)/capstone -lcapstone $LIBS"
+ libs_cpu="-L\$(BUILD_DIR)/capstone -lcapstone $libs_cpu"
;;
system)
QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags capstone)"
- LIBS="$($pkg_config --libs capstone) $LIBS"
+ libs_cpu="$($pkg_config --libs capstone) $libs_cpu"
;;
no)
@@ -6488,6 +6489,7 @@ echo "qemu_helperdir=$libexecdir" >> $config_host_mak
echo "qemu_localedir=$qemu_localedir" >> $config_host_mak
echo "qemu_icondir=$qemu_icondir" >> $config_host_mak
echo "qemu_desktopdir=$qemu_desktopdir" >> $config_host_mak
+echo "libs_cpu=$libs_cpu" >> $config_host_mak
echo "libs_softmmu=$libs_softmmu" >> $config_host_mak
echo "GIT=$git" >> $config_host_mak
echo "GIT_SUBMODULES=$git_submodules" >> $config_host_mak
Only the emulators link to code that uses capstone, so adding it to the global LIBs places undesirable dependancies on other binaries, in particular the tools. There is no variable that covers both user emulation and machine emulation, so add a new "$libs_cpu" for this purpose. In particular this removes the 8 MB capstone dep from the things qemu-img links against, allowing for a more minimal installation in scenarios that don't want system emulators installed. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- Makefile.target | 1 + configure | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-)