From nobody Tue Jul 15 06:12:01 2025 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1650720277703550.5596666573445; Sat, 23 Apr 2022 06:24:37 -0700 (PDT) Received: from localhost ([::1]:57860 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1niFka-0006Wv-MW for importer2@patchew.org; Sat, 23 Apr 2022 09:24:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42912) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1niFFp-0007Rx-90 for qemu-devel@nongnu.org; Sat, 23 Apr 2022 08:52:51 -0400 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]:41495) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1niFFn-0005Cg-42 for qemu-devel@nongnu.org; Sat, 23 Apr 2022 08:52:49 -0400 Received: by mail-ej1-x62c.google.com with SMTP id y10so21133258ejw.8 for ; Sat, 23 Apr 2022 05:52:46 -0700 (PDT) Received: from avogadro.lan ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id bo14-20020a170906d04e00b006ce98d9c3e3sm1655573ejb.194.2022.04.23.05.52.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Apr 2022 05:52:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CYpjLPBeRK6Wjzurn4DEE2FlbVjDvz0lpP672AaOkkQ=; b=k93SqFLWukXsNH3HwvUdTVo2ljSt3KVQAE2L88ta/1/K8p/xQoHWsRP+g4J8P8KWR4 chfN1p1bDRhVBaLhdroFxQeXXN4HIDNbYW9RCQn1mc1R0uwNPFSTQM0vPO3jxrXitWaA czDWe/2BLnH90eDKG8OFGT3t9s4Ws9e0NP4zZhQtOV+SvHEN2VWGfGB6pyRWx3PWotoz 48e092rTg7hlBNwcuZj6HFHzky+ojRpCYi4N3jOLRnwbS+M7k/pdYNMSDxyAdtaoPJHN gklGeGvDRfIE3dKm/hlFtSc760DlaRsdqOi7yXcw9V1WLlHfJhVG3plv+4V35R+3HWY4 QiyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=CYpjLPBeRK6Wjzurn4DEE2FlbVjDvz0lpP672AaOkkQ=; b=vmmyW00/OyNXIvCnLp2ojBdKwMhKLnZK4pId9eYBMmlIcm3CmXxiKrTvBOSrhU0YKP fXqOItNNj2g9p8jiPjQlgUAj6CxUaQvroP86wTcutC8nL2hUpK1B96NnUTHAfVapQSnc YOB0EM73lXkdNTu0/XdkFPOn8CXE/zzhCCuI8veCXaqCzM1vaJWYLo+Zm7m8MuvE0jUZ AuWrwlQRFgiLn9A6yY6y7myCNfmiyhptR2VgiCDaaO0p+lCvErIeIRBaG/xGjWYqevig tn0qt0ugyCFqOw2/aBzD8cHjUvaYEP7DWN3p5A13d2WU6us7WpMTMBXnFJsz8f0idJCR yaDA== X-Gm-Message-State: AOAM530Io8CMvOMs/7S8aXqnGlRm74p/9oC2kNwczjiyAoSh+rXtEMK0 HQgbSfOoUpR/hPX73xYYfNRZypIxSPmeWg== X-Google-Smtp-Source: ABdhPJxd6vF0pC5iBhZGOaFYXFjFsf9Ax9P95byTl9FjKWWtZXUKh03yQWj1pe3EJcO3qH5MJpJPOw== X-Received: by 2002:a17:907:9811:b0:6e8:a1ac:c4be with SMTP id ji17-20020a170907981100b006e8a1acc4bemr8721694ejc.188.1650718365631; Sat, 23 Apr 2022 05:52:45 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PATCH v2 24/34] configure: switch directory options to automatic parsing Date: Sat, 23 Apr 2022 14:51:41 +0200 Message-Id: <20220423125151.27821-25-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220423125151.27821-1-pbonzini@redhat.com> References: <20220423125151.27821-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62c; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62c.google.com X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PP_MIME_FAKE_ASCII_TEXT=0.999, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1650720278593100001 While prefix, bindir and qemu_suffix needs special treatment due to differences between Windows and POSIX systems, everything else needs no extra code in configure. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Paolo Bonzini --- configure | 58 ++--------------------------------- meson_options.txt | 4 +-- scripts/meson-buildoptions.py | 11 +++++-- scripts/meson-buildoptions.sh | 21 +++++++++++++ 4 files changed, 34 insertions(+), 60 deletions(-) diff --git a/configure b/configure index 2987713a85..1640cae307 100755 --- a/configure +++ b/configure @@ -311,6 +311,7 @@ plugins=3D"$default_feature" meson=3D"" meson_args=3D"" ninja=3D"" +bindir=3D"bin" skip_meson=3Dno =20 # The following Meson options are handled manually (still they @@ -669,6 +670,7 @@ if test "$mingw32" =3D "yes" ; then CONFIGURE_CFLAGS=3D"-mthreads $CONFIGURE_CFLAGS" write_c_skeleton; prefix=3D"/qemu" + bindir=3D"" qemu_suffix=3D"" fi =20 @@ -775,30 +777,10 @@ for opt do static=3D"yes" QEMU_PKG_CONFIG_FLAGS=3D"--static $QEMU_PKG_CONFIG_FLAGS" ;; - --mandir=3D*) mandir=3D"$optarg" - ;; --bindir=3D*) bindir=3D"$optarg" ;; - --libdir=3D*) libdir=3D"$optarg" - ;; - --libexecdir=3D*) libexecdir=3D"$optarg" - ;; - --includedir=3D*) includedir=3D"$optarg" - ;; - --datadir=3D*) datadir=3D"$optarg" - ;; --with-suffix=3D*) qemu_suffix=3D"$optarg" ;; - --docdir=3D*) docdir=3D"$optarg" - ;; - --localedir=3D*) localedir=3D"$optarg" - ;; - --sysconfdir=3D*) sysconfdir=3D"$optarg" - ;; - --localstatedir=3D*) local_statedir=3D"$optarg" - ;; - --firmwarepath=3D*) firmwarepath=3D"$optarg" - ;; --host=3D*|--build=3D*|\ --disable-dependency-tracking|\ --sbindir=3D*|--sharedstatedir=3D*|\ @@ -1021,23 +1003,6 @@ case $git_submodules_action in ;; esac =20 -libdir=3D"${libdir:-$prefix/lib}" -libexecdir=3D"${libexecdir:-$prefix/libexec}" -includedir=3D"${includedir:-$prefix/include}" - -if test "$mingw32" =3D "yes" ; then - bindir=3D"${bindir:-$prefix}" -else - bindir=3D"${bindir:-$prefix/bin}" -fi -mandir=3D"${mandir:-$prefix/share/man}" -datadir=3D"${datadir:-$prefix/share}" -docdir=3D"${docdir:-$prefix/share/doc}" -sysconfdir=3D"${sysconfdir:-$prefix/etc}" -local_statedir=3D"${local_statedir:-$prefix/var}" -firmwarepath=3D"${firmwarepath:-$datadir/qemu-firmware}" -localedir=3D"${localedir:-$datadir/locale}" - if eval test -z "\${cross_cc_$cpu}"; then eval "cross_cc_${cpu}=3D\$cc" cross_cc_vars=3D"$cross_cc_vars cross_cc_${cpu}" @@ -1115,16 +1080,7 @@ Advanced options (experts only): --with-git-submodules=3Dvalidate fail if git submodules are not up to da= te --with-git-submodules=3Dignore do not update or check git submodules (= default if no .git dir) --static enable static build [$static] - --mandir=3DPATH install man pages in PATH - --datadir=3DPATH install firmware in PATH/$qemu_suffix - --localedir=3DPATH install translation in PATH/$qemu_suffix - --docdir=3DPATH install documentation in PATH/$qemu_suffix --bindir=3DPATH install binaries in PATH - --libdir=3DPATH install libraries in PATH - --libexecdir=3DPATH install helper binaries in PATH - --sysconfdir=3DPATH install config in PATH/$qemu_suffix - --localstatedir=3DPATH install local state in PATH (set at runtime o= n win32) - --firmwarepath=3DPATH search PATH for firmware files --efi-aarch64=3DPATH PATH of efi file to use for aarch64 VMs. --with-suffix=3DSUFFIX suffix for QEMU data inside datadir/libdir/sy= sconfdir/docdir [$qemu_suffix] --without-default-features default all --enable-* options to "disabled" @@ -2408,18 +2364,8 @@ if test "$skip_meson" =3D no; then run_meson() { NINJA=3D$ninja $meson setup \ --prefix "$prefix" \ - --libdir "$libdir" \ - --libexecdir "$libexecdir" \ --bindir "$bindir" \ - --includedir "$includedir" \ - --datadir "$datadir" \ - --mandir "$mandir" \ - --sysconfdir "$sysconfdir" \ - --localedir "$localedir" \ - --localstatedir "$local_statedir" \ -Ddefault_devices=3D$default_devices \ - -Ddocdir=3D"$docdir" \ - -Dqemu_firmwarepath=3D"$firmwarepath" \ -Dqemu_suffix=3D"$qemu_suffix" \ -Dsmbd=3D"$smbd" \ -Doptimization=3D$(if test "$debug" =3D yes; then echo 0; else ech= o 2; fi) \ diff --git a/meson_options.txt b/meson_options.txt index 848426460c..a76fadbd7d 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -4,9 +4,9 @@ =20 option('qemu_suffix', type : 'string', value: 'qemu', description: 'Suffix for QEMU data/modules/config directories (can = be empty)') -option('docdir', type : 'string', value : 'doc', +option('docdir', type : 'string', value : 'share/doc', description: 'Base directory for documentation installation (can be= empty)') -option('qemu_firmwarepath', type : 'string', value : '', +option('qemu_firmwarepath', type : 'string', value : 'qemu-firmware', description: 'search PATH for firmware files') option('pkgversion', type : 'string', value : '', description: 'use specified string as sub-version of the package') diff --git a/scripts/meson-buildoptions.py b/scripts/meson-buildoptions.py index 0f9603a7f6..45cda8cd84 100755 --- a/scripts/meson-buildoptions.py +++ b/scripts/meson-buildoptions.py @@ -27,9 +27,7 @@ =20 SKIP_OPTIONS =3D { "default_devices", - "docdir", "fuzzing_engine", - "qemu_firmwarepath", "qemu_suffix", "smbd", } @@ -37,12 +35,21 @@ OPTION_NAMES =3D { "malloc": "enable-malloc", "pkgversion": "with-pkgversion", + "qemu_firmwarepath": "firmwarepath", "trace_backends": "enable-trace-backends", "trace_file": "with-trace-file", } =20 BUILTIN_OPTIONS =3D { + "datadir", + "includedir", + "libdir", + "libexecdir", + "localedir", + "localstatedir", + "mandir", "strip", + "sysconfdir", } =20 LINE_WIDTH =3D 76 diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh index a0c86db116..a52cc14d13 100644 --- a/scripts/meson-buildoptions.sh +++ b/scripts/meson-buildoptions.sh @@ -8,8 +8,11 @@ meson_options_help() { printf "%s\n" ' --block-drv-rw-whitelist=3DVALUE' printf "%s\n" ' set block driver read-write wh= itelist (by default' printf "%s\n" ' affects only QEMU, not tools l= ike qemu-img)' + printf "%s\n" ' --datadir=3DVALUE Data file directory [share]' printf "%s\n" ' --disable-coroutine-pool coroutine freelist (better per= formance)' printf "%s\n" ' --disable-install-blobs install provided firmware blob= s' + printf "%s\n" ' --docdir=3DVALUE Base directory for documenta= tion installation' + printf "%s\n" ' (can be empty) [share/doc]' printf "%s\n" ' --enable-block-drv-whitelist-in-tools' printf "%s\n" ' use block whitelist also in to= ols instead of only' printf "%s\n" ' QEMU' @@ -40,10 +43,18 @@ meson_options_help() { printf "%s\n" ' --enable-trace-backends=3DCHOICES' printf "%s\n" ' Set available tracing backends= [log] (choices:' printf "%s\n" ' dtrace/ftrace/log/nop/simple/s= yslog/ust)' + printf "%s\n" ' --firmwarepath=3DVALUE search PATH for firmware fil= es [qemu-firmware]' printf "%s\n" ' --iasl=3DVALUE Path to ACPI disassembler' + printf "%s\n" ' --includedir=3DVALUE Header file directory [inclu= de]' printf "%s\n" ' --interp-prefix=3DVALUE where to find shared librari= es etc., use %M for' printf "%s\n" ' cpu name [/usr/gnemul/qemu-%M]' + printf "%s\n" ' --libdir=3DVALUE Library directory [lib64]' + printf "%s\n" ' --libexecdir=3DVALUE Library executable directory= [libexec]' + printf "%s\n" ' --localedir=3DVALUE Locale data directory [share= /locale]' + printf "%s\n" ' --localstatedir=3DVALUE Localstate data directory [/= var/local]' + printf "%s\n" ' --mandir=3DVALUE Manual page directory [share= /man]' printf "%s\n" ' --sphinx-build=3DVALUE Use specified sphinx-build f= or building document' + printf "%s\n" ' --sysconfdir=3DVALUE Sysconf data directory [etc]' printf "%s\n" ' --tls-priority=3DVALUE Default TLS protocol/cipher = priority string' printf "%s\n" ' [NORMAL]' printf "%s\n" ' --with-pkgversion=3DVALUE use specified string as sub-= version of the' @@ -206,6 +217,7 @@ _meson_option_parse() { --disable-curl) printf "%s" -Dcurl=3Ddisabled ;; --enable-curses) printf "%s" -Dcurses=3Denabled ;; --disable-curses) printf "%s" -Dcurses=3Ddisabled ;; + --datadir=3D*) quote_sh "-Ddatadir=3D$2" ;; --enable-dbus-display) printf "%s" -Ddbus_display=3Denabled ;; --disable-dbus-display) printf "%s" -Ddbus_display=3Ddisabled ;; --enable-debug-mutex) printf "%s" -Ddebug_mutex=3Dtrue ;; @@ -214,6 +226,7 @@ _meson_option_parse() { --disable-debug-stack-usage) printf "%s" -Ddebug_stack_usage=3Dfalse ;; --enable-dmg) printf "%s" -Ddmg=3Denabled ;; --disable-dmg) printf "%s" -Ddmg=3Ddisabled ;; + --docdir=3D*) quote_sh "-Ddocdir=3D$2" ;; --enable-docs) printf "%s" -Ddocs=3Denabled ;; --disable-docs) printf "%s" -Ddocs=3Ddisabled ;; --enable-dsound) printf "%s" -Ddsound=3Denabled ;; @@ -252,6 +265,7 @@ _meson_option_parse() { --iasl=3D*) quote_sh "-Diasl=3D$2" ;; --enable-iconv) printf "%s" -Diconv=3Denabled ;; --disable-iconv) printf "%s" -Diconv=3Ddisabled ;; + --includedir=3D*) quote_sh "-Dincludedir=3D$2" ;; --enable-install-blobs) printf "%s" -Dinstall_blobs=3Dtrue ;; --disable-install-blobs) printf "%s" -Dinstall_blobs=3Dfalse ;; --interp-prefix=3D*) quote_sh "-Dinterp_prefix=3D$2" ;; @@ -265,6 +279,8 @@ _meson_option_parse() { --disable-l2tpv3) printf "%s" -Dl2tpv3=3Ddisabled ;; --enable-libdaxctl) printf "%s" -Dlibdaxctl=3Denabled ;; --disable-libdaxctl) printf "%s" -Dlibdaxctl=3Ddisabled ;; + --libdir=3D*) quote_sh "-Dlibdir=3D$2" ;; + --libexecdir=3D*) quote_sh "-Dlibexecdir=3D$2" ;; --enable-libiscsi) printf "%s" -Dlibiscsi=3Denabled ;; --disable-libiscsi) printf "%s" -Dlibiscsi=3Ddisabled ;; --enable-libnfs) printf "%s" -Dlibnfs=3Denabled ;; @@ -283,6 +299,8 @@ _meson_option_parse() { --disable-linux-io-uring) printf "%s" -Dlinux_io_uring=3Ddisabled ;; --enable-live-block-migration) printf "%s" -Dlive_block_migration=3Den= abled ;; --disable-live-block-migration) printf "%s" -Dlive_block_migration=3Dd= isabled ;; + --localedir=3D*) quote_sh "-Dlocaledir=3D$2" ;; + --localstatedir=3D*) quote_sh "-Dlocalstatedir=3D$2" ;; --enable-lzfse) printf "%s" -Dlzfse=3Denabled ;; --disable-lzfse) printf "%s" -Dlzfse=3Ddisabled ;; --enable-lzo) printf "%s" -Dlzo=3Denabled ;; @@ -290,6 +308,7 @@ _meson_option_parse() { --enable-malloc=3D*) quote_sh "-Dmalloc=3D$2" ;; --enable-malloc-trim) printf "%s" -Dmalloc_trim=3Denabled ;; --disable-malloc-trim) printf "%s" -Dmalloc_trim=3Ddisabled ;; + --mandir=3D*) quote_sh "-Dmandir=3D$2" ;; --enable-membarrier) printf "%s" -Dmembarrier=3Denabled ;; --disable-membarrier) printf "%s" -Dmembarrier=3Ddisabled ;; --enable-module-upgrades) printf "%s" -Dmodule_upgrades=3Dtrue ;; @@ -323,6 +342,7 @@ _meson_option_parse() { --disable-qcow1) printf "%s" -Dqcow1=3Ddisabled ;; --enable-qed) printf "%s" -Dqed=3Denabled ;; --disable-qed) printf "%s" -Dqed=3Ddisabled ;; + --firmwarepath=3D*) quote_sh "-Dqemu_firmwarepath=3D$2" ;; --enable-qga-vss) printf "%s" -Dqga_vss=3Denabled ;; --disable-qga-vss) printf "%s" -Dqga_vss=3Ddisabled ;; --enable-qom-cast-debug) printf "%s" -Dqom_cast_debug=3Dtrue ;; @@ -361,6 +381,7 @@ _meson_option_parse() { --disable-spice-protocol) printf "%s" -Dspice_protocol=3Ddisabled ;; --enable-strip) printf "%s" -Dstrip=3Dtrue ;; --disable-strip) printf "%s" -Dstrip=3Dfalse ;; + --sysconfdir=3D*) quote_sh "-Dsysconfdir=3D$2" ;; --enable-tcg) printf "%s" -Dtcg=3Denabled ;; --disable-tcg) printf "%s" -Dtcg=3Ddisabled ;; --enable-tcg-interpreter) printf "%s" -Dtcg_interpreter=3Dtrue ;; --=20 2.35.1