* [Qemu-devel] [PATCH] configure: only link capstone to emulation targets
@ 2019-05-16 11:39 Daniel P. Berrangé
2019-05-16 15:51 ` Richard Henderson
0 siblings, 1 reply; 2+ messages in thread
From: Daniel P. Berrangé @ 2019-05-16 11:39 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Richard Henderson, Daniel P. Berrangé
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(-)
diff --git a/Makefile.target b/Makefile.target
index ae02495951..15e5191f36 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -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
diff --git a/configure b/configure
index 8999698bc2..64f09c5905 100755
--- a/configure
+++ b/configure
@@ -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
--
2.21.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] configure: only link capstone to emulation targets
2019-05-16 11:39 [Qemu-devel] [PATCH] configure: only link capstone to emulation targets Daniel P. Berrangé
@ 2019-05-16 15:51 ` Richard Henderson
0 siblings, 0 replies; 2+ messages in thread
From: Richard Henderson @ 2019-05-16 15:51 UTC (permalink / raw)
To: Daniel P. Berrangé, qemu-devel; +Cc: Paolo Bonzini
On 5/16/19 4:39 AM, Daniel P. Berrangé wrote:
> 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(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-05-16 15:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-16 11:39 [Qemu-devel] [PATCH] configure: only link capstone to emulation targets Daniel P. Berrangé
2019-05-16 15:51 ` Richard Henderson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.