[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 09/15] configure: parse --enable/--disable-strip automatically, fl
From: |
Paolo Bonzini |
Subject: |
[PULL 09/15] configure: parse --enable/--disable-strip automatically, flip default |
Date: |
Thu, 23 Dec 2021 12:51:28 +0100 |
Always include the STRIP variable in config-host.mak (it's only used
by the s390-ccw firmware build, and it adds a default if configure
omitted it), and use meson-buildoptions.sh to turn
--enable/--disable-strip into -Dstrip.
The default is now not to strip the binaries like for almost every other
package that has a configure script.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 10 +---------
pc-bios/s390-ccw/Makefile | 2 --
scripts/meson-buildoptions.py | 21 ++++++++++++++-------
scripts/meson-buildoptions.sh | 3 +++
4 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/configure b/configure
index c8b32e7277..302d58102b 100755
--- a/configure
+++ b/configure
@@ -307,7 +307,6 @@ debug="no"
sanitizers="no"
tsan="no"
fortify_source="$default_feature"
-strip_opt="yes"
mingw32="no"
gcov="no"
EXESUF=""
@@ -890,7 +889,6 @@ for opt do
debug_tcg="yes"
debug_mutex="yes"
debug="yes"
- strip_opt="no"
fortify_source="no"
;;
--enable-sanitizers) sanitizers="yes"
@@ -901,8 +899,6 @@ for opt do
;;
--disable-tsan) tsan="no"
;;
- --disable-strip) strip_opt="no"
- ;;
--disable-slirp) slirp="disabled"
;;
--enable-slirp) slirp="enabled"
@@ -1365,7 +1361,6 @@ Advanced options (experts only):
--enable-debug enable common debug build options
--enable-sanitizers enable default sanitizers
--enable-tsan enable thread sanitizer
- --disable-strip disable stripping binaries
--disable-werror disable compilation abort on warning
--disable-stack-protector disable compiler-provided stack protection
--audio-drv-list=LIST set audio drivers to try if -audiodev is not used
@@ -3312,9 +3307,6 @@ echo "GIT_SUBMODULES_ACTION=$git_submodules_action" >>
$config_host_mak
if test "$debug_tcg" = "yes" ; then
echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
fi
-if test "$strip_opt" = "yes" ; then
- echo "STRIP=${strip}" >> $config_host_mak
-fi
if test "$mingw32" = "yes" ; then
echo "CONFIG_WIN32=y" >> $config_host_mak
if test "$guest_agent_with_vss" = "yes" ; then
@@ -3591,6 +3583,7 @@ echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
+echo "STRIP=$strip" >> $config_host_mak
echo "EXESUF=$EXESUF" >> $config_host_mak
echo "LIBS_QGA=$libs_qga" >> $config_host_mak
@@ -3805,7 +3798,6 @@ if test "$skip_meson" = no; then
-Doptimization=$(if test "$debug" = yes; then echo 0; else echo 2; fi)
\
-Ddebug=$(if test "$debug_info" = yes; then echo true; else echo
false; fi) \
-Dwerror=$(if test "$werror" = yes; then echo true; else echo false;
fi) \
- -Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false;
fi) \
-Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \
-Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false;
fi) \
-Db_lto=$lto -Dcfi=$cfi -Dtcg=$tcg -Dxen=$xen \
diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
index cee9d2c63b..0eb68efc7b 100644
--- a/pc-bios/s390-ccw/Makefile
+++ b/pc-bios/s390-ccw/Makefile
@@ -44,8 +44,6 @@ build-all: s390-ccw.img s390-netboot.img
s390-ccw.elf: $(OBJECTS)
$(call quiet-command,$(CC) $(LDFLAGS) -o $@
$(OBJECTS),"BUILD","$(TARGET_DIR)$@")
-STRIP ?= strip
-
s390-ccw.img: s390-ccw.elf
$(call quiet-command,$(STRIP) --strip-unneeded $< -o
$@,"STRIP","$(TARGET_DIR)$@")
diff --git a/scripts/meson-buildoptions.py b/scripts/meson-buildoptions.py
index 96969d89ee..98ae944148 100755
--- a/scripts/meson-buildoptions.py
+++ b/scripts/meson-buildoptions.py
@@ -36,6 +36,10 @@
"trace_file",
}
+BUILTIN_OPTIONS = {
+ "strip",
+}
+
LINE_WIDTH = 76
@@ -90,14 +94,17 @@ def allow_arg(opt):
return not (set(opt["choices"]) <= {"auto", "disabled", "enabled"})
+def filter_options(json):
+ if ":" in json["name"]:
+ return False
+ if json["section"] == "user":
+ return json["name"] not in SKIP_OPTIONS
+ else:
+ return json["name"] in BUILTIN_OPTIONS
+
+
def load_options(json):
- json = [
- x
- for x in json
- if x["section"] == "user"
- and ":" not in x["name"]
- and x["name"] not in SKIP_OPTIONS
- ]
+ json = [x for x in json if filter_options(x)]
return sorted(json, key=lambda x: x["name"])
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index ae8f18edc2..46360e541d 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -13,6 +13,7 @@ meson_options_help() {
printf "%s\n" ' jemalloc/system/tcmalloc)'
printf "%s\n" ' --enable-slirp[=CHOICE] Whether and how to find the slirp
library'
printf "%s\n" ' (choices:
auto/disabled/enabled/internal/system)'
+ printf "%s\n" ' --enable-strip Strip targets on install'
printf "%s\n" ' --enable-tcg-interpreter TCG with bytecode interpreter
(slow)'
printf "%s\n" ' --enable-trace-backends=CHOICE'
printf "%s\n" ' Set available tracing backends
[log] (choices:'
@@ -234,6 +235,8 @@ _meson_option_parse() {
--disable-spice) printf "%s" -Dspice=disabled ;;
--enable-spice-protocol) printf "%s" -Dspice_protocol=enabled ;;
--disable-spice-protocol) printf "%s" -Dspice_protocol=disabled ;;
+ --enable-strip) printf "%s" -Dstrip=true ;;
+ --disable-strip) printf "%s" -Dstrip=false ;;
--enable-tcg) printf "%s" -Dtcg=enabled ;;
--disable-tcg) printf "%s" -Dtcg=disabled ;;
--enable-tcg-interpreter) printf "%s" -Dtcg_interpreter=true ;;
--
2.33.1
- [PULL 01/15] docker: include bison in debian-tricore-cross, (continued)
- [PULL 01/15] docker: include bison in debian-tricore-cross, Paolo Bonzini, 2021/12/23
- [PULL 02/15] meson: reuse common_user_inc when building files specific to user-mode emulators, Paolo Bonzini, 2021/12/23
- [PULL 03/15] user: move common-user includes to a subdirectory of {bsd, linux}-user/, Paolo Bonzini, 2021/12/23
- [PULL 07/15] configure: do not set bsd_user/linux_user early, Paolo Bonzini, 2021/12/23
- [PULL 06/15] configure: simplify creation of plugin symbol list, Paolo Bonzini, 2021/12/23
- [PULL 10/15] configure: move non-command-line variables away from command-line parsing section, Paolo Bonzini, 2021/12/23
- [PULL 11/15] meson: build contrib/ executables after generated headers, Paolo Bonzini, 2021/12/23
- [PULL 04/15] meson: cleanup common-user/ build, Paolo Bonzini, 2021/12/23
- [PULL 05/15] block/file-posix: Simplify the XFS_IOC_DIOINFO handling, Paolo Bonzini, 2021/12/23
- [PULL 14/15] KVM: use KVM_{GET|SET}_SREGS2 when supported., Paolo Bonzini, 2021/12/23
- [PULL 09/15] configure: parse --enable/--disable-strip automatically, flip default,
Paolo Bonzini <=
- [PULL 08/15] configure, makefile: remove traces of really old files, Paolo Bonzini, 2021/12/23
- [PULL 15/15] KVM: x86: ignore interrupt_bitmap field of KVM_GET/SET_SREGS, Paolo Bonzini, 2021/12/23
- [PULL 13/15] meson: add comments in the target-specific flags section, Paolo Bonzini, 2021/12/23
- [PULL 12/15] configure, meson: move config-poison.h to meson, Paolo Bonzini, 2021/12/23