mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
configure: move environment-specific defaults to config-meson.cross
Store the -Werror and SMBD defaults in the machine file, which still allows them to be overridden on the command line and enables automatic parsing of the related options. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
c36dd41ba2
commit
090a188cc1
3 changed files with 21 additions and 24 deletions
37
configure
vendored
37
configure
vendored
|
@ -258,7 +258,6 @@ skip_meson=no
|
||||||
use_containers="yes"
|
use_containers="yes"
|
||||||
gdb_bin=$(command -v "gdb-multiarch" || command -v "gdb")
|
gdb_bin=$(command -v "gdb-multiarch" || command -v "gdb")
|
||||||
gdb_arches=""
|
gdb_arches=""
|
||||||
werror=""
|
|
||||||
|
|
||||||
# Don't accept a target_list environment variable.
|
# Don't accept a target_list environment variable.
|
||||||
unset target_list
|
unset target_list
|
||||||
|
@ -314,7 +313,6 @@ objcopy="${OBJCOPY-${cross_prefix}objcopy}"
|
||||||
ld="${LD-${cross_prefix}ld}"
|
ld="${LD-${cross_prefix}ld}"
|
||||||
ranlib="${RANLIB-${cross_prefix}ranlib}"
|
ranlib="${RANLIB-${cross_prefix}ranlib}"
|
||||||
nm="${NM-${cross_prefix}nm}"
|
nm="${NM-${cross_prefix}nm}"
|
||||||
smbd="$SMBD"
|
|
||||||
strip="${STRIP-${cross_prefix}strip}"
|
strip="${STRIP-${cross_prefix}strip}"
|
||||||
widl="${WIDL-${cross_prefix}widl}"
|
widl="${WIDL-${cross_prefix}widl}"
|
||||||
windres="${WINDRES-${cross_prefix}windres}"
|
windres="${WINDRES-${cross_prefix}windres}"
|
||||||
|
@ -651,8 +649,6 @@ for opt do
|
||||||
;;
|
;;
|
||||||
--ninja=*) ninja="$optarg"
|
--ninja=*) ninja="$optarg"
|
||||||
;;
|
;;
|
||||||
--smbd=*) smbd="$optarg"
|
|
||||||
;;
|
|
||||||
--extra-cflags=*)
|
--extra-cflags=*)
|
||||||
;;
|
;;
|
||||||
--extra-cxxflags=*)
|
--extra-cxxflags=*)
|
||||||
|
@ -744,10 +740,6 @@ for opt do
|
||||||
;;
|
;;
|
||||||
--disable-pie) pie="no"
|
--disable-pie) pie="no"
|
||||||
;;
|
;;
|
||||||
--enable-werror) werror="yes"
|
|
||||||
;;
|
|
||||||
--disable-werror) werror="no"
|
|
||||||
;;
|
|
||||||
--enable-cfi) cfi=true
|
--enable-cfi) cfi=true
|
||||||
;;
|
;;
|
||||||
--disable-cfi) cfi=false
|
--disable-cfi) cfi=false
|
||||||
|
@ -879,7 +871,6 @@ Advanced options (experts only):
|
||||||
--cross-prefix-ARCH=PREFIX cross compiler prefix when building ARCH guest test cases
|
--cross-prefix-ARCH=PREFIX cross compiler prefix when building ARCH guest test cases
|
||||||
--python=PYTHON use specified python [$python]
|
--python=PYTHON use specified python [$python]
|
||||||
--ninja=NINJA use specified ninja [$ninja]
|
--ninja=NINJA use specified ninja [$ninja]
|
||||||
--smbd=SMBD use specified smbd [$smbd]
|
|
||||||
--static enable static build [$static]
|
--static enable static build [$static]
|
||||||
--without-default-features default all --enable-* options to "disabled"
|
--without-default-features default all --enable-* options to "disabled"
|
||||||
--without-default-devices do not include any device that is not needed to
|
--without-default-devices do not include any device that is not needed to
|
||||||
|
@ -887,7 +878,6 @@ Advanced options (experts only):
|
||||||
desired devices in configs/devices/)
|
desired devices in configs/devices/)
|
||||||
--with-devices-ARCH=NAME override default configs/devices
|
--with-devices-ARCH=NAME override default configs/devices
|
||||||
--enable-debug enable common debug build options
|
--enable-debug enable common debug build options
|
||||||
--disable-werror disable compilation abort on warning
|
|
||||||
--cpu=CPU Build for host CPU [$cpu]
|
--cpu=CPU Build for host CPU [$cpu]
|
||||||
--disable-containers don't use containers for cross-building
|
--disable-containers don't use containers for cross-building
|
||||||
--container-engine=TYPE which container engine to use [$container_engine]
|
--container-engine=TYPE which container engine to use [$container_engine]
|
||||||
|
@ -1011,17 +1001,6 @@ if test -z "$ninja"; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Consult white-list to determine whether to enable werror
|
|
||||||
# by default. Only enable by default for git builds
|
|
||||||
if test -z "$werror" ; then
|
|
||||||
if test -e "$source_path/.git" && \
|
|
||||||
{ test "$targetos" = linux || test "$targetos" = "windows"; }; then
|
|
||||||
werror="yes"
|
|
||||||
else
|
|
||||||
werror="no"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$targetos" = "bogus"; then
|
if test "$targetos" = "bogus"; then
|
||||||
# Now that we know that we're not printing the help and that
|
# Now that we know that we're not printing the help and that
|
||||||
# the compiler works (so the results of the check_defines we used
|
# the compiler works (so the results of the check_defines we used
|
||||||
|
@ -1764,6 +1743,20 @@ if test "$skip_meson" = no; then
|
||||||
test -n "$objcc" && echo "objc_args = [$(meson_quote $OBJCFLAGS $EXTRA_OBJCFLAGS)]" >> $cross
|
test -n "$objcc" && echo "objc_args = [$(meson_quote $OBJCFLAGS $EXTRA_OBJCFLAGS)]" >> $cross
|
||||||
echo "c_link_args = [$(meson_quote $CFLAGS $LDFLAGS $EXTRA_CFLAGS $EXTRA_LDFLAGS)]" >> $cross
|
echo "c_link_args = [$(meson_quote $CFLAGS $LDFLAGS $EXTRA_CFLAGS $EXTRA_LDFLAGS)]" >> $cross
|
||||||
echo "cpp_link_args = [$(meson_quote $CXXFLAGS $LDFLAGS $EXTRA_CXXFLAGS $EXTRA_LDFLAGS)]" >> $cross
|
echo "cpp_link_args = [$(meson_quote $CXXFLAGS $LDFLAGS $EXTRA_CXXFLAGS $EXTRA_LDFLAGS)]" >> $cross
|
||||||
|
|
||||||
|
# Only enable by default for git builds and on select OSes
|
||||||
|
echo "# environment defaults, can still be overridden on " >> $cross
|
||||||
|
echo "# the command line" >> $cross
|
||||||
|
if test -e "$source_path/.git" && \
|
||||||
|
{ test "$targetos" = linux || test "$targetos" = "windows"; }; then
|
||||||
|
echo 'werror = true' >> $cross
|
||||||
|
fi
|
||||||
|
echo "[project options]" >> $cross
|
||||||
|
if test "$SMBD" != ''; then
|
||||||
|
echo "smbd = $(meson_quote "$SMBD")" >> $cross
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo >> $cross
|
||||||
echo "[binaries]" >> $cross
|
echo "[binaries]" >> $cross
|
||||||
echo "c = [$(meson_quote $cc $CPU_CFLAGS)]" >> $cross
|
echo "c = [$(meson_quote $cc $CPU_CFLAGS)]" >> $cross
|
||||||
test -n "$cxx" && echo "cpp = [$(meson_quote $cxx $CPU_CFLAGS)]" >> $cross
|
test -n "$cxx" && echo "cpp = [$(meson_quote $cxx $CPU_CFLAGS)]" >> $cross
|
||||||
|
@ -1818,14 +1811,12 @@ if test "$skip_meson" = no; then
|
||||||
test "$default_feature" = no && meson_option_add -Dauto_features=disabled
|
test "$default_feature" = no && meson_option_add -Dauto_features=disabled
|
||||||
test "$static" = yes && meson_option_add -Dprefer_static=true
|
test "$static" = yes && meson_option_add -Dprefer_static=true
|
||||||
test "$pie" = no && meson_option_add -Db_pie=false
|
test "$pie" = no && meson_option_add -Db_pie=false
|
||||||
test "$werror" = yes && meson_option_add -Dwerror=true
|
|
||||||
|
|
||||||
# QEMU options
|
# QEMU options
|
||||||
test "$cfi" != false && meson_option_add "-Dcfi=$cfi" "-Db_lto=$cfi"
|
test "$cfi" != false && meson_option_add "-Dcfi=$cfi" "-Db_lto=$cfi"
|
||||||
test "$docs" != auto && meson_option_add "-Ddocs=$docs"
|
test "$docs" != auto && meson_option_add "-Ddocs=$docs"
|
||||||
test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
|
test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
|
||||||
test "$plugins" = yes && meson_option_add "-Dplugins=true"
|
test "$plugins" = yes && meson_option_add "-Dplugins=true"
|
||||||
test "$smbd" != '' && meson_option_add "-Dsmbd=$smbd"
|
|
||||||
test "$tcg" != enabled && meson_option_add "-Dtcg=$tcg"
|
test "$tcg" != enabled && meson_option_add "-Dtcg=$tcg"
|
||||||
run_meson() {
|
run_meson() {
|
||||||
NINJA=$ninja $meson setup "$@" "$PWD" "$source_path"
|
NINJA=$ninja $meson setup "$@" "$PWD" "$source_path"
|
||||||
|
|
|
@ -28,7 +28,6 @@ import sys
|
||||||
SKIP_OPTIONS = {
|
SKIP_OPTIONS = {
|
||||||
"default_devices",
|
"default_devices",
|
||||||
"fuzzing_engine",
|
"fuzzing_engine",
|
||||||
"smbd",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OPTION_NAMES = {
|
OPTION_NAMES = {
|
||||||
|
@ -47,6 +46,7 @@ OPTION_NAMES = {
|
||||||
# Options that configure autodetects, even though meson defines them as boolean
|
# Options that configure autodetects, even though meson defines them as boolean
|
||||||
AUTO_OPTIONS = {
|
AUTO_OPTIONS = {
|
||||||
"plugins",
|
"plugins",
|
||||||
|
"werror",
|
||||||
}
|
}
|
||||||
|
|
||||||
BUILTIN_OPTIONS = {
|
BUILTIN_OPTIONS = {
|
||||||
|
@ -64,6 +64,7 @@ BUILTIN_OPTIONS = {
|
||||||
"prefix",
|
"prefix",
|
||||||
"strip",
|
"strip",
|
||||||
"sysconfdir",
|
"sysconfdir",
|
||||||
|
"werror",
|
||||||
}
|
}
|
||||||
|
|
||||||
LINE_WIDTH = 76
|
LINE_WIDTH = 76
|
||||||
|
|
|
@ -64,6 +64,7 @@ meson_options_help() {
|
||||||
printf "%s\n" ' --localstatedir=VALUE Localstate data directory [/var/local]'
|
printf "%s\n" ' --localstatedir=VALUE Localstate data directory [/var/local]'
|
||||||
printf "%s\n" ' --mandir=VALUE Manual page directory [share/man]'
|
printf "%s\n" ' --mandir=VALUE Manual page directory [share/man]'
|
||||||
printf "%s\n" ' --prefix=VALUE Installation prefix [/usr/local]'
|
printf "%s\n" ' --prefix=VALUE Installation prefix [/usr/local]'
|
||||||
|
printf "%s\n" ' --smbd=VALUE Path to smbd for slirp networking'
|
||||||
printf "%s\n" ' --sysconfdir=VALUE Sysconf data directory [etc]'
|
printf "%s\n" ' --sysconfdir=VALUE Sysconf data directory [etc]'
|
||||||
printf "%s\n" ' --tls-priority=VALUE Default TLS protocol/cipher priority string'
|
printf "%s\n" ' --tls-priority=VALUE Default TLS protocol/cipher priority string'
|
||||||
printf "%s\n" ' [NORMAL]'
|
printf "%s\n" ' [NORMAL]'
|
||||||
|
@ -205,6 +206,7 @@ meson_options_help() {
|
||||||
printf "%s\n" ' vpc vpc image format support'
|
printf "%s\n" ' vpc vpc image format support'
|
||||||
printf "%s\n" ' vte vte support for the gtk UI'
|
printf "%s\n" ' vte vte support for the gtk UI'
|
||||||
printf "%s\n" ' vvfat vvfat image format support'
|
printf "%s\n" ' vvfat vvfat image format support'
|
||||||
|
printf "%s\n" ' werror Treat warnings as errors'
|
||||||
printf "%s\n" ' whpx WHPX acceleration support'
|
printf "%s\n" ' whpx WHPX acceleration support'
|
||||||
printf "%s\n" ' xen Xen backend support'
|
printf "%s\n" ' xen Xen backend support'
|
||||||
printf "%s\n" ' xen-pci-passthrough'
|
printf "%s\n" ' xen-pci-passthrough'
|
||||||
|
@ -453,6 +455,7 @@ _meson_option_parse() {
|
||||||
--disable-slirp-smbd) printf "%s" -Dslirp_smbd=disabled ;;
|
--disable-slirp-smbd) printf "%s" -Dslirp_smbd=disabled ;;
|
||||||
--enable-smartcard) printf "%s" -Dsmartcard=enabled ;;
|
--enable-smartcard) printf "%s" -Dsmartcard=enabled ;;
|
||||||
--disable-smartcard) printf "%s" -Dsmartcard=disabled ;;
|
--disable-smartcard) printf "%s" -Dsmartcard=disabled ;;
|
||||||
|
--smbd=*) quote_sh "-Dsmbd=$2" ;;
|
||||||
--enable-snappy) printf "%s" -Dsnappy=enabled ;;
|
--enable-snappy) printf "%s" -Dsnappy=enabled ;;
|
||||||
--disable-snappy) printf "%s" -Dsnappy=disabled ;;
|
--disable-snappy) printf "%s" -Dsnappy=disabled ;;
|
||||||
--enable-sndio) printf "%s" -Dsndio=enabled ;;
|
--enable-sndio) printf "%s" -Dsndio=enabled ;;
|
||||||
|
@ -529,6 +532,8 @@ _meson_option_parse() {
|
||||||
--disable-vte) printf "%s" -Dvte=disabled ;;
|
--disable-vte) printf "%s" -Dvte=disabled ;;
|
||||||
--enable-vvfat) printf "%s" -Dvvfat=enabled ;;
|
--enable-vvfat) printf "%s" -Dvvfat=enabled ;;
|
||||||
--disable-vvfat) printf "%s" -Dvvfat=disabled ;;
|
--disable-vvfat) printf "%s" -Dvvfat=disabled ;;
|
||||||
|
--enable-werror) printf "%s" -Dwerror=true ;;
|
||||||
|
--disable-werror) printf "%s" -Dwerror=false ;;
|
||||||
--enable-whpx) printf "%s" -Dwhpx=enabled ;;
|
--enable-whpx) printf "%s" -Dwhpx=enabled ;;
|
||||||
--disable-whpx) printf "%s" -Dwhpx=disabled ;;
|
--disable-whpx) printf "%s" -Dwhpx=disabled ;;
|
||||||
--enable-xen) printf "%s" -Dxen=enabled ;;
|
--enable-xen) printf "%s" -Dxen=enabled ;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue