From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958877; cv=none; d=zohomail.com; s=zohoarc; b=WlGhS4DgU811GcDNqAGT7BvhHdPK/1qtsXS+FBWZjVzbKwHrk7XgSsY/WR4ttkAwkfuM9RCn8yRSAR10VkGHoAwUb9h3hOH9lUJqXxka+uq9W0KcjHNZ8zR/ZEgl/RUTy+fKITLfiA5oayI5T3zpXNj8/Qkf8iRU4UwcgJ7ow9M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958877; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pkJQaqVs7/v6zs3Q5Js7WY3TSr6oXP0gDufyu6jM/Mw=; b=GLYpu51UgwhQWjc+1aqtmcL9FyN8P2XYdcr0EUpEma8XgXw5wTmuI3/v2KQ3ZnqLuD7LlMhPs0NWgIII5vZpVTE8CYZjC5SGvSM90eR2ElW/PDuvjjL5YHBlB32z0PGlgH59+eQAVkHKOj8BQpVL2Co3/CvQOrMsFDu0N76xGjc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958877758771.8636261775712; Mon, 5 Jun 2023 02:54:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tH-0002ne-G3; Mon, 05 Jun 2023 05:52:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66t6-0002hk-St for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:34 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66t4-0006jw-MO for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:32 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-504-i4QD0BBZMJKqNblGGdbF-g-1; Mon, 05 Jun 2023 05:52:28 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-94a34a0b75eso312518866b.1 for ; Mon, 05 Jun 2023 02:52:28 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id o9-20020a1709064f8900b0094e6a9c1d24sm4203158eju.12.2023.06.05.02.52.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pkJQaqVs7/v6zs3Q5Js7WY3TSr6oXP0gDufyu6jM/Mw=; b=VGbK0tmehmuB1+RJCUrkgdCUS/P6XbUClXPl4DNpAgN46HFRNLnE1YaWnDH3Mh8mcdwj/7 1IApN1/ptZ69clPY+t1RJqArJwdzPE0j3hQ6mTeWFlHRDV34FJ4NZ5HSmz+1JL04zyH24n AOlHhfnFCZBx88KEaW4IdN+D/YTgkZQ= X-MC-Unique: i4QD0BBZMJKqNblGGdbF-g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958747; x=1688550747; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pkJQaqVs7/v6zs3Q5Js7WY3TSr6oXP0gDufyu6jM/Mw=; b=DfDV1j/Qauw3jw/Cq8cXDAXOLLVvLlKyYD+455GN2nSxK0xyElOHg25ZPoCL4TLslh jOq2qSowp08SOGiF01wCdllPyj8XUhp5o4qWnPToBuFW3wKFVGwQ0NuqkEuOjLfhcD7s dc0t2EP4HGbYqJKWRMuwGNkd/iFnkaR10FmrfapRpwH3uTfm0LTaKWJXPuehZ7Chaktf 3UtMp63ynL22kozCV+JKFVWoOlIAc6/d7ON3eOihhfkR7/MF/YkzgX9BMCM4YQwa/fY9 QyKORmCmHTCE7SLeTotd0mSclQD1xqXORj965YJTVj2HBSAIVT20pTQhWJYQd7NuB2d1 wCIg== X-Gm-Message-State: AC+VfDx7ZYmEWXmgTluUG7tk3rqzT0gOTyxdNHabIlYduCI9LHYbnPWW 26kqaRpBAmai2AVJdVbKsSNgfHKy2XPK3zwVzf/sjAiibeZPX0n1UW6aWewlFECSG0+vFlxY4AA +en5/E+lZEo+ucf2Z7j7+ItUhexjFglhzoZAZhwg/d4Ho2xJn1Dq2gPWaJMDe/Y43oV4zi0kxSD I= X-Received: by 2002:a17:907:3681:b0:96f:d6bd:390c with SMTP id bi1-20020a170907368100b0096fd6bd390cmr5747240ejc.67.1685958747152; Mon, 05 Jun 2023 02:52:27 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4Z1wzGqlX9BJNBv5qj2hlxRGtli8hNKrF6GmnfuuBJG+JGkIxMCu463QX1ChTTdMEX3uxk/g== X-Received: by 2002:a17:907:3681:b0:96f:d6bd:390c with SMTP id bi1-20020a170907368100b0096fd6bd390cmr5747228ejc.67.1685958746895; Mon, 05 Jun 2023 02:52:26 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 01/10] configure: remove --with-git= option Date: Mon, 5 Jun 2023 11:52:14 +0200 Message-Id: <20230605095223.107653-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958878111100002 Content-Type: text/plain; charset="utf-8" The scenario for which --with-git=3D was introduced was to use a SOCKS proxy such as tsocks. However, this was back in 2017 when QEMU's submodules used the git:// protocol, and it is not as important when using the "smart HTTP" backend; for example, neither "meson subprojects download" nor scripts/checkpatch.pl do not obey the GIT environment variable. So remove the knob, but test for the presence of git in the configure and git-submodule.sh scripts, and suggest using --with-git-submodules=3Dvalidate + a manual invocation of git-submodule.sh when git does not work. Hopefully in the future the GIT environment variable will be supported by Meson. Signed-off-by: Paolo Bonzini Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Thomas Huth --- Makefile | 2 +- configure | 8 ++------ meson.build | 1 - .../ci/org.centos/stream/8/x86_64/configure | 2 -- scripts/git-submodule.sh | 19 ++++++++++--------- 5 files changed, 13 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 08fb6a3b058..8005f1cc53e 100644 --- a/Makefile +++ b/Makefile @@ -53,7 +53,7 @@ Makefile: .git-submodule-status git-submodule-update: ifneq ($(GIT_SUBMODULES_ACTION),ignore) $(call quiet-command, \ - (GIT=3D"$(GIT)" "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODULES_= ACTION) $(GIT_SUBMODULES)), \ + (GIT=3Dgit "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODULES_ACTIO= N) $(GIT_SUBMODULES)), \ "GIT","$(GIT_SUBMODULES)") endif =20 diff --git a/configure b/configure index d674a966731..92bacc756c0 100755 --- a/configure +++ b/configure @@ -751,8 +751,6 @@ for opt do ;; --enable-fdt=3D*) fdt=3D"$optarg" ;; - --with-git=3D*) git=3D"$optarg" - ;; --with-git-submodules=3D*) git_submodules_action=3D"$optarg" ;; @@ -791,7 +789,7 @@ fi =20 case $git_submodules_action in update|validate) - if test ! -e "$source_path/.git"; then + if test ! -e "$source_path/.git" || ! has git; then echo "ERROR: cannot $git_submodules_action git submodules with= out .git" exit 1 fi @@ -892,7 +890,6 @@ Advanced options (experts only): --python=3DPYTHON use specified python [$python] --ninja=3DNINJA use specified ninja [$ninja] --smbd=3DSMBD use specified smbd [$smbd] - --with-git=3DGIT use specified git [$git] --with-git-submodules=3Dupdate update git submodules (default if .git = dir exists) --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) @@ -1699,7 +1696,7 @@ fi ####################################### # generate config-host.mak =20 -if ! (GIT=3D"$git" "$source_path/scripts/git-submodule.sh" "$git_submodule= s_action" "$git_submodules"); then +if ! (GIT=3Dgit "$source_path/scripts/git-submodule.sh" "$git_submodules_a= ction" "$git_submodules"); then exit 1 fi =20 @@ -1709,7 +1706,6 @@ echo "# Automatically generated by configure - do not= modify" > $config_host_mak echo >> $config_host_mak =20 echo all: >> $config_host_mak -echo "GIT=3D$git" >> $config_host_mak echo "GIT_SUBMODULES=3D$git_submodules" >> $config_host_mak echo "GIT_SUBMODULES_ACTION=3D$git_submodules_action" >> $config_host_mak =20 diff --git a/meson.build b/meson.build index cabf36ec5e9..eb09af6ec82 100644 --- a/meson.build +++ b/meson.build @@ -4026,7 +4026,6 @@ summary(summary_info, bool_yn: true, section: 'Direct= ories') =20 # Host binaries summary_info =3D {} -summary_info +=3D {'git': config_host['GIT']} summary_info +=3D {'python': '@0@ (version: @1@)'.format(python= .full_path(), python.language_version())} summary_info +=3D {'sphinx-build': sphinx_build} if config_host.has_key('HAVE_GDB_BIN') diff --git a/scripts/ci/org.centos/stream/8/x86_64/configure b/scripts/ci/o= rg.centos/stream/8/x86_64/configure index 6e8983f39cd..de76510978f 100755 --- a/scripts/ci/org.centos/stream/8/x86_64/configure +++ b/scripts/ci/org.centos/stream/8/x86_64/configure @@ -29,14 +29,12 @@ --extra-cflags=3D"-O2 -g -pipe -Wall -Werror=3Dformat-security -Wp,-D_FORT= IFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-str= ong -grecord-gcc-switches -specs=3D/usr/lib/rpm/redhat/redhat-hardened-cc1 = -specs=3D/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=3Dgeneric -fasy= nchronous-unwind-tables -fstack-clash-protection -fcf-protection" \ --with-suffix=3D"qemu-kvm" \ --firmwarepath=3D/usr/share/qemu-firmware \ ---with-git=3Dmeson \ --with-git-submodules=3Dupdate \ --target-list=3D"x86_64-softmmu" \ --block-drv-rw-whitelist=3D"qcow2,raw,file,host_device,nbd,iscsi,rbd,blkde= bug,luks,null-co,nvme,copy-on-read,throttle,gluster" \ --audio-drv-list=3D"" \ --block-drv-ro-whitelist=3D"vmdk,vhdx,vpc,https,ssh" \ --with-coroutine=3Ducontext \ ---with-git=3Dgit \ --tls-priority=3D@QEMU,SYSTEM \ --disable-attr \ --disable-auth-pam \ diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh index 7be41f59483..0ce1efc44e5 100755 --- a/scripts/git-submodule.sh +++ b/scripts/git-submodule.sh @@ -12,7 +12,7 @@ maybe_modules=3D"$@" # if --with-git-submodules=3Dignore, do nothing test "$command" =3D "ignore" && exit 0 =20 -test -z "$GIT" && GIT=3Dgit +test -z "$GIT" && GIT=3D$(command -v git) =20 cd "$(dirname "$0")/.." =20 @@ -21,19 +21,14 @@ update_error() { echo echo "Unable to automatically checkout GIT submodules '$modules'." echo "If you require use of an alternative GIT binary (for example to" - echo "enable use of a transparent proxy), then please specify it by" - echo "running configure by with the '--with-git' argument. e.g." - echo - echo " $ ./configure --with-git=3D'tsocks git'" - echo - echo "Alternatively you may disable automatic GIT submodule checkout" - echo "with:" + echo "enable use of a transparent proxy), please disable automatic" + echo "GIT submodule checkout with:" echo echo " $ ./configure --with-git-submodules=3Dvalidate" echo echo "and then manually update submodules prior to running make, with:" echo - echo " $ scripts/git-submodule.sh update $modules" + echo " $ GIT=3D'tsocks git' scripts/git-submodule.sh update $modules" echo exit 1 } @@ -57,6 +52,12 @@ then exit 1 fi =20 +if test -n "$maybe_modules" && test -z "$GIT" +then + echo "$0: unexpectedly called with submodules but git binary not found" + exit 1 +fi + modules=3D"" for m in $maybe_modules do --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958811; cv=none; d=zohomail.com; s=zohoarc; b=ZP0eK+0PnzlpfA7Yq+skr/XozAJqleM756VYNrC2IoRDWiZYLAtuKdkQG9IgNbMxQpA20bKrsDn/k74YnEIjW/A/AeK3Eriksxp1w//OD74/erq7Pg7WPlvTHyIgI4obaV2WeDLJt40e7P30Ez2jPo1qnbR37V4r1ys+qVbFM7o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958811; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=scYrryya8DVCdN5sXK97iWXrJtCRAUlwa7DP2urybps=; b=Obm+bSRGDrSVidtt7ktrCK+anIxUJynC7yuqB4RjLrVcTKUE8nrivFqyLlKN0+po4dOyuhOYkznO3juy14ltCGVzJ4bhXyGdEFUmd9M5oMuqWF27e6vx0pwgSvHWzBPxeMYtNWe8vZYIMN4nb66q6E9O0rG484LkU7LaH7VUH+I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958811318157.95000228974084; Mon, 5 Jun 2023 02:53:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tG-0002nM-8V; Mon, 05 Jun 2023 05:52:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66t7-0002iO-Vs for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:34 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66t6-0006kK-6B for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:33 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-120-ub7RGxmXNiq4XZ70yWThQA-1; Mon, 05 Jun 2023 05:52:30 -0400 Received: by mail-ed1-f69.google.com with SMTP id 4fb4d7f45d1cf-514b8d2b21fso3050849a12.1 for ; Mon, 05 Jun 2023 02:52:30 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id i13-20020a056402054d00b00510d110db58sm3702449edx.80.2023.06.05.02.52.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=scYrryya8DVCdN5sXK97iWXrJtCRAUlwa7DP2urybps=; b=DOPaNND6iB7WdhDqWLnClxwYlMwJiisKkAkhrmjYVdWjUhipOq6WgTWRoC540wk1qrOxV4 bxN7qJeFzjD1h0MXBSC+PH4raI4ix8jlPio7geb2APz/P13R2QKo+CyRD3QLev/EffVCAO Xmp4wnx9qsBQ82GYtRfzuCcLIGYD9fM= X-MC-Unique: ub7RGxmXNiq4XZ70yWThQA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958749; x=1688550749; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=scYrryya8DVCdN5sXK97iWXrJtCRAUlwa7DP2urybps=; b=K3rLcA/p3Wl+cdEA9k7U36tYwt2N/uTo4Fcww+xrEdsqkNV6mQEKlzLNyP8quB6AFq bAJHGbxuOf88t8geO8QQ4k1Y2Z2wpjQ0uwGjbrafP8ShyJ1wpiwyb9ItGSLqfXBnwmO+ 8pfVvrFNlLPNs4cnP7W/HcZ1tw3M7y3BBy9EBr1SckSMVM8ZSOrhBmyFw738LUUf0Zp8 1eRoDHzz/3o84tyCGUJI5MarrdzK1f8e7rz/z4hnR9lUCbWYBE6X9RxeJnAgJYsHTQ7w bE1HF9csAOKjrSS6hr8cxDvqGN29J1oqFhpv5346HgLD9RCKJaXFsaoKiiduTpFfxpBu 0JlA== X-Gm-Message-State: AC+VfDzWEzt8YGcRXD1DO+dANqbbThmBrl3dBnLcjvyJB8KzH+fRhNfj RKoX6E8R/QI2Wwk+e+ZGTxwmFNDZNbcgADyO+qCauuYsmMQyhzLJy9fZV143G4B3yQWn+fEQPZt sWEe2niAPz8XoxvEoyKXmBVxSMIC2B6T0jtgWzRfJp0X4dEXoe/TuUgCpzl+Wrv0UDvGIo7ynOs s= X-Received: by 2002:aa7:d590:0:b0:510:6ccf:84aa with SMTP id r16-20020aa7d590000000b005106ccf84aamr7532369edq.32.1685958748826; Mon, 05 Jun 2023 02:52:28 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ49WWG772l69zdngPxv4YDvSRbBQ9YpuM1dehKyYJoo9CGhdJIL1mKjoaA+BkOYz4bg8gjv8g== X-Received: by 2002:aa7:d590:0:b0:510:6ccf:84aa with SMTP id r16-20020aa7d590000000b005106ccf84aamr7532356edq.32.1685958748509; Mon, 05 Jun 2023 02:52:28 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 02/10] configure: rename --enable-pypi to --enable-download, control subprojects too Date: Mon, 5 Jun 2023 11:52:15 +0200 Message-Id: <20230605095223.107653-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset=UTF-8 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958811928100001 The behavior of --{enable,disable}-pypi is similar to that of -Dwrapmode=3D{default,nodownload} respectively. In particular, in both cases a feature needs to be explicitly enabled for the dependency to be downloaded. So, use a single option to control both cases. Now, --enable-slirp will trigger cloning and building of libslirp if the .pc file is not found on the machine. Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Thomas Huth Signed-off-by: Paolo Bonzini Reviewed-by: Alex Benn=C3=A9e --- .gitignore | 2 -- configure | 17 +++++++---------- subprojects/.gitignore | 3 +++ 3 files changed, 10 insertions(+), 12 deletions(-) create mode 100644 subprojects/.gitignore diff --git a/.gitignore b/.gitignore index 1ea59f48192..61fa39967b5 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,3 @@ GTAGS *.swp *.patch *.gcov - -/subprojects/slirp diff --git a/configure b/configure index 92bacc756c0..52274212310 100755 --- a/configure +++ b/configure @@ -266,7 +266,7 @@ bsd_user=3D"" plugins=3D"$default_feature" ninja=3D"" python=3D -pypi=3D"enabled" +download=3D"enabled" bindir=3D"bin" skip_meson=3Dno vfio_user_server=3D"disabled" @@ -754,9 +754,9 @@ for opt do --with-git-submodules=3D*) git_submodules_action=3D"$optarg" ;; - --disable-pypi) pypi=3D"disabled" + --disable-download) download=3D"disabled" ;; - --enable-pypi) pypi=3D"enabled" + --enable-download) download=3D"enabled" ;; --enable-plugins) if test "$mingw32" =3D "yes"; then error_exit "TCG plugins not currently supported on= Windows platforms" @@ -960,7 +960,7 @@ python=3D"$(command -v "$python")" # - venv is allowed to use system packages; # - all setup can be performed offline; # - missing packages may be fetched from PyPI, -# unless --disable-pypi is passed. +# unless --disable-download is passed. # - pip is not installed into the venv when possible, # but ensurepip is called as a fallback when necessary. =20 @@ -977,7 +977,7 @@ python=3D"$python -B" mkvenv=3D"$python ${source_path}/python/scripts/mkvenv.py" =20 mkvenv_flags=3D"" -if test "$pypi" =3D "enabled" ; then +if test "$download" =3D "enabled" ; then mkvenv_flags=3D"--online" fi =20 @@ -1000,7 +1000,7 @@ meson=3D"$(cd pyvenv/bin; pwd)/meson" # Conditionally ensure Sphinx is installed. =20 mkvenv_flags=3D"" -if test "$pypi" =3D "enabled" -a "$docs" =3D "enabled" ; then +if test "$download" =3D "enabled" -a "$docs" =3D "enabled" ; then mkvenv_flags=3D"--online" fi =20 @@ -1940,11 +1940,8 @@ if test "$skip_meson" =3D no; then =20 rm -rf meson-private meson-info meson-logs =20 - # Prevent meson from automatically downloading wrapped subprojects when = missing. - # You can use 'meson subprojects download' before running configure. - meson_option_add "--wrap-mode=3Dnodownload" - # Built-in options + test "$download" =3D "disabled" && meson_option_add "--wrap-mode=3Dnodow= nload" test "$bindir" !=3D "bin" && meson_option_add "-Dbindir=3D$bindir" test "$default_feature" =3D no && meson_option_add -Dauto_features=3Ddis= abled test "$static" =3D yes && meson_option_add -Dprefer_static=3Dtrue diff --git a/subprojects/.gitignore b/subprojects/.gitignore new file mode 100644 index 00000000000..7560ebb0b1a --- /dev/null +++ b/subprojects/.gitignore @@ -0,0 +1,3 @@ +/packagecache + +/slirp --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958836; cv=none; d=zohomail.com; s=zohoarc; b=U5SY1sDFJZmw/n8HM09GEO5DCs5w8fjxFuEHVDui5bA+P44ioIglR1spG+LGxSxKmHfE25fJxyj4/Bby4eLAvNYil1tyPLN0MNB4CD0Z3/Da/sFuuF5fllJ5nWxs6TbgmryK7bLGEvBrJQ/obiRFHDTrCliv2ptT4IRkJ/LEF/8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958836; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KV0us+lQFaTLaVt+18IRhS6KCTi0FFJV0G41ZssQkjI=; b=GM5gvQQ7CKQd4EvPVzxggngTVZ2+gB4ymZU4f1uMZqgHQpDrzXrdA8bqVikgIbHryFjS3FgPw5BVUK+sDr4GWerSli+FXs9HmiUGM4qZaFC3jVEuxkXXV5rkux2i5CiyoRbv5TNnuCjYCSiI5NAY/hrNdmDSIDiZTRHOmUE5nPo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 168595883632341.68946571931406; Mon, 5 Jun 2023 02:53:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tG-0002n1-0E; Mon, 05 Jun 2023 05:52:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66t9-0002jh-DO for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66t7-0006ke-PN for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:35 -0400 Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-605-wOZzSDAoNpCo7CRmI6_x-g-1; Mon, 05 Jun 2023 05:52:31 -0400 Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-96f4d917e06so624082966b.1 for ; Mon, 05 Jun 2023 02:52:31 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id z13-20020a170906240d00b0094e597f0e4dsm4062603eja.121.2023.06.05.02.52.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958753; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KV0us+lQFaTLaVt+18IRhS6KCTi0FFJV0G41ZssQkjI=; b=NnUxvrQyEpzbsS41nEzSXkTHs1YAgz6fWdIciPw/q51fsyIg6g3rqALAZFKRDatR563PRc Qo7piXaOw8O0L20zAkR76dJrO/WE2yAk7D+UzD17eBfr73ikDThJ+wn8d2sKOlmoPBO8Pu hDkTV3k9KCad7XRN3PD1/RdmWRLC0Fc= X-MC-Unique: wOZzSDAoNpCo7CRmI6_x-g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958750; x=1688550750; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KV0us+lQFaTLaVt+18IRhS6KCTi0FFJV0G41ZssQkjI=; b=SvRT2yhYj/ydYhrpt2hjlW23SWPahg8d2+Gu+r4YdrsbARkbPyMNb6aCAPHQ4ML+eF yb6m2uXH8hmNPZYiqxt0yzxoF/5Yau4aDB3ViZIQtljjEnQflZ2wF/9IhKMFRvOv9mKO sMvOTYcY29lPvQF9oCAWSGGt61X4zPijJGT0yS1Xn7LwIzXRNGnyOs752o16LkR8umD0 fRNx2rSs9RBGLVFDsSFWmZFuEmum39j6QD96DPdBanxw4auTZK8r1Geb0TdAl4J2/Ki8 dOV+fq/GSTl71hrtkqdUfrRaKXgrvhQnKR55O5jTFqgc87qPLg2Dg8T5j5LllNzvDSS1 143w== X-Gm-Message-State: AC+VfDy6WL8XqHZAcUTPTW70+NgWwWyp12C+8uQz9PNZIQTKYF/njBDb UScn6ir8+SGJGR9jXQdM+69mZTv+E9Q4uE6kiavmZ+mca4V3WvySUtOVS6ANSutmwdSWvZ/w3BV LM2jurpLYGC0tocUymLDn5yvWBH8tNZYouISquZn+UaBYocahz8yM7Im/5gVips0XgyVz3YlMqd U= X-Received: by 2002:a17:907:971b:b0:973:92a8:f611 with SMTP id jg27-20020a170907971b00b0097392a8f611mr5259933ejc.31.1685958750345; Mon, 05 Jun 2023 02:52:30 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6Vw91NmnTvVUCmw2LAOiD9lhwrx+mC0UDiV00d8JBbUXiXH6MSns8tyVuA8GU9E3+YRD4xmQ== X-Received: by 2002:a17:907:971b:b0:973:92a8:f611 with SMTP id jg27-20020a170907971b00b0097392a8f611mr5259926ejc.31.1685958750138; Mon, 05 Jun 2023 02:52:30 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 03/10] git-submodule: allow partial update of .git-submodule-status Date: Mon, 5 Jun 2023 11:52:16 +0200 Message-Id: <20230605095223.107653-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958837529100001 Content-Type: text/plain; charset="utf-8" Allow a specific subdirectory to run git-submodule.sh with only a subset of submodules, without removing the others from the .git-submodule-status file. This also allows scripts/git-submodule.sh to be more lenient: validating an empty set of submodules is not a mistake. Signed-off-by: Paolo Bonzini Reviewed-by: Alex Benn=C3=A9e --- scripts/git-submodule.sh | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh index 0ce1efc44e5..b7d8f05352c 100755 --- a/scripts/git-submodule.sh +++ b/scripts/git-submodule.sh @@ -72,12 +72,8 @@ done =20 case "$command" in status|validate) - if test -z "$maybe_modules" - then - test -s ${substat} && validate_error "$command" || exit 0 - fi - test -f "$substat" || validate_error "$command" + test -z "$maybe_modules" && exit 0 for module in $modules; do CURSTATUS=3D$($GIT submodule status $module) OLDSTATUS=3D$(cat $substat | grep $module) @@ -88,17 +84,23 @@ status|validate) exit 0 ;; update) - if test -z "$maybe_modules" - then - test -e $substat || touch $substat - exit 0 - fi + test -e $substat || touch $substat + test -z "$maybe_modules" && exit 0 =20 $GIT submodule update --init $modules 1>/dev/null test $? -ne 0 && update_error "failed to update modules" =20 - $GIT submodule status $modules > "${substat}" - test $? -ne 0 && update_error "failed to save git submodule status" >&2 + (while read -r; do + for module in $modules; do + case $REPLY in + *" $module "*) continue 2 ;; + esac + done + printf '%s\n' "$REPLY" + done + $GIT submodule status $modules + test $? -ne 0 && update_error "failed to save git submodule status" >&= 2) < $substat > $substat.new + mv -f $substat.new $substat ;; esac =20 --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958860; cv=none; d=zohomail.com; s=zohoarc; b=OqHQP/UUlfL+bj1teHMgLRSsgRtudg2kTPQQbHp/P+GO1gHVYty2pff64t6+tQ+rkZR+ulJskP6qEnOXlHdee98YAEgQfyTjmLrujCkDfxLQNaidJwaUOUqRvn72/2zx9iOyV2rg9eSILsKxNukSZRUW/E6OYFd3JhLUxVieQI0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958860; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zaAJ541yFKl/6b2Y5DV4b0y0RM+YZJrtSH8fs7fEjXk=; b=Ch/SqRrSKxdsX6AdJTqqLmEjxqRixxXt1/82p6QjSh6IhQ4l3Ld3eVnx7WdjqOAFxRCH/pIyK7ShonR45nEorK3N7xJVluo94HotB/URQ53Os0+mRNE4yZXJVagTdXL0pyCKgM8v23sy3Fx3ZEvdTb38PFpSgOigSGfNobX2paI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958860604936.1869340756344; Mon, 5 Jun 2023 02:54:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tH-0002no-PL; Mon, 05 Jun 2023 05:52:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tA-0002kZ-Un for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66t9-0006l1-BG for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:36 -0400 Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-671-uw2uJDn6PES2koMs_07Xyw-1; Mon, 05 Jun 2023 05:52:33 -0400 Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-94f7a2b21fdso384470966b.2 for ; Mon, 05 Jun 2023 02:52:33 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id f14-20020a170906494e00b0097461fecc91sm4031379ejt.81.2023.06.05.02.52.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zaAJ541yFKl/6b2Y5DV4b0y0RM+YZJrtSH8fs7fEjXk=; b=eWnfWmjEkLlxtnO+Snq+C0m4B5M0FVnRxnB4pN1nRULmQdxIdGeDLrkBbZ0Rn5GXPuhbOy EjvaoquihjxHvEht17w/pyoOaNpXJF+nFap5OHj7AXhaH4ItiXuA8A94rknr+76L3x6eoL HBLHK4eJDz+QsU99CQzBZXJHgCjhorM= X-MC-Unique: uw2uJDn6PES2koMs_07Xyw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958752; x=1688550752; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zaAJ541yFKl/6b2Y5DV4b0y0RM+YZJrtSH8fs7fEjXk=; b=aJ4GYDKoyEUDlzUexQHQfzP6E9PlWHPJE3l8xxmnlBpWQHdjmnkxWVgnu39hRYUuuG t30K4S4tTfOOYuN0TcD7nT/sZB07Cwriuy49RLPe5A37HEOZy94rpY8zTh2KERATAU8J p45OA+rXz9DWc4XoboWORcxZr4gNx0D4kqjNSwicdmJgumKZk8npzoIsD6TBmuc0/nkl YEnprEQjQwnLNEZlC07X/LdeKmZ1LPDB4X7W7xXqpFGiublSSU8tMS+9aABC0anpMocB EcPnkkOv4IMGhAKgLr9ib/I+tjEOOIEkmF1uMt7D7X/oYjK5AEF3Lsblz694AUweuJnQ n/vg== X-Gm-Message-State: AC+VfDyOmjrweCmWbWkxVcWx+scv0MzEBI/H7WZ9EkBEMHtY8lWwR+AK rA6WlCfkjMnobPJl+Hq0Jmbe0HrMh98tXFYKj5AeZas1cTMwHfXRwrbrMve33O3C3oVxtxUKMtZ qKNCHRrNoXee9y/6BV91zkSVK27BQ1+FXVYjVDUHs0YeGBx6vWfIMlF+nqplLrteNj0TWECNZ1z g= X-Received: by 2002:a17:907:c0f:b0:973:d953:4bf7 with SMTP id ga15-20020a1709070c0f00b00973d9534bf7mr6953293ejc.48.1685958752040; Mon, 05 Jun 2023 02:52:32 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4Adlv0T0ExwwXrNlspaJh95dbvrEBfWb9ZnQUQpB7x7azYzKIcEoZqBAgHnIfzrqON8b6D6w== X-Received: by 2002:a17:907:c0f:b0:973:d953:4bf7 with SMTP id ga15-20020a1709070c0f00b00973d9534bf7mr6953282ejc.48.1685958751771; Mon, 05 Jun 2023 02:52:31 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 04/10] build: log submodule update from git-submodule.sh Date: Mon, 5 Jun 2023 11:52:17 +0200 Message-Id: <20230605095223.107653-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958861714100001 Content-Type: text/plain; charset="utf-8" Print exactly which submodules have been updated, by reusing the logic of "git-submodule.sh validate" after executing "git submodule update --init'. Signed-off-by: Paolo Bonzini Reviewed-by: Alex Benn=C3=A9e --- Makefile | 4 +--- scripts/git-submodule.sh | 16 +++++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 8005f1cc53e..d68196acb9e 100644 --- a/Makefile +++ b/Makefile @@ -52,9 +52,7 @@ Makefile: .git-submodule-status .PHONY: git-submodule-update git-submodule-update: ifneq ($(GIT_SUBMODULES_ACTION),ignore) - $(call quiet-command, \ - (GIT=3Dgit "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODULES_ACTIO= N) $(GIT_SUBMODULES)), \ - "GIT","$(GIT_SUBMODULES)") + $(quiet-@)GIT=3Dgit "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODUL= ES_ACTION) $(GIT_SUBMODULES) endif =20 # 0. ensure the build tree is okay diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh index b7d8f05352c..38b55c90e11 100755 --- a/scripts/git-submodule.sh +++ b/scripts/git-submodule.sh @@ -46,6 +46,13 @@ validate_error() { exit 1 } =20 +check_updated() { + local CURSTATUS OLDSTATUS + CURSTATUS=3D$($GIT submodule status $module) + OLDSTATUS=3D$(grep $module $substat) + test "$CURSTATUS" =3D "$OLDSTATUS" +} + if test -n "$maybe_modules" && ! test -e ".git" then echo "$0: unexpectedly called with submodules but no git checkout exis= ts" @@ -75,11 +82,7 @@ status|validate) test -f "$substat" || validate_error "$command" test -z "$maybe_modules" && exit 0 for module in $modules; do - CURSTATUS=3D$($GIT submodule status $module) - OLDSTATUS=3D$(cat $substat | grep $module) - if test "$CURSTATUS" !=3D "$OLDSTATUS"; then - validate_error "$command" - fi + check_updated $module || validate_error "$command" done exit 0 ;; @@ -89,6 +92,9 @@ update) =20 $GIT submodule update --init $modules 1>/dev/null test $? -ne 0 && update_error "failed to update modules" + for module in $modules; do + check_updated $module || echo Updated "$module" + done =20 (while read -r; do for module in $modules; do --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958806; cv=none; d=zohomail.com; s=zohoarc; b=AduS666uXYL0yqZfLgMQPIblJ03HiE+W+BQk1pkeOQ74EqoM9wMmjIAA35qTy1eS/t1FiaR0NRsvpsVsJXDe9iI77c9cQHoe92tS8M8m7T6srS+/07dxywx+4gIu/l60mbr5omd2jUYpyhXmP5wYvSkTHcfdVHl3qmdDwxyCtHc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958806; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UDtZI8Y4EzgVfohnE7GF0D4hAr7LgQNUJEm2QKAAE/Y=; b=iHA9IqEJkxX2b29TAnyte/7v0vbnL71NZbmAz3ifnZDIZWmM8R9WBVVvR49Gc79LiFMTHQCmvUamJ9Vhmp2sfMP02SszyaXgqv5Yn9FpVAmivgU/Wabn2Pwu3ue7qYZ4DFnDuCqjaPuLZDVzdZ6nbMRe5aHwjaj5OpjPyWqBbmw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958806856156.85478698659256; Mon, 5 Jun 2023 02:53:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66ti-0002yO-Kx; Mon, 05 Jun 2023 05:53:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tT-0002r7-NK for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:55 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tR-0006rY-5a for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:55 -0400 Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-618-zJyvubCZNNuLDgTng_VVpA-1; Mon, 05 Jun 2023 05:52:50 -0400 Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-9745c72d99cso291742066b.1 for ; Mon, 05 Jun 2023 02:52:50 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id k16-20020a1709065fd000b00977db7d08cbsm924302ejv.74.2023.06.05.02.52.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UDtZI8Y4EzgVfohnE7GF0D4hAr7LgQNUJEm2QKAAE/Y=; b=Rux7VBpGBoUYwINi7a5roUBh27vhRpy+uZ/dnJNZmF1OxJsbvdQ+c5ZJnOeJTm0KD1/JZt kpghvOYAd2SoCkFAfDcS9bsSLeFGQ0P8ZHlmCxVBoDl0BtbcgjGf+JWoX1GJzmArG5DQi6 w/Uoek7C6wmBs5tvdkSL8B3Hv68rR+o= X-MC-Unique: zJyvubCZNNuLDgTng_VVpA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958754; x=1688550754; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UDtZI8Y4EzgVfohnE7GF0D4hAr7LgQNUJEm2QKAAE/Y=; b=CfWFqb7tquASltPa2q9iQ8oIgDxN6i8uLtr9Ldj+2kRlmd3O2AV0Hn4biLc6CdQB4u wY/EfVksovQ0Bty9IhGrfsYCg7IiVX8cMn1cJnhXo7BYPvKhLdVy5Cl6j/pEkdK5+Bl+ C2W7V6pHqHb2+D9ip03lV6EWvXngI31mXqMpDsvwjezw+0fGZ9rnPGcmOXUEb8G5OSIx uuexX0jXAjt/llKDKkkhvpZV6ljn9cMyWG49J1znZStcnUn600UrwQYbeP8hTafj22K3 4spSbtXg/548thliupqe22tjHs44eiFDtWd7TKvxtaQxDpvHXhU0TtB/3MnvpQvZ4bhG mbLA== X-Gm-Message-State: AC+VfDypoXchLLGy34lrpRHsaA3xMiBUohKgVgtSSLK0nf3jilog+HWu +Be/tDPf60ZPnp9VeQJsy41aou/RfP1pHEmAhDZfEULyKq7icMeY8h1Lx1ZBoOZkFzeJ5/8/PTH 4WJJ+QQoqbhT1voGabW3jxNHZEZPSqOyd+qAaf2Etd8gh4gZlnPznpHNytwoind2KmjGfaKOZVY E= X-Received: by 2002:a17:906:fd81:b0:968:c3b5:8b92 with SMTP id xa1-20020a170906fd8100b00968c3b58b92mr5753423ejb.57.1685958753839; Mon, 05 Jun 2023 02:52:33 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6uXFmZ3lrbWDUa7yqYSk7jK6V2zlfOmGrvS4qTrcFuXB9ImGelMlMRwg9NIphzbcPpx6OZbQ== X-Received: by 2002:a17:906:fd81:b0:968:c3b5:8b92 with SMTP id xa1-20020a170906fd8100b00968c3b58b92mr5753411ejb.57.1685958753488; Mon, 05 Jun 2023 02:52:33 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 05/10] meson: subprojects: replace submodules with wrap files Date: Mon, 5 Jun 2023 11:52:18 +0200 Message-Id: <20230605095223.107653-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958807633100001 Content-Type: text/plain; charset="utf-8" Compared to submodules, .wrap files have several advantages: * option parsing and downloading is delegated to meson * the commit is stored in a text file instead of a magic entry in the git tree object * we could stop shipping external dependencies that are only used as a fallback, but not break compilation on platforms that lack them. For example it may make sense to download dtc at build time, controlled by --enable-download, even when building from a tarball. Right now, this patch does the opposite: make-release treats dtc like libvfio-user (which is not stable API and therefore hasn't found its way into any distros) and keycodemap (which is a copylib, for better or worse). dependency() can fall back to a wrap automatically. However, this is only possible for libraries that come with a .pc file, and this is not very common for libfdt even though the upstream project in principle provides it; it also removes the control that we provide with --enable-fdt=3D{system,internal}. Therefore, the logic to pick system vs. internal libfdt is left untouched. --enable-fdt=3Dgit is removed; it was already a synonym for --enable-fdt=3Dinternal. Signed-off-by: Paolo Bonzini Reviewed-by: Daniel P. Berrang=C3=A9 --- .gitlab-ci.d/buildtest-template.yml | 1 + .gitmodules | 9 ---- configure | 77 ++++++++++++----------------- meson.build | 15 +----- scripts/archive-source.sh | 11 ++++- scripts/make-release | 5 ++ subprojects/.gitignore | 3 ++ subprojects/dtc | 1 - subprojects/dtc.wrap | 4 ++ subprojects/keycodemapdb | 1 - subprojects/keycodemapdb.wrap | 4 ++ subprojects/libvfio-user | 1 - subprojects/libvfio-user.wrap | 4 ++ 13 files changed, 63 insertions(+), 73 deletions(-) delete mode 160000 subprojects/dtc create mode 100644 subprojects/dtc.wrap delete mode 160000 subprojects/keycodemapdb create mode 100644 subprojects/keycodemapdb.wrap delete mode 160000 subprojects/libvfio-user create mode 100644 subprojects/libvfio-user.wrap diff --git a/.gitlab-ci.d/buildtest-template.yml b/.gitlab-ci.d/buildtest-t= emplate.yml index c9f2e737c09..3c997d7265b 100644 --- a/.gitlab-ci.d/buildtest-template.yml +++ b/.gitlab-ci.d/buildtest-template.yml @@ -44,6 +44,7 @@ script: - scripts/git-submodule.sh update $(sed -n '/GIT_SUBMODULES=3D/ s/.*=3D// p' build/config-host.mak) + - meson subprojects download $(cd build/subprojects && echo *) - cd build - find . -type f -exec touch {} + # Avoid recompiling by hiding ninja with NINJA=3D":" diff --git a/.gitmodules b/.gitmodules index f8b2ddf3877..a934c85e4e4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,9 +13,6 @@ [submodule "roms/qemu-palcode"] path =3D roms/qemu-palcode url =3D https://gitlab.com/qemu-project/qemu-palcode.git -[submodule "subprojects/dtc"] - path =3D subprojects/dtc - url =3D https://gitlab.com/qemu-project/dtc.git [submodule "roms/u-boot"] path =3D roms/u-boot url =3D https://gitlab.com/qemu-project/u-boot.git @@ -25,9 +22,6 @@ [submodule "roms/QemuMacDrivers"] path =3D roms/QemuMacDrivers url =3D https://gitlab.com/qemu-project/QemuMacDrivers.git -[submodule "subprojects/keycodemapdb"] - path =3D subprojects/keycodemapdb - url =3D https://gitlab.com/qemu-project/keycodemapdb.git [submodule "roms/seabios-hppa"] path =3D roms/seabios-hppa url =3D https://gitlab.com/qemu-project/seabios-hppa.git @@ -55,6 +49,3 @@ [submodule "tests/lcitool/libvirt-ci"] path =3D tests/lcitool/libvirt-ci url =3D https://gitlab.com/libvirt/libvirt-ci.git -[submodule "subprojects/libvfio-user"] - path =3D subprojects/libvfio-user - url =3D https://gitlab.com/qemu-project/libvfio-user.git diff --git a/configure b/configure index 52274212310..45d43ddbd97 100755 --- a/configure +++ b/configure @@ -253,7 +253,7 @@ else git_submodules_action=3D"ignore" fi =20 -git_submodules=3D"subprojects/keycodemapdb" +git_submodules=3D"" git=3D"git" debug_tcg=3D"no" docs=3D"auto" @@ -269,7 +269,6 @@ python=3D download=3D"enabled" bindir=3D"bin" skip_meson=3Dno -vfio_user_server=3D"disabled" use_containers=3D"yes" gdb_bin=3D$(command -v "gdb-multiarch" || command -v "gdb") gdb_arches=3D"" @@ -281,16 +280,13 @@ unset target_list_exclude =20 # The following Meson options are handled manually (still they # are included in the automatically generated help message) - -# 1. Track which submodules are needed -fdt=3D"auto" - -# 2. Automatically enable/disable other options +# because they automatically enable/disable other options tcg=3D"auto" cfi=3D"false" =20 -# 3. Need to check for -static-pie before Meson runs. Also, -# Meson has PIE as a boolean rather than enabled/disabled/auto. +# Meson has PIE as a boolean rather than enabled/disabled/auto, +# and we also need to check for -static-pie before Meson runs +# which requires knowing whether --static is enabled. pie=3D"" static=3D"no" =20 @@ -743,14 +739,6 @@ for opt do ;; --disable-cfi) cfi=3D"false" ;; - --disable-fdt) fdt=3D"disabled" - ;; - --enable-fdt) fdt=3D"enabled" - ;; - --enable-fdt=3Dgit) fdt=3D"internal" - ;; - --enable-fdt=3D*) fdt=3D"$optarg" - ;; --with-git-submodules=3D*) git_submodules_action=3D"$optarg" ;; @@ -772,10 +760,6 @@ for opt do ;; --gdb=3D*) gdb_bin=3D"$optarg" ;; - --enable-vfio-user-server) vfio_user_server=3D"enabled" - ;; - --disable-vfio-user-server) vfio_user_server=3D"disabled" - ;; # everything else has the same name in configure and meson --*) meson_option_parse "$opt" "$optarg" ;; @@ -787,6 +771,32 @@ if test "$plugins" =3D "yes" -a "$tcg" =3D "disabled";= then error_exit "Can't enable plugins on non-TCG builds" fi =20 +if ! test -f "$source_path/subprojects/keycodemapdb/README" \ + && test -f "$download" =3D disabled +then + echo + echo "ERROR: missing subprojects" + echo + if test -e "$source_path/.git"; then + echo "--disable-download specified but subprojects were not" + echo 'checked out. Please invoke "meson subprojects download"' + echo "before configuring QEMU, or remove --disable-download" + echo "from the command line." + else + echo "This is not a GIT checkout but subproject content appears to" + echo "be missing. Do not use 'git archive' or GitHub download link= s" + echo "to acquire QEMU source archives. Non-GIT builds are only" + echo "supported with source archives linked from:" + echo + echo " https://www.qemu.org/download/#source" + echo + echo "Developers working with GIT can use scripts/archive-source.s= h" + echo "if they need to create valid source archives." + fi + echo + exit 1 +fi + case $git_submodules_action in update|validate) if test ! -e "$source_path/.git" || ! has git; then @@ -795,7 +805,7 @@ case $git_submodules_action in fi ;; ignore) - if ! test -f "$source_path/subprojects/keycodemapdb/README" + if ! test -f "$source_path/tests/fp/berkeley-testfloat-3/README.md" then echo echo "ERROR: missing GIT submodules" @@ -1164,16 +1174,6 @@ EOF fi fi =20 -########################################## -# fdt probe - -case "$fdt" in - auto | enabled | internal) - # Simpler to always update submodule, even if not needed. - git_submodules=3D"${git_submodules} subprojects/dtc" - ;; -esac - ######################################## # check if ccache is interfering with # semantic analysis of macros @@ -1609,17 +1609,6 @@ write_target_makefile() { fi } =20 -########################################## -# check for vfio_user_server - -case "$vfio_user_server" in - enabled ) - if test "$git_submodules_action" !=3D "ignore"; then - git_submodules=3D"${git_submodules} subprojects/libvfio-user" - fi - ;; -esac - ####################################### # cross-compiled firmware targets =20 @@ -1951,12 +1940,10 @@ if test "$skip_meson" =3D no; then # QEMU options test "$cfi" !=3D false && meson_option_add "-Dcfi=3D$cfi" test "$docs" !=3D auto && meson_option_add "-Ddocs=3D$docs" - test "$fdt" !=3D auto && meson_option_add "-Dfdt=3D$fdt" test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engin= e=3D$LIB_FUZZING_ENGINE" test "$qemu_suffix" !=3D qemu && meson_option_add "-Dqemu_suffix=3D$qemu= _suffix" test "$smbd" !=3D '' && meson_option_add "-Dsmbd=3D$smbd" test "$tcg" !=3D enabled && meson_option_add "-Dtcg=3D$tcg" - test "$vfio_user_server" !=3D auto && meson_option_add "-Dvfio_user_serv= er=3D$vfio_user_server" run_meson() { NINJA=3D$ninja $meson setup --prefix "$prefix" "$@" $cross_arg "$PWD" = "$source_path" } diff --git a/meson.build b/meson.build index eb09af6ec82..badeeffd529 100644 --- a/meson.build +++ b/meson.build @@ -3046,14 +3046,7 @@ endif =20 libvfio_user_dep =3D not_found if have_system and vfio_user_server_allowed - have_internal =3D fs.exists(meson.current_source_dir() / 'subprojects/li= bvfio-user/meson.build') - - if not have_internal - error('libvfio-user source not found - please pull git submodule') - endif - - libvfio_user_proj =3D subproject('libvfio-user') - + libvfio_user_proj =3D subproject('libvfio-user', required: true) libvfio_user_dep =3D libvfio_user_proj.get_variable('libvfio_user_dep') endif =20 @@ -3081,12 +3074,6 @@ if fdt_required.length() > 0 or fdt_opt =3D=3D 'enab= led' endif if not fdt.found() assert(fdt_opt =3D=3D 'internal') - have_internal =3D fs.exists(meson.current_source_dir() / 'subprojects/= dtc/meson.build') - - if not have_internal - error('libfdt source not found - please pull git submodule') - endif - libfdt_proj =3D subproject('dtc', required: true, default_options: ['tools=3Dfalse', 'yaml=3Dd= isabled', 'python=3Ddisabled', 'defau= lt_library=3Dstatic']) diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index dba5ae05b67..b99cb66e412 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -26,8 +26,8 @@ sub_file=3D"${sub_tdir}/submodule.tar" # independent of what the developer currently has initialized # in their checkout, because the build environment is completely # different to the host OS. -submodules=3D"subprojects/dtc subprojects/keycodemapdb" -submodules=3D"$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-= testfloat-3" +subprojects=3D"dtc keycodemapdb libvfio-user" +submodules=3D"tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3" sub_deinit=3D"" =20 function cleanup() { @@ -70,4 +70,11 @@ for sm in $submodules; do tar --concatenate --file "$tar_file" "$sub_file" test $? -ne 0 && error "failed append submodule $sm to $tar_file" done + +for sp in $subprojects; do + meson subprojects download $sp + test $? -ne 0 && error "failed to download subproject $sp" + tar --append --file "$tar_file" --exclude=3D.git subprojects/$sp + test $? -ne 0 && error "failed to append subproject $sp to $tar_file" +done exit 0 diff --git a/scripts/make-release b/scripts/make-release index 44a9d86a04a..0604e61b814 100755 --- a/scripts/make-release +++ b/scripts/make-release @@ -16,6 +16,9 @@ if [ $# -ne 2 ]; then exit 0 fi =20 +# Only include wraps that are invoked with subproject() +SUBPROJECTS=3D"dtc libvfio-user keycodemapdb" + src=3D"$1" version=3D"$2" destination=3Dqemu-${version} @@ -26,6 +29,8 @@ git clone --single-branch -b "v${version}" -c advice.deta= chedHead=3Dfalse \ pushd ${destination} =20 git submodule update --init --single-branch +meson subprojects download $SUBPROJECTS + (cd roms/seabios && git describe --tags --long --dirty > .version) (cd roms/skiboot && ./make_version.sh > .version) # Fetch edk2 submodule's submodules, since it won't have access to them via diff --git a/subprojects/.gitignore b/subprojects/.gitignore index 7560ebb0b1a..935e9a72a8f 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -1,3 +1,6 @@ /packagecache =20 +/dtc +/keycodemapdb +/libvfio-user /slirp diff --git a/subprojects/dtc b/subprojects/dtc deleted file mode 160000 index b6910bec116..00000000000 --- a/subprojects/dtc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b6910bec11614980a21e46fbccc35934b671bd81 diff --git a/subprojects/dtc.wrap b/subprojects/dtc.wrap new file mode 100644 index 00000000000..d1bc9174e91 --- /dev/null +++ b/subprojects/dtc.wrap @@ -0,0 +1,4 @@ +[wrap-git] +url =3D https://gitlab.com/qemu-project/dtc.git +revision =3D b6910bec11614980a21e46fbccc35934b671bd81 +depth =3D 1 diff --git a/subprojects/keycodemapdb b/subprojects/keycodemapdb deleted file mode 160000 index f5772a62ec5..00000000000 --- a/subprojects/keycodemapdb +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f5772a62ec52591ff6870b7e8ef32482371f22c6 diff --git a/subprojects/keycodemapdb.wrap b/subprojects/keycodemapdb.wrap new file mode 100644 index 00000000000..dda7b0e5716 --- /dev/null +++ b/subprojects/keycodemapdb.wrap @@ -0,0 +1,4 @@ +[wrap-git] +url =3D https://gitlab.com/qemu-project/keycodemapdb.git +revision =3D f5772a62ec52591ff6870b7e8ef32482371f22c6 +depth =3D 1 diff --git a/subprojects/libvfio-user b/subprojects/libvfio-user deleted file mode 160000 index 0b28d205572..00000000000 --- a/subprojects/libvfio-user +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0b28d205572c80b568a1003db2c8f37ca333e4d7 diff --git a/subprojects/libvfio-user.wrap b/subprojects/libvfio-user.wrap new file mode 100644 index 00000000000..416955ca451 --- /dev/null +++ b/subprojects/libvfio-user.wrap @@ -0,0 +1,4 @@ +[wrap-git] +url =3D https://gitlab.com/qemu-project/libvfio-user.git +revision =3D 0b28d205572c80b568a1003db2c8f37ca333e4d7 +depth =3D 1 --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958830; cv=none; d=zohomail.com; s=zohoarc; b=Dee+lSCuGnsp/zRr4r3UoLnEsVL+Q+K/lO5ycG87J4PxNImBb1FNG0zzuEpynW/ZcQbBdcl8fJoqP96F18pcMGg3a0O41zT0pBeXSV2FS9wdKSwcoPdWxMTV6JkE9loCE/PKPMXHzguar/2lsf1I2lAGhy4e1qpRk0XtoDpm5Gw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958830; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qDTaIO815jYKMtq0lxxzOJMLo2VA9Yqak5Vr38UtEkM=; b=jrfHyJQ7E+XbLssFwZ60nKtcjSfz9An8T5Oxmg6wNt2iv+rJDO6HU/gcANmL3lJkCsy5N+4lTg87f+PoTz0uqI5NKiu3K1fWZcNYEYcGPu7ihsjJ3GDqNsfc+3agF/WZZnC8yTdio5aMYZcoTBJ0O+79sCH4bvyZLY+whmX5bAQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958830090238.94864743642768; Mon, 5 Jun 2023 02:53:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tP-0002pn-Au; Mon, 05 Jun 2023 05:52:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tE-0002lc-DS for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tC-0006lP-AU for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:39 -0400 Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-296-gxcrZawmNUiVnEo6e7cjqg-1; Mon, 05 Jun 2023 05:52:36 -0400 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-9745c72d99cso291743066b.1 for ; Mon, 05 Jun 2023 02:52:36 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id h26-20020aa7de1a000000b005148f0e8568sm3681775edv.39.2023.06.05.02.52.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qDTaIO815jYKMtq0lxxzOJMLo2VA9Yqak5Vr38UtEkM=; b=Rw7Wu6JaMtpnqor0U7pGh3v4CBW69dANqNz/fjOBIqlkUfn/uQgESDKfiEKIBppkECG1db JnXtpmksB6djckCus3mQq2JX/q89JtrAyjjMkNV2eM7u5WpNaNhCJbUH+dNuF3vFaNvLSJ DFfTPowFUSwlevswkI0pXsmFoZO85Xw= X-MC-Unique: gxcrZawmNUiVnEo6e7cjqg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958755; x=1688550755; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qDTaIO815jYKMtq0lxxzOJMLo2VA9Yqak5Vr38UtEkM=; b=N+t94tY0mCBdInxQ2QnpVwUX4Nd7S5Yt9ezZmClbhmDFGKRW1+1UjLbcOL9rTKbk9d P7A/cih21YbjwGOftCEub8Y7nRgFYVocePxfa06MY77e8hpY4KVyeuynHgsBH343SxWf eV2CYX3RbT9yv0/eygmmAuWPokrLoQgjcs0oJqkRkUIvy7WJXY5H1FcBCdPNsiV1tjh4 3GXN+Xy0VCo3mggPAs8lM+ATijplshH9/fqBM3lIK/ezXzjrmCjq90t/Ln5HvIpPTTm7 YowF9uXaTLd+sDXYJP4EvU5qt8/PRIg8ixB6e8wEkhW9Nqr9C8xSQ2K+L7hHgc6hMTHF WDFQ== X-Gm-Message-State: AC+VfDx7t6VuMC1XP2v7j1UY9kFCFZGhnRR6p6elL2tzKuPGm7D0zA1D vLppUDd0g21EQ8AymOevqz7gaPUseW1idnbuaIl3hds/tCYzZjePhmLGRWPgUCo99zmD23pKa0Y GwWIdWV17oowQh1q64aqTGUoWGFhaoJX83q+05zpQnBSbUDZXVBNk6M+UdTgf6m+99N5EBsc0ns A= X-Received: by 2002:a05:6402:686:b0:50b:d18c:620a with SMTP id f6-20020a056402068600b0050bd18c620amr7045233edy.25.1685958755272; Mon, 05 Jun 2023 02:52:35 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7hGIRZf+C0SH393QAM1osC86ya4GDZBy/wZzyYdXinY2Ih2Wj95kwyhQiffEka/Ydg4hbvBw== X-Received: by 2002:a05:6402:686:b0:50b:d18c:620a with SMTP id f6-20020a056402068600b0050bd18c620amr7045221edy.25.1685958755014; Mon, 05 Jun 2023 02:52:35 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 06/10] configure: move SLOF submodule handling to pc-bios/s390-ccw Date: Mon, 5 Jun 2023 11:52:19 +0200 Message-Id: <20230605095223.107653-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958831866100002 Content-Type: text/plain; charset="utf-8" Move the handling of the roms/SLOF submodule out of the main Makefile, since we are going to remove submodules from the build process of QEMU. Signed-off-by: Paolo Bonzini Acked-by: Thomas Huth Reviewed-by: Daniel P. Berrang=C3=A9 --- .gitlab-ci.d/buildtest-template.yml | 2 +- configure | 7 +++---- pc-bios/s390-ccw/Makefile | 11 +++++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.d/buildtest-template.yml b/.gitlab-ci.d/buildtest-t= emplate.yml index 3c997d7265b..d01d504ec5f 100644 --- a/.gitlab-ci.d/buildtest-template.yml +++ b/.gitlab-ci.d/buildtest-template.yml @@ -43,7 +43,7 @@ image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest script: - scripts/git-submodule.sh update - $(sed -n '/GIT_SUBMODULES=3D/ s/.*=3D// p' build/config-host.mak) + roms/SLOF $(sed -n '/GIT_SUBMODULES=3D/ s/.*=3D// p' build/config-= host.mak) - meson subprojects download $(cd build/subprojects && echo *) - cd build - find . -type f -exec touch {} + diff --git a/configure b/configure index 45d43ddbd97..de3904fb59d 100755 --- a/configure +++ b/configure @@ -1662,7 +1662,8 @@ fi =20 # Only build s390-ccw bios if the compiler has -march=3Dz900 or -march=3Dz= 10 # (which is the lowest architecture level that Clang supports) -if have_target s390x-softmmu && probe_target_compiler s390x-softmmu; then +if have_target s390x-softmmu && probe_target_compiler s390x-softmmu && \ + GIT=3Dgit "$source_path/scripts/git-submodule.sh" "$git_submodules_act= ion" roms/SLOF >> config.log 2>&1; then write_c_skeleton do_compiler "$target_cc" $target_cc_cflags -march=3Dz900 -o $TMPO -c $TM= PC has_z900=3D$? @@ -1675,10 +1676,8 @@ if have_target s390x-softmmu && probe_target_compile= r s390x-softmmu; then config_mak=3Dpc-bios/s390-ccw/config-host.mak echo "# Automatically generated by configure - do not modify" > $confi= g_mak echo "SRC_PATH=3D$source_path/pc-bios/s390-ccw" >> $config_mak + echo "GIT_SUBMODULES_ACTION=3D$git_submodules_action" >> $config_mak write_target_makefile >> $config_mak - # SLOF is required for building the s390-ccw firmware on s390x, - # since it is using the libnet code from SLOF for network booting. - git_submodules=3D"${git_submodules} roms/SLOF" fi fi =20 diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile index 10e8f5cb633..9c5276f8ade 100644 --- a/pc-bios/s390-ccw/Makefile +++ b/pc-bios/s390-ccw/Makefile @@ -6,6 +6,8 @@ include config-host.mak CFLAGS =3D -O2 -g MAKEFLAGS +=3D -rR =20 +GIT_SUBMODULES =3D roms/SLOF + NULL :=3D SPACE :=3D $(NULL) # TARGET_PREFIX :=3D $(patsubst %/,%:$(SPACE),$(TARGET_DIR)) @@ -80,3 +82,12 @@ clean: =20 distclean: rm -f config-cc.mak + +.PHONY: git-submodule-update +$(SRC_PATH)/../../.git-submodule-status: git-submodule-update config-host.= mak +Makefile: $(SRC_PATH)/../../.git-submodule-status + +git-submodule-update: +ifneq ($(GIT_SUBMODULES_ACTION),ignore) + $(quiet-@)GIT=3Dgit "$(SRC_PATH)/../../scripts/git-submodule.sh" $(GIT_SU= BMODULES_ACTION) $(GIT_SUBMODULES) +endif --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958877; cv=none; d=zohomail.com; s=zohoarc; b=OY2C04Cr+j8HD2lCkGcjg/DwQQI+BpNjBe/iWTwcP/lIi0QkIUpTJHMKIuo3jaiA+E9ldgEadQerXynRVOaUouWI5BnwnEvZ5p3qikLAQpcVCzHw+uonULP4xdmUvHojvGiRCmFrT/Bk0k5v2DYxZ98i51LTCCPhjZnapKIwlz0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958877; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BNrpPzqOcJXXm/37Nr/jLdT14Il3H1CTilJU+kXrBCQ=; b=NhI4GZI+Q/dJVcVRGGUcZiNGtLzr1wcL1yqyKmT9Aovms/47+gfmYgi1pemZhNIExDDnjNUByr5FZWdWLdQjUSGl0sUwB3PN9VCReCmCl3PGiN95Dx5dOtchmFY/r63ElPh0oIZdRn6U2lUu74yWSGbqnfamqMUdjOv+7VJIc/0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958877500905.7397203063406; Mon, 5 Jun 2023 02:54:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tH-0002nf-HY; Mon, 05 Jun 2023 05:52:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tF-0002mn-OE for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:41 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tE-0006lg-3J for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:41 -0400 Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-318-2UYCg79-Mo2y-95IIAxcDQ-1; Mon, 05 Jun 2023 05:52:38 -0400 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-94a34e35f57so316050066b.3 for ; Mon, 05 Jun 2023 02:52:38 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id k15-20020a170906970f00b00965b5540ad7sm4171046ejx.17.2023.06.05.02.52.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BNrpPzqOcJXXm/37Nr/jLdT14Il3H1CTilJU+kXrBCQ=; b=aGLuhlquUrPsVkphn7k1fOpkPuEv3C5K3efRJjDVEBtP3mMxNegxlE5yTqnk9T3Jy67W5W 7FBI64rK7065biqxq4OCHWkuved6D3JLAT0l9K4IUKrcofiZOrL6R8RUVaFQ/pUyP0fZ4g GmXRe9rkFyNA8CrxOlhEMSCiU8Y+eek= X-MC-Unique: 2UYCg79-Mo2y-95IIAxcDQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958756; x=1688550756; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BNrpPzqOcJXXm/37Nr/jLdT14Il3H1CTilJU+kXrBCQ=; b=JReysX5fKslrIX5N6zllbQRjB0H20uLh49gDfgq8mbkYK+GUNezEC8X9zYZ43U0UC6 CC1L5JO6PzTbZXCjRy8iPMOXGgIM/KvdREl8h7z/2hk9IwSkWF/49Hkfh78y0eioUaDb Wq1fPMdxr7gSs2siSP4Bg++RvZiq01RLb9ezdh/Rpvf6YDB/uEOH05NCpHIF4nfsqtaj psDripy7plL9i+woVbw6TgdRrRz1z/QDYLpF5fKfDxp/syR2vLikhT/oMpgafPyJAydY m+AEbGc6bRGWIjmEw92kBxooDJb8wTBOSayMvlsIesdMJ7HSkF/k0ACHHIdBossmtRLu ZWqg== X-Gm-Message-State: AC+VfDxcc4Bh1pkPXNeN8Gt4W0yDKxObHtsgzsuEtgbNYV/x5W2h55Hb /027zNZR7VMz2IEw8BiL+ofSEPbm46R6MCyKS3t0ob0zPywP5pQEgfvuWio8SEDnOL/lNpma2FG M4iI3WQ0eVzI5e/RpLHVAssCGDHTtDJzCekDnD+SoWmRGDbZsv2+eP8lSheVSTK73I8vsBYw04C Y= X-Received: by 2002:a17:907:a41f:b0:973:daaa:f3e1 with SMTP id sg31-20020a170907a41f00b00973daaaf3e1mr6346361ejc.39.1685958756688; Mon, 05 Jun 2023 02:52:36 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7m1BzqnWgd54Au8gmT4udBILsXcG5AEOBY3A9jrwh/JNuU9zpuIs3+tDBqkczbcMLzW6Frrg== X-Received: by 2002:a17:907:a41f:b0:973:daaa:f3e1 with SMTP id sg31-20020a170907a41f00b00973daaaf3e1mr6346348ejc.39.1685958756471; Mon, 05 Jun 2023 02:52:36 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 07/10] pc-bios/s390-ccw: always build network bootloader Date: Mon, 5 Jun 2023 11:52:20 +0200 Message-Id: <20230605095223.107653-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958878077100001 Content-Type: text/plain; charset="utf-8" In the beginning, the network bootloader was considered experimental and thus optional, but it is well established nowadays and configure always checks for roms/SLOF before compiling pc-bios/s390-ccw. Therefore, it makes sense to always build it together with the other part of the s390-ccw bios. Signed-off-by: Paolo Bonzini Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Thomas Huth --- pc-bios/s390-ccw/Makefile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile index 9c5276f8ade..2e8cc015aa0 100644 --- a/pc-bios/s390-ccw/Makefile +++ b/pc-bios/s390-ccw/Makefile @@ -67,12 +67,7 @@ s390-ccw.img: s390-ccw.elf =20 $(OBJECTS): Makefile =20 -ifneq ($(wildcard $(SRC_PATH)/../../roms/SLOF/lib/libnet),) include $(SRC_PATH)/netboot.mak -else -s390-netboot.img: - @echo "s390-netboot.img not built since roms/SLOF/ is not available." -endif =20 ALL_OBJS =3D $(sort $(OBJECTS) $(NETOBJS) $(LIBCOBJS) $(LIBNETOBJS)) -include $(ALL_OBJS:%.o=3D%.d) --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@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+importer=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 1685958837775323.81485830277256; Mon, 5 Jun 2023 02:53:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tc-0002wl-As; Mon, 05 Jun 2023 05:53:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tN-0002q9-8c for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tI-0006mY-5b for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:49 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-235-FsYY_GBAN6SCg5x05qTAKw-1; Mon, 05 Jun 2023 05:52:41 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-97594143f1fso243900866b.3 for ; Mon, 05 Jun 2023 02:52:41 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id f18-20020a170906825200b00965ac1510f8sm4071752ejx.185.2023.06.05.02.52.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=K1m2mBcpL+kd6DP0717mVp5rrmDlKmBX+8KuFDOmfNw=; b=YymMO0U/oXaSTdMIGoUU66jlRJEcaIbpjPO5UIDNWvp8WrmXmSJ+aPLTKIQHOdb594KIlV hGdUgOuvxwNcMwTNeLXnvZB3iPbTt9bbqgYzg6Ljohp5n/M0Aii1u0nFu+hano+bXMsMvm U4u8CoF0rNCElXFHsdukPVPsfuofbRg= X-MC-Unique: FsYY_GBAN6SCg5x05qTAKw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958759; x=1688550759; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K1m2mBcpL+kd6DP0717mVp5rrmDlKmBX+8KuFDOmfNw=; b=Pym+6pcblkledymCz/fT52kWuigL8FUwRwEwb+us7DyE4MxKdjjdw2OtJfrSzcIiBo 1qALY/9qZSRqBAyWWu6no1eZ+N2xYuuNjqgrpfyeZTOH5sX0yU9ShlGdezWG7B52tydS KfnpcEhPfvlcrg+96HUI1MFYM3h0dVat80NeueVjqREvfkoaZdOGOoKlaQK5qXiDMlpC q3Fpt4c/XA73tKs0cuicTTx8oMHrlbNfTunj+l5y0+6QQuNErz5vsq29auBB9cgipSPQ 93UPvlCGEkLAYsiHqqhOhsW9Fiy1mOTrKc+SadA6LPibhAedr1Gp1yG39gSw8SAFjz7M 0AmQ== X-Gm-Message-State: AC+VfDxxt3ghF7cGYfvsBwiZnUdprtOV4XxIt1+pX94RHsc+TPUIPDlR jx/yCnBFcxOPw/lpygQdwNWVDDXbKXTVvrIgzw/7tXZTIkqEtB4mdgHs61Agy9kM9Wx4Sz0CL27 3lAWm54S1B4cpHjauhXff4lIy52Aj1TTqTZh4aOSWRaKHg9ceYanBuzUYpf/gWQGI4QhURjzdh4 8= X-Received: by 2002:a17:907:6d89:b0:974:1e0e:91ee with SMTP id sb9-20020a1709076d8900b009741e0e91eemr6658797ejc.13.1685958758937; Mon, 05 Jun 2023 02:52:38 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4U9w7C6cPCqAFQlip99mIPslskhbveeAM0XGxAx5rNUqGtiOQDqB6RaZvMZFatgI3G3DTvKg== X-Received: by 2002:a17:907:6d89:b0:974:1e0e:91ee with SMTP id sb9-20020a1709076d8900b009741e0e91eemr6658763ejc.13.1685958758125; Mon, 05 Jun 2023 02:52:38 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 08/10] meson: subprojects: replace berkeley-{soft, test}float-3 with wraps Date: Mon, 5 Jun 2023 11:52:21 +0200 Message-Id: <20230605095223.107653-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1685958839696100007 Content-Type: text/plain; charset="utf-8" Unlike other subprojects, these require an overlay directory to include meson rules to build the libraries. The rules are basically lifted from tests/fp/meson.build, with a few changes to create platform.h and publish a dependency. The build defines are passed through a subproject option, and posted back to users of the library via the dependency's compile_args. The only remaining user of GIT_SUBMODULES and GIT_SUBMODULES_ACTION is roms/SLOF, which is used to build pc-bios/s390-ccw. All other roms submodules are only present to satisfy the license on pre-built firmware blobs. Best reviewed with --color-moved. Signed-off-by: Paolo Bonzini Reviewed-by: Daniel P. Berrang=C3=A9 --- .gitmodules | 6 - configure | 27 - scripts/archive-source.sh | 22 +- scripts/make-release | 2 +- subprojects/.gitignore | 2 + subprojects/berkeley-softfloat-3.wrap | 5 + subprojects/berkeley-testfloat-3.wrap | 5 + .../berkeley-softfloat-3/meson.build | 339 +++++++++++ .../berkeley-softfloat-3/meson_options.txt | 1 + .../berkeley-testfloat-3/meson.build | 220 +++++++ .../berkeley-testfloat-3/meson_options.txt | 1 + tests/fp/meson.build | 541 +----------------- 12 files changed, 590 insertions(+), 581 deletions(-) create mode 100644 subprojects/berkeley-softfloat-3.wrap create mode 100644 subprojects/berkeley-testfloat-3.wrap create mode 100644 subprojects/packagefiles/berkeley-softfloat-3/meson.bui= ld create mode 100644 subprojects/packagefiles/berkeley-softfloat-3/meson_opt= ions.txt create mode 100644 subprojects/packagefiles/berkeley-testfloat-3/meson.bui= ld create mode 100644 subprojects/packagefiles/berkeley-testfloat-3/meson_opt= ions.txt diff --git a/.gitmodules b/.gitmodules index a934c85e4e4..73cae4cd4da 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,12 +28,6 @@ [submodule "roms/u-boot-sam460ex"] path =3D roms/u-boot-sam460ex url =3D https://gitlab.com/qemu-project/u-boot-sam460ex.git -[submodule "tests/fp/berkeley-testfloat-3"] - path =3D tests/fp/berkeley-testfloat-3 - url =3D https://gitlab.com/qemu-project/berkeley-testfloat-3.git -[submodule "tests/fp/berkeley-softfloat-3"] - path =3D tests/fp/berkeley-softfloat-3 - url =3D https://gitlab.com/qemu-project/berkeley-softfloat-3.git [submodule "roms/edk2"] path =3D roms/edk2 url =3D https://gitlab.com/qemu-project/edk2.git diff --git a/configure b/configure index de3904fb59d..4dad32938df 100755 --- a/configure +++ b/configure @@ -805,28 +805,6 @@ case $git_submodules_action in fi ;; ignore) - if ! test -f "$source_path/tests/fp/berkeley-testfloat-3/README.md" - then - echo - echo "ERROR: missing GIT submodules" - echo - if test -e "$source_path/.git"; then - echo "--with-git-submodules=3Dignore specified but submodu= les were not" - echo "checked out. Please initialize and update submodule= s." - else - echo "This is not a GIT checkout but module content appear= s to" - echo "be missing. Do not use 'git archive' or GitHub downl= oad links" - echo "to acquire QEMU source archives. Non-GIT builds are = only" - echo "supported with source archives linked from:" - echo - echo " https://www.qemu.org/download/#source" - echo - echo "Developers working with GIT can use scripts/archive-= source.sh" - echo "if they need to create valid source archives." - fi - echo - exit 1 - fi ;; *) echo "ERROR: invalid --with-git-submodules=3D value '$git_submodul= es_action'" @@ -1142,11 +1120,6 @@ if test "$tcg" =3D "auto"; then fi fi =20 -if test "$tcg" =3D "enabled"; then - git_submodules=3D"$git_submodules tests/fp/berkeley-testfloat-3" - git_submodules=3D"$git_submodules tests/fp/berkeley-softfloat-3" -fi - ########################################## # big/little endian test cat > $TMPC << EOF diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index b99cb66e412..48996304910 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -26,8 +26,7 @@ sub_file=3D"${sub_tdir}/submodule.tar" # independent of what the developer currently has initialized # in their checkout, because the build environment is completely # different to the host OS. -subprojects=3D"dtc keycodemapdb libvfio-user" -submodules=3D"tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3" +subprojects=3D"dtc keycodemapdb libvfio-user berkeley-softfloat-3 berkeley= -testfloat-3" sub_deinit=3D"" =20 function cleanup() { @@ -51,25 +50,6 @@ function tree_ish() { =20 git archive --format tar "$(tree_ish)" > "$tar_file" test $? -ne 0 && error "failed to archive qemu" -for sm in $submodules; do - status=3D"$(git submodule status "$sm")" - smhash=3D"${status#[ +-]}" - smhash=3D"${smhash%% *}" - case "$status" in - -*) - sub_deinit=3D"$sub_deinit $sm" - git submodule update --init "$sm" - test $? -ne 0 && error "failed to update submodule $sm" - ;; - +*) - echo "WARNING: submodule $sm is out of sync" - ;; - esac - (cd $sm; git archive --format tar --prefix "$sm/" $(tree_ish)) > "$sub= _file" - test $? -ne 0 && error "failed to archive submodule $sm ($smhash)" - tar --concatenate --file "$tar_file" "$sub_file" - test $? -ne 0 && error "failed append submodule $sm to $tar_file" -done =20 for sp in $subprojects; do meson subprojects download $sp diff --git a/scripts/make-release b/scripts/make-release index 0604e61b814..c5db87b3f91 100755 --- a/scripts/make-release +++ b/scripts/make-release @@ -17,7 +17,7 @@ if [ $# -ne 2 ]; then fi =20 # Only include wraps that are invoked with subproject() -SUBPROJECTS=3D"dtc libvfio-user keycodemapdb" +SUBPROJECTS=3D"dtc libvfio-user keycodemapdb berkeley-softfloat-3 berkeley= -testfloat-3" =20 src=3D"$1" version=3D"$2" diff --git a/subprojects/.gitignore b/subprojects/.gitignore index 935e9a72a8f..adca0266be6 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -1,5 +1,7 @@ /packagecache =20 +/berkeley-softfloat-3 +/berkeley-testfloat-3 /dtc /keycodemapdb /libvfio-user diff --git a/subprojects/berkeley-softfloat-3.wrap b/subprojects/berkeley-s= oftfloat-3.wrap new file mode 100644 index 00000000000..a8fd87740b1 --- /dev/null +++ b/subprojects/berkeley-softfloat-3.wrap @@ -0,0 +1,5 @@ +[wrap-git] +url =3D https://gitlab.com/qemu-project/berkeley-softfloat-3 +revision =3D b64af41c3276f97f0e181920400ee056b9c88037 +patch_directory =3D berkeley-softfloat-3 +depth =3D 1 diff --git a/subprojects/berkeley-testfloat-3.wrap b/subprojects/berkeley-t= estfloat-3.wrap new file mode 100644 index 00000000000..6ad80a37b2a --- /dev/null +++ b/subprojects/berkeley-testfloat-3.wrap @@ -0,0 +1,5 @@ +[wrap-git] +url =3D https://gitlab.com/qemu-project/berkeley-testfloat-3 +revision =3D 40619cbb3bf32872df8c53cc457039229428a263 +patch_directory =3D berkeley-testfloat-3 +depth =3D 1 diff --git a/subprojects/packagefiles/berkeley-softfloat-3/meson.build b/su= bprojects/packagefiles/berkeley-softfloat-3/meson.build new file mode 100644 index 00000000000..4ce964b8389 --- /dev/null +++ b/subprojects/packagefiles/berkeley-softfloat-3/meson.build @@ -0,0 +1,339 @@ +project('berkeley-softfloat-3', 'c', + default_options: ['warning_level=3D1', 'c_std=3Dgnu99']) + +fpcflags =3D get_option('defines') + +platform_data =3D configuration_data() +platform_data.set('INLINE', 'static inline') +platform_data.set('LITTLEENDIAN', host_machine.endian() =3D=3D 'little') +configure_file(output: 'platform.h', configuration: platform_data) + +sfdir =3D 'source' +sfspedir =3D sfdir / '8086-SSE' +sfinc =3D include_directories('.', sfdir / 'include', sfspedir) + +add_project_arguments([ + '-Wno-implicit-fallthrough', + '-Wno-missing-prototypes', + '-Wno-redundant-decls', + '-Wno-return-type', + '-Wno-error', +], native: false, language: 'c') + +libsoftfloat =3D static_library( + 'softfloat', + files( + # primitives + sfdir / 's_eq128.c', + sfdir / 's_le128.c', + sfdir / 's_lt128.c', + sfdir / 's_shortShiftLeft128.c', + sfdir / 's_shortShiftRight128.c', + sfdir / 's_shortShiftRightJam64.c', + sfdir / 's_shortShiftRightJam64Extra.c', + sfdir / 's_shortShiftRightJam128.c', + sfdir / 's_shortShiftRightJam128Extra.c', + sfdir / 's_shiftRightJam32.c', + sfdir / 's_shiftRightJam64.c', + sfdir / 's_shiftRightJam64Extra.c', + sfdir / 's_shiftRightJam128.c', + sfdir / 's_shiftRightJam128Extra.c', + sfdir / 's_shiftRightJam256M.c', + sfdir / 's_countLeadingZeros8.c', + sfdir / 's_countLeadingZeros16.c', + sfdir / 's_countLeadingZeros32.c', + sfdir / 's_countLeadingZeros64.c', + sfdir / 's_add128.c', + sfdir / 's_add256M.c', + sfdir / 's_sub128.c', + sfdir / 's_sub256M.c', + sfdir / 's_mul64ByShifted32To128.c', + sfdir / 's_mul64To128.c', + sfdir / 's_mul128By32.c', + sfdir / 's_mul128To256M.c', + sfdir / 's_approxRecip_1Ks.c', + sfdir / 's_approxRecip32_1.c', + sfdir / 's_approxRecipSqrt_1Ks.c', + sfdir / 's_approxRecipSqrt32_1.c', + # others + sfdir / 's_roundToUI32.c', + sfdir / 's_roundToUI64.c', + sfdir / 's_roundToI32.c', + sfdir / 's_roundToI64.c', + sfdir / 's_normSubnormalF16Sig.c', + sfdir / 's_roundPackToF16.c', + sfdir / 's_normRoundPackToF16.c', + sfdir / 's_addMagsF16.c', + sfdir / 's_subMagsF16.c', + sfdir / 's_mulAddF16.c', + sfdir / 's_normSubnormalF32Sig.c', + sfdir / 's_roundPackToF32.c', + sfdir / 's_normRoundPackToF32.c', + sfdir / 's_addMagsF32.c', + sfdir / 's_subMagsF32.c', + sfdir / 's_mulAddF32.c', + sfdir / 's_normSubnormalF64Sig.c', + sfdir / 's_roundPackToF64.c', + sfdir / 's_normRoundPackToF64.c', + sfdir / 's_addMagsF64.c', + sfdir / 's_subMagsF64.c', + sfdir / 's_mulAddF64.c', + sfdir / 's_normSubnormalExtF80Sig.c', + sfdir / 's_roundPackToExtF80.c', + sfdir / 's_normRoundPackToExtF80.c', + sfdir / 's_addMagsExtF80.c', + sfdir / 's_subMagsExtF80.c', + sfdir / 's_normSubnormalF128Sig.c', + sfdir / 's_roundPackToF128.c', + sfdir / 's_normRoundPackToF128.c', + sfdir / 's_addMagsF128.c', + sfdir / 's_subMagsF128.c', + sfdir / 's_mulAddF128.c', + sfdir / 'softfloat_state.c', + sfdir / 'ui32_to_f16.c', + sfdir / 'ui32_to_f32.c', + sfdir / 'ui32_to_f64.c', + sfdir / 'ui32_to_extF80.c', + sfdir / 'ui32_to_extF80M.c', + sfdir / 'ui32_to_f128.c', + sfdir / 'ui32_to_f128M.c', + sfdir / 'ui64_to_f16.c', + sfdir / 'ui64_to_f32.c', + sfdir / 'ui64_to_f64.c', + sfdir / 'ui64_to_extF80.c', + sfdir / 'ui64_to_extF80M.c', + sfdir / 'ui64_to_f128.c', + sfdir / 'ui64_to_f128M.c', + sfdir / 'i32_to_f16.c', + sfdir / 'i32_to_f32.c', + sfdir / 'i32_to_f64.c', + sfdir / 'i32_to_extF80.c', + sfdir / 'i32_to_extF80M.c', + sfdir / 'i32_to_f128.c', + sfdir / 'i32_to_f128M.c', + sfdir / 'i64_to_f16.c', + sfdir / 'i64_to_f32.c', + sfdir / 'i64_to_f64.c', + sfdir / 'i64_to_extF80.c', + sfdir / 'i64_to_extF80M.c', + sfdir / 'i64_to_f128.c', + sfdir / 'i64_to_f128M.c', + sfdir / 'f16_to_ui32.c', + sfdir / 'f16_to_ui64.c', + sfdir / 'f16_to_i32.c', + sfdir / 'f16_to_i64.c', + sfdir / 'f16_to_ui32_r_minMag.c', + sfdir / 'f16_to_ui64_r_minMag.c', + sfdir / 'f16_to_i32_r_minMag.c', + sfdir / 'f16_to_i64_r_minMag.c', + sfdir / 'f16_to_f32.c', + sfdir / 'f16_to_f64.c', + sfdir / 'f16_to_extF80.c', + sfdir / 'f16_to_extF80M.c', + sfdir / 'f16_to_f128.c', + sfdir / 'f16_to_f128M.c', + sfdir / 'f16_roundToInt.c', + sfdir / 'f16_add.c', + sfdir / 'f16_sub.c', + sfdir / 'f16_mul.c', + sfdir / 'f16_mulAdd.c', + sfdir / 'f16_div.c', + sfdir / 'f16_rem.c', + sfdir / 'f16_sqrt.c', + sfdir / 'f16_eq.c', + sfdir / 'f16_le.c', + sfdir / 'f16_lt.c', + sfdir / 'f16_eq_signaling.c', + sfdir / 'f16_le_quiet.c', + sfdir / 'f16_lt_quiet.c', + sfdir / 'f16_isSignalingNaN.c', + sfdir / 'f32_to_ui32.c', + sfdir / 'f32_to_ui64.c', + sfdir / 'f32_to_i32.c', + sfdir / 'f32_to_i64.c', + sfdir / 'f32_to_ui32_r_minMag.c', + sfdir / 'f32_to_ui64_r_minMag.c', + sfdir / 'f32_to_i32_r_minMag.c', + sfdir / 'f32_to_i64_r_minMag.c', + sfdir / 'f32_to_f16.c', + sfdir / 'f32_to_f64.c', + sfdir / 'f32_to_extF80.c', + sfdir / 'f32_to_extF80M.c', + sfdir / 'f32_to_f128.c', + sfdir / 'f32_to_f128M.c', + sfdir / 'f32_roundToInt.c', + sfdir / 'f32_add.c', + sfdir / 'f32_sub.c', + sfdir / 'f32_mul.c', + sfdir / 'f32_mulAdd.c', + sfdir / 'f32_div.c', + sfdir / 'f32_rem.c', + sfdir / 'f32_sqrt.c', + sfdir / 'f32_eq.c', + sfdir / 'f32_le.c', + sfdir / 'f32_lt.c', + sfdir / 'f32_eq_signaling.c', + sfdir / 'f32_le_quiet.c', + sfdir / 'f32_lt_quiet.c', + sfdir / 'f32_isSignalingNaN.c', + sfdir / 'f64_to_ui32.c', + sfdir / 'f64_to_ui64.c', + sfdir / 'f64_to_i32.c', + sfdir / 'f64_to_i64.c', + sfdir / 'f64_to_ui32_r_minMag.c', + sfdir / 'f64_to_ui64_r_minMag.c', + sfdir / 'f64_to_i32_r_minMag.c', + sfdir / 'f64_to_i64_r_minMag.c', + sfdir / 'f64_to_f16.c', + sfdir / 'f64_to_f32.c', + sfdir / 'f64_to_extF80.c', + sfdir / 'f64_to_extF80M.c', + sfdir / 'f64_to_f128.c', + sfdir / 'f64_to_f128M.c', + sfdir / 'f64_roundToInt.c', + sfdir / 'f64_add.c', + sfdir / 'f64_sub.c', + sfdir / 'f64_mul.c', + sfdir / 'f64_mulAdd.c', + sfdir / 'f64_div.c', + sfdir / 'f64_rem.c', + sfdir / 'f64_sqrt.c', + sfdir / 'f64_eq.c', + sfdir / 'f64_le.c', + sfdir / 'f64_lt.c', + sfdir / 'f64_eq_signaling.c', + sfdir / 'f64_le_quiet.c', + sfdir / 'f64_lt_quiet.c', + sfdir / 'f64_isSignalingNaN.c', + sfdir / 'extF80_to_ui32.c', + sfdir / 'extF80_to_ui64.c', + sfdir / 'extF80_to_i32.c', + sfdir / 'extF80_to_i64.c', + sfdir / 'extF80_to_ui32_r_minMag.c', + sfdir / 'extF80_to_ui64_r_minMag.c', + sfdir / 'extF80_to_i32_r_minMag.c', + sfdir / 'extF80_to_i64_r_minMag.c', + sfdir / 'extF80_to_f16.c', + sfdir / 'extF80_to_f32.c', + sfdir / 'extF80_to_f64.c', + sfdir / 'extF80_to_f128.c', + sfdir / 'extF80_roundToInt.c', + sfdir / 'extF80_add.c', + sfdir / 'extF80_sub.c', + sfdir / 'extF80_mul.c', + sfdir / 'extF80_div.c', + sfdir / 'extF80_rem.c', + sfdir / 'extF80_sqrt.c', + sfdir / 'extF80_eq.c', + sfdir / 'extF80_le.c', + sfdir / 'extF80_lt.c', + sfdir / 'extF80_eq_signaling.c', + sfdir / 'extF80_le_quiet.c', + sfdir / 'extF80_lt_quiet.c', + sfdir / 'extF80_isSignalingNaN.c', + sfdir / 'extF80M_to_ui32.c', + sfdir / 'extF80M_to_ui64.c', + sfdir / 'extF80M_to_i32.c', + sfdir / 'extF80M_to_i64.c', + sfdir / 'extF80M_to_ui32_r_minMag.c', + sfdir / 'extF80M_to_ui64_r_minMag.c', + sfdir / 'extF80M_to_i32_r_minMag.c', + sfdir / 'extF80M_to_i64_r_minMag.c', + sfdir / 'extF80M_to_f16.c', + sfdir / 'extF80M_to_f32.c', + sfdir / 'extF80M_to_f64.c', + sfdir / 'extF80M_to_f128M.c', + sfdir / 'extF80M_roundToInt.c', + sfdir / 'extF80M_add.c', + sfdir / 'extF80M_sub.c', + sfdir / 'extF80M_mul.c', + sfdir / 'extF80M_div.c', + sfdir / 'extF80M_rem.c', + sfdir / 'extF80M_sqrt.c', + sfdir / 'extF80M_eq.c', + sfdir / 'extF80M_le.c', + sfdir / 'extF80M_lt.c', + sfdir / 'extF80M_eq_signaling.c', + sfdir / 'extF80M_le_quiet.c', + sfdir / 'extF80M_lt_quiet.c', + sfdir / 'f128_to_ui32.c', + sfdir / 'f128_to_ui64.c', + sfdir / 'f128_to_i32.c', + sfdir / 'f128_to_i64.c', + sfdir / 'f128_to_ui32_r_minMag.c', + sfdir / 'f128_to_ui64_r_minMag.c', + sfdir / 'f128_to_i32_r_minMag.c', + sfdir / 'f128_to_i64_r_minMag.c', + sfdir / 'f128_to_f16.c', + sfdir / 'f128_to_f32.c', + sfdir / 'f128_to_extF80.c', + sfdir / 'f128_to_f64.c', + sfdir / 'f128_roundToInt.c', + sfdir / 'f128_add.c', + sfdir / 'f128_sub.c', + sfdir / 'f128_mul.c', + sfdir / 'f128_mulAdd.c', + sfdir / 'f128_div.c', + sfdir / 'f128_rem.c', + sfdir / 'f128_sqrt.c', + sfdir / 'f128_eq.c', + sfdir / 'f128_le.c', + sfdir / 'f128_lt.c', + sfdir / 'f128_eq_signaling.c', + sfdir / 'f128_le_quiet.c', + sfdir / 'f128_lt_quiet.c', + sfdir / 'f128_isSignalingNaN.c', + sfdir / 'f128M_to_ui32.c', + sfdir / 'f128M_to_ui64.c', + sfdir / 'f128M_to_i32.c', + sfdir / 'f128M_to_i64.c', + sfdir / 'f128M_to_ui32_r_minMag.c', + sfdir / 'f128M_to_ui64_r_minMag.c', + sfdir / 'f128M_to_i32_r_minMag.c', + sfdir / 'f128M_to_i64_r_minMag.c', + sfdir / 'f128M_to_f16.c', + sfdir / 'f128M_to_f32.c', + sfdir / 'f128M_to_extF80M.c', + sfdir / 'f128M_to_f64.c', + sfdir / 'f128M_roundToInt.c', + sfdir / 'f128M_add.c', + sfdir / 'f128M_sub.c', + sfdir / 'f128M_mul.c', + sfdir / 'f128M_mulAdd.c', + sfdir / 'f128M_div.c', + sfdir / 'f128M_rem.c', + sfdir / 'f128M_sqrt.c', + sfdir / 'f128M_eq.c', + sfdir / 'f128M_le.c', + sfdir / 'f128M_lt.c', + sfdir / 'f128M_eq_signaling.c', + sfdir / 'f128M_le_quiet.c', + sfdir / 'f128M_lt_quiet.c', + # spe + sfspedir / 'softfloat_raiseFlags.c', + sfspedir / 's_f16UIToCommonNaN.c', + sfspedir / 's_commonNaNToF16UI.c', + sfspedir / 's_propagateNaNF16UI.c', + sfspedir / 's_f32UIToCommonNaN.c', + sfspedir / 's_commonNaNToF32UI.c', + sfspedir / 's_propagateNaNF32UI.c', + sfspedir / 's_f64UIToCommonNaN.c', + sfspedir / 's_commonNaNToF64UI.c', + sfspedir / 's_propagateNaNF64UI.c', + sfspedir / 'extF80M_isSignalingNaN.c', + sfspedir / 's_extF80UIToCommonNaN.c', + sfspedir / 's_commonNaNToExtF80UI.c', + sfspedir / 's_propagateNaNExtF80UI.c', + sfspedir / 'f128M_isSignalingNaN.c', + sfspedir / 's_f128UIToCommonNaN.c', + sfspedir / 's_commonNaNToF128UI.c', + sfspedir / 's_propagateNaNF128UI.c', + ), + include_directories: sfinc, + c_args: fpcflags, +) + +libsoftfloat_dep =3D declare_dependency( + link_with: libsoftfloat, + include_directories: sfinc, + compile_args: fpcflags) diff --git a/subprojects/packagefiles/berkeley-softfloat-3/meson_options.tx= t b/subprojects/packagefiles/berkeley-softfloat-3/meson_options.txt new file mode 100644 index 00000000000..868ae57e805 --- /dev/null +++ b/subprojects/packagefiles/berkeley-softfloat-3/meson_options.txt @@ -0,0 +1 @@ +option('defines', type : 'array', value : []) diff --git a/subprojects/packagefiles/berkeley-testfloat-3/meson.build b/su= bprojects/packagefiles/berkeley-testfloat-3/meson.build new file mode 100644 index 00000000000..a41673d616b --- /dev/null +++ b/subprojects/packagefiles/berkeley-testfloat-3/meson.build @@ -0,0 +1,220 @@ +project('berkeley-testfloat-3', 'c', + default_options: ['warning_level=3D1', 'c_std=3Dgnu99']) + +fpcflags =3D get_option('defines') + +platform_data =3D configuration_data() +platform_data.set('INLINE', 'static inline') +platform_data.set('LITTLEENDIAN', host_machine.endian() =3D=3D 'little') +configure_file(output: 'platform.h', configuration: platform_data) + +tfdir =3D 'source' +tfinc =3D include_directories('.', tfdir) + +add_project_arguments( + [ + '-Wno-implicit-fallthrough', + '-Wno-strict-prototypes', + '-Wno-unknown-pragmas', + '-Wno-uninitialized', + '-Wno-missing-prototypes', + '-Wno-return-type', + '-Wno-unused-function', + '-Wno-missing-format-attribute', + '-Wno-error', + ] + meson.get_compiler('c').get_supported_arguments('-Wno-ignored-pragma= s'), + native: false, language: 'c') + +tfgencases =3D [ + tfdir / 'genCases_ui32.c', + tfdir / 'genCases_ui64.c', + tfdir / 'genCases_i32.c', + tfdir / 'genCases_i64.c', + tfdir / 'genCases_f16.c', + tfdir / 'genCases_f32.c', + tfdir / 'genCases_f64.c', + tfdir / 'genCases_extF80.c', + tfdir / 'genCases_f128.c', +] + +tfwritecase =3D [ + tfdir / 'writeCase_a_ui32.c', + tfdir / 'writeCase_a_ui64.c', + tfdir / 'writeCase_a_f16.c', + tfdir / 'writeCase_ab_f16.c', + tfdir / 'writeCase_abc_f16.c', + tfdir / 'writeCase_a_f32.c', + tfdir / 'writeCase_ab_f32.c', + tfdir / 'writeCase_abc_f32.c', + tfdir / 'writeCase_a_f64.c', + tfdir / 'writeCase_ab_f64.c', + tfdir / 'writeCase_abc_f64.c', + tfdir / 'writeCase_a_extF80M.c', + tfdir / 'writeCase_ab_extF80M.c', + tfdir / 'writeCase_a_f128M.c', + tfdir / 'writeCase_ab_f128M.c', + tfdir / 'writeCase_abc_f128M.c', + tfdir / 'writeCase_z_bool.c', + tfdir / 'writeCase_z_ui32.c', + tfdir / 'writeCase_z_ui64.c', + tfdir / 'writeCase_z_f16.c', + tfdir / 'writeCase_z_f32.c', + tfdir / 'writeCase_z_f64.c', + tfdir / 'writeCase_z_extF80M.c', + tfdir / 'writeCase_z_f128M.c', +] + +tftest =3D [ + tfdir / 'test_a_ui32_z_f16.c', + tfdir / 'test_a_ui32_z_f32.c', + tfdir / 'test_a_ui32_z_f64.c', + tfdir / 'test_a_ui32_z_extF80.c', + tfdir / 'test_a_ui32_z_f128.c', + tfdir / 'test_a_ui64_z_f16.c', + tfdir / 'test_a_ui64_z_f32.c', + tfdir / 'test_a_ui64_z_f64.c', + tfdir / 'test_a_ui64_z_extF80.c', + tfdir / 'test_a_ui64_z_f128.c', + tfdir / 'test_a_i32_z_f16.c', + tfdir / 'test_a_i32_z_f32.c', + tfdir / 'test_a_i32_z_f64.c', + tfdir / 'test_a_i32_z_extF80.c', + tfdir / 'test_a_i32_z_f128.c', + tfdir / 'test_a_i64_z_f16.c', + tfdir / 'test_a_i64_z_f32.c', + tfdir / 'test_a_i64_z_f64.c', + tfdir / 'test_a_i64_z_extF80.c', + tfdir / 'test_a_i64_z_f128.c', + tfdir / 'test_a_f16_z_ui32_rx.c', + tfdir / 'test_a_f16_z_ui64_rx.c', + tfdir / 'test_a_f16_z_i32_rx.c', + tfdir / 'test_a_f16_z_i64_rx.c', + tfdir / 'test_a_f16_z_ui32_x.c', + tfdir / 'test_a_f16_z_ui64_x.c', + tfdir / 'test_a_f16_z_i32_x.c', + tfdir / 'test_a_f16_z_i64_x.c', + tfdir / 'test_a_f16_z_f32.c', + tfdir / 'test_a_f16_z_f64.c', + tfdir / 'test_a_f16_z_extF80.c', + tfdir / 'test_a_f16_z_f128.c', + tfdir / 'test_az_f16.c', + tfdir / 'test_az_f16_rx.c', + tfdir / 'test_abz_f16.c', + tfdir / 'test_abcz_f16.c', + tfdir / 'test_ab_f16_z_bool.c', + tfdir / 'test_a_f32_z_ui32_rx.c', + tfdir / 'test_a_f32_z_ui64_rx.c', + tfdir / 'test_a_f32_z_i32_rx.c', + tfdir / 'test_a_f32_z_i64_rx.c', + tfdir / 'test_a_f32_z_ui32_x.c', + tfdir / 'test_a_f32_z_ui64_x.c', + tfdir / 'test_a_f32_z_i32_x.c', + tfdir / 'test_a_f32_z_i64_x.c', + tfdir / 'test_a_f32_z_f16.c', + tfdir / 'test_a_f32_z_f64.c', + tfdir / 'test_a_f32_z_extF80.c', + tfdir / 'test_a_f32_z_f128.c', + tfdir / 'test_az_f32.c', + tfdir / 'test_az_f32_rx.c', + tfdir / 'test_abz_f32.c', + tfdir / 'test_abcz_f32.c', + tfdir / 'test_ab_f32_z_bool.c', + tfdir / 'test_a_f64_z_ui32_rx.c', + tfdir / 'test_a_f64_z_ui64_rx.c', + tfdir / 'test_a_f64_z_i32_rx.c', + tfdir / 'test_a_f64_z_i64_rx.c', + tfdir / 'test_a_f64_z_ui32_x.c', + tfdir / 'test_a_f64_z_ui64_x.c', + tfdir / 'test_a_f64_z_i32_x.c', + tfdir / 'test_a_f64_z_i64_x.c', + tfdir / 'test_a_f64_z_f16.c', + tfdir / 'test_a_f64_z_f32.c', + tfdir / 'test_a_f64_z_extF80.c', + tfdir / 'test_a_f64_z_f128.c', + tfdir / 'test_az_f64.c', + tfdir / 'test_az_f64_rx.c', + tfdir / 'test_abz_f64.c', + tfdir / 'test_abcz_f64.c', + tfdir / 'test_ab_f64_z_bool.c', + tfdir / 'test_a_extF80_z_ui32_rx.c', + tfdir / 'test_a_extF80_z_ui64_rx.c', + tfdir / 'test_a_extF80_z_i32_rx.c', + tfdir / 'test_a_extF80_z_i64_rx.c', + tfdir / 'test_a_extF80_z_ui32_x.c', + tfdir / 'test_a_extF80_z_ui64_x.c', + tfdir / 'test_a_extF80_z_i32_x.c', + tfdir / 'test_a_extF80_z_i64_x.c', + tfdir / 'test_a_extF80_z_f16.c', + tfdir / 'test_a_extF80_z_f32.c', + tfdir / 'test_a_extF80_z_f64.c', + tfdir / 'test_a_extF80_z_f128.c', + tfdir / 'test_az_extF80.c', + tfdir / 'test_az_extF80_rx.c', + tfdir / 'test_abz_extF80.c', + tfdir / 'test_ab_extF80_z_bool.c', + tfdir / 'test_a_f128_z_ui32_rx.c', + tfdir / 'test_a_f128_z_ui64_rx.c', + tfdir / 'test_a_f128_z_i32_rx.c', + tfdir / 'test_a_f128_z_i64_rx.c', + tfdir / 'test_a_f128_z_ui32_x.c', + tfdir / 'test_a_f128_z_ui64_x.c', + tfdir / 'test_a_f128_z_i32_x.c', + tfdir / 'test_a_f128_z_i64_x.c', + tfdir / 'test_a_f128_z_f16.c', + tfdir / 'test_a_f128_z_f32.c', + tfdir / 'test_a_f128_z_f64.c', + tfdir / 'test_a_f128_z_extF80.c', + tfdir / 'test_az_f128.c', + tfdir / 'test_az_f128_rx.c', + tfdir / 'test_abz_f128.c', + tfdir / 'test_abcz_f128.c', + tfdir / 'test_ab_f128_z_bool.c', +] + +libsoftfloat_proj =3D subproject('berkeley-softfloat-3', required: true) +libsoftfloat =3D libsoftfloat_proj.get_variable('libsoftfloat_dep') + +libtestfloat =3D static_library( + 'testfloat', + files( + tfdir / 'uint128_inline.c', + tfdir / 'uint128.c', + tfdir / 'fail.c', + tfdir / 'functions_common.c', + tfdir / 'functionInfos.c', + tfdir / 'standardFunctionInfos.c', + tfdir / 'random.c', + tfdir / 'genCases_common.c', + tfgencases, + tfdir / 'genCases_writeTestsTotal.c', + tfdir / 'verCases_inline.c', + tfdir / 'verCases_common.c', + tfdir / 'verCases_writeFunctionName.c', + tfdir / 'readHex.c', + tfdir / 'writeHex.c', + tfwritecase, + tfdir / 'testLoops_common.c', + tftest, + ), + dependencies: libsoftfloat.partial_dependency(includes: true, compile_ar= gs: true), + c_args: fpcflags, +) + +libtestfloat_dep =3D declare_dependency( + link_with: libtestfloat, + dependencies: libsoftfloat, + include_directories: tfinc, + compile_args: fpcflags) + +libslowfloat =3D static_library( + 'slowfloat', + tfdir / 'slowfloat.c', + dependencies: libsoftfloat.partial_dependency(includes: true, compile_ar= gs: true), + c_args: fpcflags, +) + +libslowfloat_dep =3D declare_dependency( + link_with: libslowfloat, + dependencies: libsoftfloat, + include_directories: tfinc, + compile_args: fpcflags) diff --git a/subprojects/packagefiles/berkeley-testfloat-3/meson_options.tx= t b/subprojects/packagefiles/berkeley-testfloat-3/meson_options.txt new file mode 100644 index 00000000000..868ae57e805 --- /dev/null +++ b/subprojects/packagefiles/berkeley-testfloat-3/meson_options.txt @@ -0,0 +1 @@ +option('defines', type : 'array', value : []) diff --git a/tests/fp/meson.build b/tests/fp/meson.build index f9ca6a93b49..cbc17392d67 100644 --- a/tests/fp/meson.build +++ b/tests/fp/meson.build @@ -7,13 +7,15 @@ if targetos =3D=3D 'windows' subdir_done() endif =20 -fpcflags =3D [ +sfcflags =3D [ # softfloat defines '-DSOFTFLOAT_ROUND_ODD', '-DINLINE_LEVEL=3D5', '-DSOFTFLOAT_FAST_DIV32TO16', '-DSOFTFLOAT_FAST_DIV64TO32', '-DSOFTFLOAT_FAST_INT64', +] +tfcflags =3D [ # testfloat defines '-DFLOAT16', '-DFLOAT64', @@ -23,523 +25,16 @@ fpcflags =3D [ '-DLONG_DOUBLE_IS_EXTFLOAT80', ] =20 -sfdir =3D 'berkeley-softfloat-3/source' -sfspedir =3D sfdir / '8086-SSE' -tfdir =3D 'berkeley-testfloat-3/source' +libsoftfloat_proj =3D subproject('berkeley-softfloat-3', required: true, + default_options: 'defines=3D' + ','.join(sfcflags)) +libsoftfloat =3D libsoftfloat_proj.get_variable('libsoftfloat_dep') =20 -sfinc =3D include_directories(sfdir / 'include', sfspedir) +libtestfloat_proj =3D subproject('berkeley-testfloat-3', required: true, + default_options: 'defines=3D' + ','.join(tfcflags)) +libtestfloat =3D libtestfloat_proj.get_variable('libtestfloat_dep') +libslowfloat =3D libtestfloat_proj.get_variable('libslowfloat_dep') =20 -tfcflags =3D [ - '-Wno-implicit-fallthrough', - '-Wno-strict-prototypes', - '-Wno-unknown-pragmas', - '-Wno-uninitialized', - '-Wno-missing-prototypes', - '-Wno-return-type', - '-Wno-unused-function', - '-Wno-missing-format-attribute', - '-Wno-error', -] - -if cc.get_id() =3D=3D 'clang' - # Clang does not support '#pragma STDC FENV_ACCESS' - tfcflags +=3D [ '-Wno-ignored-pragmas' ] -endif - -tfgencases =3D [ - tfdir / 'genCases_ui32.c', - tfdir / 'genCases_ui64.c', - tfdir / 'genCases_i32.c', - tfdir / 'genCases_i64.c', - tfdir / 'genCases_f16.c', - tfdir / 'genCases_f32.c', - tfdir / 'genCases_f64.c', - tfdir / 'genCases_extF80.c', - tfdir / 'genCases_f128.c', -] - -tfwritecase =3D [ - tfdir / 'writeCase_a_ui32.c', - tfdir / 'writeCase_a_ui64.c', - tfdir / 'writeCase_a_f16.c', - tfdir / 'writeCase_ab_f16.c', - tfdir / 'writeCase_abc_f16.c', - tfdir / 'writeCase_a_f32.c', - tfdir / 'writeCase_ab_f32.c', - tfdir / 'writeCase_abc_f32.c', - tfdir / 'writeCase_a_f64.c', - tfdir / 'writeCase_ab_f64.c', - tfdir / 'writeCase_abc_f64.c', - tfdir / 'writeCase_a_extF80M.c', - tfdir / 'writeCase_ab_extF80M.c', - tfdir / 'writeCase_a_f128M.c', - tfdir / 'writeCase_ab_f128M.c', - tfdir / 'writeCase_abc_f128M.c', - tfdir / 'writeCase_z_bool.c', - tfdir / 'writeCase_z_ui32.c', - tfdir / 'writeCase_z_ui64.c', - tfdir / 'writeCase_z_f16.c', - tfdir / 'writeCase_z_f32.c', - tfdir / 'writeCase_z_f64.c', - tfdir / 'writeCase_z_extF80M.c', - tfdir / 'writeCase_z_f128M.c', -] - -tftest =3D [ - tfdir / 'test_a_ui32_z_f16.c', - tfdir / 'test_a_ui32_z_f32.c', - tfdir / 'test_a_ui32_z_f64.c', - tfdir / 'test_a_ui32_z_extF80.c', - tfdir / 'test_a_ui32_z_f128.c', - tfdir / 'test_a_ui64_z_f16.c', - tfdir / 'test_a_ui64_z_f32.c', - tfdir / 'test_a_ui64_z_f64.c', - tfdir / 'test_a_ui64_z_extF80.c', - tfdir / 'test_a_ui64_z_f128.c', - tfdir / 'test_a_i32_z_f16.c', - tfdir / 'test_a_i32_z_f32.c', - tfdir / 'test_a_i32_z_f64.c', - tfdir / 'test_a_i32_z_extF80.c', - tfdir / 'test_a_i32_z_f128.c', - tfdir / 'test_a_i64_z_f16.c', - tfdir / 'test_a_i64_z_f32.c', - tfdir / 'test_a_i64_z_f64.c', - tfdir / 'test_a_i64_z_extF80.c', - tfdir / 'test_a_i64_z_f128.c', - tfdir / 'test_a_f16_z_ui32_rx.c', - tfdir / 'test_a_f16_z_ui64_rx.c', - tfdir / 'test_a_f16_z_i32_rx.c', - tfdir / 'test_a_f16_z_i64_rx.c', - tfdir / 'test_a_f16_z_ui32_x.c', - tfdir / 'test_a_f16_z_ui64_x.c', - tfdir / 'test_a_f16_z_i32_x.c', - tfdir / 'test_a_f16_z_i64_x.c', - tfdir / 'test_a_f16_z_f32.c', - tfdir / 'test_a_f16_z_f64.c', - tfdir / 'test_a_f16_z_extF80.c', - tfdir / 'test_a_f16_z_f128.c', - tfdir / 'test_az_f16.c', - tfdir / 'test_az_f16_rx.c', - tfdir / 'test_abz_f16.c', - tfdir / 'test_abcz_f16.c', - tfdir / 'test_ab_f16_z_bool.c', - tfdir / 'test_a_f32_z_ui32_rx.c', - tfdir / 'test_a_f32_z_ui64_rx.c', - tfdir / 'test_a_f32_z_i32_rx.c', - tfdir / 'test_a_f32_z_i64_rx.c', - tfdir / 'test_a_f32_z_ui32_x.c', - tfdir / 'test_a_f32_z_ui64_x.c', - tfdir / 'test_a_f32_z_i32_x.c', - tfdir / 'test_a_f32_z_i64_x.c', - tfdir / 'test_a_f32_z_f16.c', - tfdir / 'test_a_f32_z_f64.c', - tfdir / 'test_a_f32_z_extF80.c', - tfdir / 'test_a_f32_z_f128.c', - tfdir / 'test_az_f32.c', - tfdir / 'test_az_f32_rx.c', - tfdir / 'test_abz_f32.c', - tfdir / 'test_abcz_f32.c', - tfdir / 'test_ab_f32_z_bool.c', - tfdir / 'test_a_f64_z_ui32_rx.c', - tfdir / 'test_a_f64_z_ui64_rx.c', - tfdir / 'test_a_f64_z_i32_rx.c', - tfdir / 'test_a_f64_z_i64_rx.c', - tfdir / 'test_a_f64_z_ui32_x.c', - tfdir / 'test_a_f64_z_ui64_x.c', - tfdir / 'test_a_f64_z_i32_x.c', - tfdir / 'test_a_f64_z_i64_x.c', - tfdir / 'test_a_f64_z_f16.c', - tfdir / 'test_a_f64_z_f32.c', - tfdir / 'test_a_f64_z_extF80.c', - tfdir / 'test_a_f64_z_f128.c', - tfdir / 'test_az_f64.c', - tfdir / 'test_az_f64_rx.c', - tfdir / 'test_abz_f64.c', - tfdir / 'test_abcz_f64.c', - tfdir / 'test_ab_f64_z_bool.c', - tfdir / 'test_a_extF80_z_ui32_rx.c', - tfdir / 'test_a_extF80_z_ui64_rx.c', - tfdir / 'test_a_extF80_z_i32_rx.c', - tfdir / 'test_a_extF80_z_i64_rx.c', - tfdir / 'test_a_extF80_z_ui32_x.c', - tfdir / 'test_a_extF80_z_ui64_x.c', - tfdir / 'test_a_extF80_z_i32_x.c', - tfdir / 'test_a_extF80_z_i64_x.c', - tfdir / 'test_a_extF80_z_f16.c', - tfdir / 'test_a_extF80_z_f32.c', - tfdir / 'test_a_extF80_z_f64.c', - tfdir / 'test_a_extF80_z_f128.c', - tfdir / 'test_az_extF80.c', - tfdir / 'test_az_extF80_rx.c', - tfdir / 'test_abz_extF80.c', - tfdir / 'test_ab_extF80_z_bool.c', - tfdir / 'test_a_f128_z_ui32_rx.c', - tfdir / 'test_a_f128_z_ui64_rx.c', - tfdir / 'test_a_f128_z_i32_rx.c', - tfdir / 'test_a_f128_z_i64_rx.c', - tfdir / 'test_a_f128_z_ui32_x.c', - tfdir / 'test_a_f128_z_ui64_x.c', - tfdir / 'test_a_f128_z_i32_x.c', - tfdir / 'test_a_f128_z_i64_x.c', - tfdir / 'test_a_f128_z_f16.c', - tfdir / 'test_a_f128_z_f32.c', - tfdir / 'test_a_f128_z_f64.c', - tfdir / 'test_a_f128_z_extF80.c', - tfdir / 'test_az_f128.c', - tfdir / 'test_az_f128_rx.c', - tfdir / 'test_abz_f128.c', - tfdir / 'test_abcz_f128.c', - tfdir / 'test_ab_f128_z_bool.c', -] - -libtestfloat =3D static_library( - 'testfloat', - files( - tfdir / 'uint128_inline.c', - tfdir / 'uint128.c', - tfdir / 'fail.c', - tfdir / 'functions_common.c', - tfdir / 'functionInfos.c', - tfdir / 'standardFunctionInfos.c', - tfdir / 'random.c', - tfdir / 'genCases_common.c', - tfgencases, - tfdir / 'genCases_writeTestsTotal.c', - tfdir / 'verCases_inline.c', - tfdir / 'verCases_common.c', - tfdir / 'verCases_writeFunctionName.c', - tfdir / 'readHex.c', - tfdir / 'writeHex.c', - tfwritecase, - tfdir / 'testLoops_common.c', - tftest, - ), - include_directories: sfinc, - c_args: tfcflags + fpcflags, -) - -sfcflags =3D [ - '-Wno-implicit-fallthrough', - '-Wno-missing-prototypes', - '-Wno-redundant-decls', - '-Wno-return-type', - '-Wno-error', -] - -libsoftfloat =3D static_library( - 'softfloat', - files( - # primitives - sfdir / 's_eq128.c', - sfdir / 's_le128.c', - sfdir / 's_lt128.c', - sfdir / 's_shortShiftLeft128.c', - sfdir / 's_shortShiftRight128.c', - sfdir / 's_shortShiftRightJam64.c', - sfdir / 's_shortShiftRightJam64Extra.c', - sfdir / 's_shortShiftRightJam128.c', - sfdir / 's_shortShiftRightJam128Extra.c', - sfdir / 's_shiftRightJam32.c', - sfdir / 's_shiftRightJam64.c', - sfdir / 's_shiftRightJam64Extra.c', - sfdir / 's_shiftRightJam128.c', - sfdir / 's_shiftRightJam128Extra.c', - sfdir / 's_shiftRightJam256M.c', - sfdir / 's_countLeadingZeros8.c', - sfdir / 's_countLeadingZeros16.c', - sfdir / 's_countLeadingZeros32.c', - sfdir / 's_countLeadingZeros64.c', - sfdir / 's_add128.c', - sfdir / 's_add256M.c', - sfdir / 's_sub128.c', - sfdir / 's_sub256M.c', - sfdir / 's_mul64ByShifted32To128.c', - sfdir / 's_mul64To128.c', - sfdir / 's_mul128By32.c', - sfdir / 's_mul128To256M.c', - sfdir / 's_approxRecip_1Ks.c', - sfdir / 's_approxRecip32_1.c', - sfdir / 's_approxRecipSqrt_1Ks.c', - sfdir / 's_approxRecipSqrt32_1.c', - # others - sfdir / 's_roundToUI32.c', - sfdir / 's_roundToUI64.c', - sfdir / 's_roundToI32.c', - sfdir / 's_roundToI64.c', - sfdir / 's_normSubnormalF16Sig.c', - sfdir / 's_roundPackToF16.c', - sfdir / 's_normRoundPackToF16.c', - sfdir / 's_addMagsF16.c', - sfdir / 's_subMagsF16.c', - sfdir / 's_mulAddF16.c', - sfdir / 's_normSubnormalF32Sig.c', - sfdir / 's_roundPackToF32.c', - sfdir / 's_normRoundPackToF32.c', - sfdir / 's_addMagsF32.c', - sfdir / 's_subMagsF32.c', - sfdir / 's_mulAddF32.c', - sfdir / 's_normSubnormalF64Sig.c', - sfdir / 's_roundPackToF64.c', - sfdir / 's_normRoundPackToF64.c', - sfdir / 's_addMagsF64.c', - sfdir / 's_subMagsF64.c', - sfdir / 's_mulAddF64.c', - sfdir / 's_normSubnormalExtF80Sig.c', - sfdir / 's_roundPackToExtF80.c', - sfdir / 's_normRoundPackToExtF80.c', - sfdir / 's_addMagsExtF80.c', - sfdir / 's_subMagsExtF80.c', - sfdir / 's_normSubnormalF128Sig.c', - sfdir / 's_roundPackToF128.c', - sfdir / 's_normRoundPackToF128.c', - sfdir / 's_addMagsF128.c', - sfdir / 's_subMagsF128.c', - sfdir / 's_mulAddF128.c', - sfdir / 'softfloat_state.c', - sfdir / 'ui32_to_f16.c', - sfdir / 'ui32_to_f32.c', - sfdir / 'ui32_to_f64.c', - sfdir / 'ui32_to_extF80.c', - sfdir / 'ui32_to_extF80M.c', - sfdir / 'ui32_to_f128.c', - sfdir / 'ui32_to_f128M.c', - sfdir / 'ui64_to_f16.c', - sfdir / 'ui64_to_f32.c', - sfdir / 'ui64_to_f64.c', - sfdir / 'ui64_to_extF80.c', - sfdir / 'ui64_to_extF80M.c', - sfdir / 'ui64_to_f128.c', - sfdir / 'ui64_to_f128M.c', - sfdir / 'i32_to_f16.c', - sfdir / 'i32_to_f32.c', - sfdir / 'i32_to_f64.c', - sfdir / 'i32_to_extF80.c', - sfdir / 'i32_to_extF80M.c', - sfdir / 'i32_to_f128.c', - sfdir / 'i32_to_f128M.c', - sfdir / 'i64_to_f16.c', - sfdir / 'i64_to_f32.c', - sfdir / 'i64_to_f64.c', - sfdir / 'i64_to_extF80.c', - sfdir / 'i64_to_extF80M.c', - sfdir / 'i64_to_f128.c', - sfdir / 'i64_to_f128M.c', - sfdir / 'f16_to_ui32.c', - sfdir / 'f16_to_ui64.c', - sfdir / 'f16_to_i32.c', - sfdir / 'f16_to_i64.c', - sfdir / 'f16_to_ui32_r_minMag.c', - sfdir / 'f16_to_ui64_r_minMag.c', - sfdir / 'f16_to_i32_r_minMag.c', - sfdir / 'f16_to_i64_r_minMag.c', - sfdir / 'f16_to_f32.c', - sfdir / 'f16_to_f64.c', - sfdir / 'f16_to_extF80.c', - sfdir / 'f16_to_extF80M.c', - sfdir / 'f16_to_f128.c', - sfdir / 'f16_to_f128M.c', - sfdir / 'f16_roundToInt.c', - sfdir / 'f16_add.c', - sfdir / 'f16_sub.c', - sfdir / 'f16_mul.c', - sfdir / 'f16_mulAdd.c', - sfdir / 'f16_div.c', - sfdir / 'f16_rem.c', - sfdir / 'f16_sqrt.c', - sfdir / 'f16_eq.c', - sfdir / 'f16_le.c', - sfdir / 'f16_lt.c', - sfdir / 'f16_eq_signaling.c', - sfdir / 'f16_le_quiet.c', - sfdir / 'f16_lt_quiet.c', - sfdir / 'f16_isSignalingNaN.c', - sfdir / 'f32_to_ui32.c', - sfdir / 'f32_to_ui64.c', - sfdir / 'f32_to_i32.c', - sfdir / 'f32_to_i64.c', - sfdir / 'f32_to_ui32_r_minMag.c', - sfdir / 'f32_to_ui64_r_minMag.c', - sfdir / 'f32_to_i32_r_minMag.c', - sfdir / 'f32_to_i64_r_minMag.c', - sfdir / 'f32_to_f16.c', - sfdir / 'f32_to_f64.c', - sfdir / 'f32_to_extF80.c', - sfdir / 'f32_to_extF80M.c', - sfdir / 'f32_to_f128.c', - sfdir / 'f32_to_f128M.c', - sfdir / 'f32_roundToInt.c', - sfdir / 'f32_add.c', - sfdir / 'f32_sub.c', - sfdir / 'f32_mul.c', - sfdir / 'f32_mulAdd.c', - sfdir / 'f32_div.c', - sfdir / 'f32_rem.c', - sfdir / 'f32_sqrt.c', - sfdir / 'f32_eq.c', - sfdir / 'f32_le.c', - sfdir / 'f32_lt.c', - sfdir / 'f32_eq_signaling.c', - sfdir / 'f32_le_quiet.c', - sfdir / 'f32_lt_quiet.c', - sfdir / 'f32_isSignalingNaN.c', - sfdir / 'f64_to_ui32.c', - sfdir / 'f64_to_ui64.c', - sfdir / 'f64_to_i32.c', - sfdir / 'f64_to_i64.c', - sfdir / 'f64_to_ui32_r_minMag.c', - sfdir / 'f64_to_ui64_r_minMag.c', - sfdir / 'f64_to_i32_r_minMag.c', - sfdir / 'f64_to_i64_r_minMag.c', - sfdir / 'f64_to_f16.c', - sfdir / 'f64_to_f32.c', - sfdir / 'f64_to_extF80.c', - sfdir / 'f64_to_extF80M.c', - sfdir / 'f64_to_f128.c', - sfdir / 'f64_to_f128M.c', - sfdir / 'f64_roundToInt.c', - sfdir / 'f64_add.c', - sfdir / 'f64_sub.c', - sfdir / 'f64_mul.c', - sfdir / 'f64_mulAdd.c', - sfdir / 'f64_div.c', - sfdir / 'f64_rem.c', - sfdir / 'f64_sqrt.c', - sfdir / 'f64_eq.c', - sfdir / 'f64_le.c', - sfdir / 'f64_lt.c', - sfdir / 'f64_eq_signaling.c', - sfdir / 'f64_le_quiet.c', - sfdir / 'f64_lt_quiet.c', - sfdir / 'f64_isSignalingNaN.c', - sfdir / 'extF80_to_ui32.c', - sfdir / 'extF80_to_ui64.c', - sfdir / 'extF80_to_i32.c', - sfdir / 'extF80_to_i64.c', - sfdir / 'extF80_to_ui32_r_minMag.c', - sfdir / 'extF80_to_ui64_r_minMag.c', - sfdir / 'extF80_to_i32_r_minMag.c', - sfdir / 'extF80_to_i64_r_minMag.c', - sfdir / 'extF80_to_f16.c', - sfdir / 'extF80_to_f32.c', - sfdir / 'extF80_to_f64.c', - sfdir / 'extF80_to_f128.c', - sfdir / 'extF80_roundToInt.c', - sfdir / 'extF80_add.c', - sfdir / 'extF80_sub.c', - sfdir / 'extF80_mul.c', - sfdir / 'extF80_div.c', - sfdir / 'extF80_rem.c', - sfdir / 'extF80_sqrt.c', - sfdir / 'extF80_eq.c', - sfdir / 'extF80_le.c', - sfdir / 'extF80_lt.c', - sfdir / 'extF80_eq_signaling.c', - sfdir / 'extF80_le_quiet.c', - sfdir / 'extF80_lt_quiet.c', - sfdir / 'extF80_isSignalingNaN.c', - sfdir / 'extF80M_to_ui32.c', - sfdir / 'extF80M_to_ui64.c', - sfdir / 'extF80M_to_i32.c', - sfdir / 'extF80M_to_i64.c', - sfdir / 'extF80M_to_ui32_r_minMag.c', - sfdir / 'extF80M_to_ui64_r_minMag.c', - sfdir / 'extF80M_to_i32_r_minMag.c', - sfdir / 'extF80M_to_i64_r_minMag.c', - sfdir / 'extF80M_to_f16.c', - sfdir / 'extF80M_to_f32.c', - sfdir / 'extF80M_to_f64.c', - sfdir / 'extF80M_to_f128M.c', - sfdir / 'extF80M_roundToInt.c', - sfdir / 'extF80M_add.c', - sfdir / 'extF80M_sub.c', - sfdir / 'extF80M_mul.c', - sfdir / 'extF80M_div.c', - sfdir / 'extF80M_rem.c', - sfdir / 'extF80M_sqrt.c', - sfdir / 'extF80M_eq.c', - sfdir / 'extF80M_le.c', - sfdir / 'extF80M_lt.c', - sfdir / 'extF80M_eq_signaling.c', - sfdir / 'extF80M_le_quiet.c', - sfdir / 'extF80M_lt_quiet.c', - sfdir / 'f128_to_ui32.c', - sfdir / 'f128_to_ui64.c', - sfdir / 'f128_to_i32.c', - sfdir / 'f128_to_i64.c', - sfdir / 'f128_to_ui32_r_minMag.c', - sfdir / 'f128_to_ui64_r_minMag.c', - sfdir / 'f128_to_i32_r_minMag.c', - sfdir / 'f128_to_i64_r_minMag.c', - sfdir / 'f128_to_f16.c', - sfdir / 'f128_to_f32.c', - sfdir / 'f128_to_extF80.c', - sfdir / 'f128_to_f64.c', - sfdir / 'f128_roundToInt.c', - sfdir / 'f128_add.c', - sfdir / 'f128_sub.c', - sfdir / 'f128_mul.c', - sfdir / 'f128_mulAdd.c', - sfdir / 'f128_div.c', - sfdir / 'f128_rem.c', - sfdir / 'f128_sqrt.c', - sfdir / 'f128_eq.c', - sfdir / 'f128_le.c', - sfdir / 'f128_lt.c', - sfdir / 'f128_eq_signaling.c', - sfdir / 'f128_le_quiet.c', - sfdir / 'f128_lt_quiet.c', - sfdir / 'f128_isSignalingNaN.c', - sfdir / 'f128M_to_ui32.c', - sfdir / 'f128M_to_ui64.c', - sfdir / 'f128M_to_i32.c', - sfdir / 'f128M_to_i64.c', - sfdir / 'f128M_to_ui32_r_minMag.c', - sfdir / 'f128M_to_ui64_r_minMag.c', - sfdir / 'f128M_to_i32_r_minMag.c', - sfdir / 'f128M_to_i64_r_minMag.c', - sfdir / 'f128M_to_f16.c', - sfdir / 'f128M_to_f32.c', - sfdir / 'f128M_to_extF80M.c', - sfdir / 'f128M_to_f64.c', - sfdir / 'f128M_roundToInt.c', - sfdir / 'f128M_add.c', - sfdir / 'f128M_sub.c', - sfdir / 'f128M_mul.c', - sfdir / 'f128M_mulAdd.c', - sfdir / 'f128M_div.c', - sfdir / 'f128M_rem.c', - sfdir / 'f128M_sqrt.c', - sfdir / 'f128M_eq.c', - sfdir / 'f128M_le.c', - sfdir / 'f128M_lt.c', - sfdir / 'f128M_eq_signaling.c', - sfdir / 'f128M_le_quiet.c', - sfdir / 'f128M_lt_quiet.c', - # spe - sfspedir / 'softfloat_raiseFlags.c', - sfspedir / 's_f16UIToCommonNaN.c', - sfspedir / 's_commonNaNToF16UI.c', - sfspedir / 's_propagateNaNF16UI.c', - sfspedir / 's_f32UIToCommonNaN.c', - sfspedir / 's_commonNaNToF32UI.c', - sfspedir / 's_propagateNaNF32UI.c', - sfspedir / 's_f64UIToCommonNaN.c', - sfspedir / 's_commonNaNToF64UI.c', - sfspedir / 's_propagateNaNF64UI.c', - sfspedir / 'extF80M_isSignalingNaN.c', - sfspedir / 's_extF80UIToCommonNaN.c', - sfspedir / 's_commonNaNToExtF80UI.c', - sfspedir / 's_propagateNaNExtF80UI.c', - sfspedir / 'f128M_isSignalingNaN.c', - sfspedir / 's_f128UIToCommonNaN.c', - sfspedir / 's_commonNaNToF128UI.c', - sfspedir / 's_propagateNaNF128UI.c', - ), - include_directories: sfinc, - c_args: sfcflags + fpcflags, -) - -fpcflags +=3D [ +fpcflags =3D [ # work around TARGET_* poisoning '-DHW_POISON_H', # define a target to match testfloat's implementation-defined choices, s= uch as @@ -551,10 +46,8 @@ fpcflags +=3D [ =20 fptest =3D executable( 'fp-test', - ['fp-test.c', tfdir / 'slowfloat.c', '../../fpu/softfloat.c'], - link_with: [libtestfloat, libsoftfloat], - dependencies: [qemuutil], - include_directories: [sfinc, include_directories(tfdir)], + ['fp-test.c', '../../fpu/softfloat.c'], + dependencies: [qemuutil, libsoftfloat, libtestfloat, libslowfloat], c_args: fpcflags, ) softfloat_conv_tests =3D { @@ -636,18 +129,14 @@ test('fp-test-mulAdd', fptest, executable( 'fp-bench', ['fp-bench.c', '../../fpu/softfloat.c'], - link_with: [libtestfloat, libsoftfloat], - dependencies: [qemuutil], - include_directories: [sfinc, include_directories(tfdir)], + dependencies: [qemuutil, libtestfloat, libsoftfloat], c_args: fpcflags, ) =20 fptestlog2 =3D executable( 'fp-test-log2', ['fp-test-log2.c', '../../fpu/softfloat.c'], - link_with: [libsoftfloat], - dependencies: [qemuutil], - include_directories: [sfinc], + dependencies: [qemuutil, libsoftfloat], c_args: fpcflags, ) test('fp-test-log2', fptestlog2, --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958799; cv=none; d=zohomail.com; s=zohoarc; b=J7eg4qmQ6BX4YwQNE2pgDAoPW/pEzDTpYBcqG1oDOk0jMuBdE+apwunaLjjNm+rfKsxTZwXsIL9xvjMkj3p4yrcL4lU4r/WRzgJvXqAM9t/vxB9asraTw6C/by01fxji8qGwsabBn3HK56Hm6EhfSzrmf7jFlkB+YBF5mhz1j6M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958799; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bLpXk+3weJtOV+fHqWD4hS8kn1wUeCUWdGjfEsx3olI=; b=lO8pUZqlyKfvqduMe+B4AMWHEpH3/m05GIzo+gpMw96VXT0cpY+tXLvx3DaHjTr+Sp1M8rSgYgck+0tJORLcXrvAFG+sUNIP3oRh3GpVBYv4SJ9GjuUjFaRbSDL774k8IGDStTjuUmtcVxShXnuRnjKJsXHYfQzDQ0sjk9fwPNI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958799116184.75401168533165; Mon, 5 Jun 2023 02:53:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tY-0002rL-P7; Mon, 05 Jun 2023 05:53:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tJ-0002pD-3F for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:45 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tH-0006mM-EN for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:44 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-241-BQwLlZdaM6WWYjcFoAsXPw-1; Mon, 05 Jun 2023 05:52:41 -0400 Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-513f337d478so2841762a12.3 for ; Mon, 05 Jun 2023 02:52:41 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id h26-20020aa7de1a000000b005148f0e8568sm3681846edv.39.2023.06.05.02.52.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958762; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bLpXk+3weJtOV+fHqWD4hS8kn1wUeCUWdGjfEsx3olI=; b=MifvL8soWflQpS87JXOv2BROoEAjXAZxvgzcMaeYyVaKbaotqT4BG2Vlu9yQThAXGuEF10 LThIK6vilDNqSa9TXO0Fmg9G3ymuNzfpL/e/Lk7cOvvYlJF7e3KCfiZzDHfEqd5LxpVqOk EXD1/Ah4JBD9hZr7i4EUlUdYPIzZjNs= X-MC-Unique: BQwLlZdaM6WWYjcFoAsXPw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958759; x=1688550759; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bLpXk+3weJtOV+fHqWD4hS8kn1wUeCUWdGjfEsx3olI=; b=VC9BhBTHnfHLqpSJTiNe3kU5aX7l4hFVcWwWMuJPfMCM+Ng2R1YDT5B/CvOE48Ipfa 3vd2OaQA7Gs1nDMpyuyLFth9tpsmw/4/pvTfdP3sp7nTw159zAmDB+A9+fGf/IprjoNI KiIUBxXjeMtW+kGyupS0Nf2wQzZYd67aVj2XZvuZQyQpWNcp1b5asrs/IRg0DRcDncvx YDi43fDAPFV7Ol2KQIICBJ2R9BjIW6RQVdRzuCnmE1cyaH6cEdwz9SAxIVrdOTq6/uoz 76S/gnZ6N8Oq1HeFd/i/WfeNdDaWcNA4c5EbRU8BuiXBGakNYnh1PZuEBcbKDHHCq1IF MfEg== X-Gm-Message-State: AC+VfDzsUrirjO3/bxazPjsiy9ZQ9pzOm5CEUeZ+fxf8Ld8eG5W8rwFq jCz3fy7ELUTUYuj5r2QdchzcBlztEu0u3uFrFux6eKOcgmzLPr9+geQ8Onhq26xBEMsS3+wu0tO L8ejND0jkUG3JDDLOowauuWLhcD12wtW7cKpqCsM0AL/u6UpVfILowLfUkF/0rfniocEI8qkTPv w= X-Received: by 2002:a05:6402:3c7:b0:510:ee0f:1eab with SMTP id t7-20020a05640203c700b00510ee0f1eabmr5256870edw.41.1685958759604; Mon, 05 Jun 2023 02:52:39 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5W/SzJSfvAoM3JCYewwFIB6XfjS6rtSEvEUCJFmjYGdESC7DY5dqqRwoYJjg2OVKuDPUgC3g== X-Received: by 2002:a05:6402:3c7:b0:510:ee0f:1eab with SMTP id t7-20020a05640203c700b00510ee0f1eabmr5256861edw.41.1685958759364; Mon, 05 Jun 2023 02:52:39 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 09/10] build: remove git submodule handling from main makefile Date: Mon, 5 Jun 2023 11:52:22 +0200 Message-Id: <20230605095223.107653-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958799602100001 Content-Type: text/plain; charset="utf-8" The only remaining user of submodules at build time is roms/SLOF, which is handled in pc-bios/s390-ccw/Makefile. Remove the relevant code from the main makefile. Signed-off-by: Paolo Bonzini Reviewed-by: Daniel P. Berrang=C3=A9 --- .gitlab-ci.d/buildtest-template.yml | 3 +-- Makefile | 10 ---------- configure | 7 ------- meson.build | 1 - 4 files changed, 1 insertion(+), 20 deletions(-) diff --git a/.gitlab-ci.d/buildtest-template.yml b/.gitlab-ci.d/buildtest-t= emplate.yml index d01d504ec5f..76ff1dfcb6f 100644 --- a/.gitlab-ci.d/buildtest-template.yml +++ b/.gitlab-ci.d/buildtest-template.yml @@ -42,8 +42,7 @@ stage: test image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest script: - - scripts/git-submodule.sh update - roms/SLOF $(sed -n '/GIT_SUBMODULES=3D/ s/.*=3D// p' build/config-= host.mak) + - scripts/git-submodule.sh update roms/SLOF - meson subprojects download $(cd build/subprojects && echo *) - cd build - find . -type f -exec touch {} + diff --git a/Makefile b/Makefile index d68196acb9e..b22bf6fba12 100644 --- a/Makefile +++ b/Makefile @@ -45,16 +45,6 @@ include config-host.mak include Makefile.prereqs Makefile.prereqs: config-host.mak =20 -git-submodule-update: -.git-submodule-status: git-submodule-update config-host.mak -Makefile: .git-submodule-status - -.PHONY: git-submodule-update -git-submodule-update: -ifneq ($(GIT_SUBMODULES_ACTION),ignore) - $(quiet-@)GIT=3Dgit "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODUL= ES_ACTION) $(GIT_SUBMODULES) -endif - # 0. ensure the build tree is okay =20 # Check that we're not trying to do an out-of-tree build from diff --git a/configure b/configure index 4dad32938df..bc0660f5a32 100755 --- a/configure +++ b/configure @@ -253,7 +253,6 @@ else git_submodules_action=3D"ignore" fi =20 -git_submodules=3D"" git=3D"git" debug_tcg=3D"no" docs=3D"auto" @@ -1657,18 +1656,12 @@ fi ####################################### # generate config-host.mak =20 -if ! (GIT=3Dgit "$source_path/scripts/git-submodule.sh" "$git_submodules_a= ction" "$git_submodules"); then - exit 1 -fi - config_host_mak=3D"config-host.mak" =20 echo "# Automatically generated by configure - do not modify" > $config_ho= st_mak echo >> $config_host_mak =20 echo all: >> $config_host_mak -echo "GIT_SUBMODULES=3D$git_submodules" >> $config_host_mak -echo "GIT_SUBMODULES_ACTION=3D$git_submodules_action" >> $config_host_mak =20 if test "$debug_tcg" =3D "yes" ; then echo "CONFIG_DEBUG_TCG=3Dy" >> $config_host_mak diff --git a/meson.build b/meson.build index badeeffd529..10df2eb1961 100644 --- a/meson.build +++ b/meson.build @@ -4008,7 +4008,6 @@ endif summary_info +=3D {'Doc directory': get_option('prefix') / get_option(= 'docdir')} summary_info +=3D {'Build directory': meson.current_build_dir()} summary_info +=3D {'Source path': meson.current_source_dir()} -summary_info +=3D {'GIT submodules': config_host['GIT_SUBMODULES']} summary(summary_info, bool_yn: true, section: 'Directories') =20 # Host binaries --=20 2.40.1 From nobody Sat May 18 15:08:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1685958849; cv=none; d=zohomail.com; s=zohoarc; b=Lji/T1oAdR12hJOaT7KMOeARcoYYS9n1dGX4oOPmOfzJlHhlVnxrRf9qupzZt/Sj41F95rj6SykfMAEsju+ahi4PACFXn+1v6jPkqMRAYCvTCgkOtjyjcZIppyfbwyN3aCdwI/X8VpU+GQGunVYOWMG49XC5IFEdMWM+V2kYb5E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685958849; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EXiIXtpt4ZHp6HRqfL2Ve/hGwW4tf6OUNnl3ecrHEGs=; b=AsMbNxK+nGbCdRtsjlBbHmucD4clf+Ay0v7WjPbwsXnQWi9baaCDm46wMWERKls0axdwsDI48k77+Ba/Z3nrjSv99PcXRvkzux8VxlBo+Tm50iJlXLlSghS/vdTxMhcStln71tpgvoT0KVfI+QNDg3c8s6OdA8bOrHupnm7gbpc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1685958849860738.2018834595608; Mon, 5 Jun 2023 02:54:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q66tc-0002xP-Hb; Mon, 05 Jun 2023 05:53:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tM-0002q8-At for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q66tK-0006ni-Ad for qemu-devel@nongnu.org; Mon, 05 Jun 2023 05:52:48 -0400 Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-321--iRSwsigNf6kdihu3KP7AA-1; Mon, 05 Jun 2023 05:52:43 -0400 Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-977cb73efe8so122470266b.1 for ; Mon, 05 Jun 2023 02:52:43 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:1c09:f536:3de6:228c]) by smtp.gmail.com with ESMTPSA id h8-20020a170906590800b009596e7e0dbasm4039592ejq.162.2023.06.05.02.52.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 02:52:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1685958765; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EXiIXtpt4ZHp6HRqfL2Ve/hGwW4tf6OUNnl3ecrHEGs=; b=IzByYDgJOC8Q9TWmFZwLN7tromFKoiNZL64jOts6ubo0jW5xqlxpLftcWc++L6Yj/Lqn1y 7AP4OlMBfN0fapBk7A5JhwxkFoRQfG1TyBo1d7CH2uz7Z12i01D2QPYPVCt6WrImaVA+9Q I0SwjRmajYBxJA7JB3FPXL4gMCY9NBU= X-MC-Unique: -iRSwsigNf6kdihu3KP7AA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685958762; x=1688550762; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EXiIXtpt4ZHp6HRqfL2Ve/hGwW4tf6OUNnl3ecrHEGs=; b=kktmGadsIzMI9SvuWJcfgOzsEe8ffdhiibIWtz/VZP0ww8w7Zfeqa1JO8KDXM+wWN3 RzyCSvVfU+e0wdojesGjEdPXlSm5K6oD51lv+HtWyVLaHwcvcNzItThRMfbLIsIeGXrH 2kj1pV4f5cZCOhkBAc4hHEXMO0by4mQTz/dy6IoTtlyr4llmPK0mE66UZNdJej7UvTce DksAdxr/jQuLFMpyyiJadqn2fezjf4f2BDoAXJXsoY6c7rBuU7fOaEm62TRQpsGYORtk lWQ4nBECl03/AC03suvZWRErThsyy9NoGHM1pN3kb/B2mELUEirLKeqO4RK7sL2e+WlL ZbVw== X-Gm-Message-State: AC+VfDyKfI6i/QPVkQIuOeoxlP3yMc8TeE8y2c3apZZIOtzOW7qe1MfA qm3CiurtTeXbQmQ3RQRFBgdfKJO3l0qhJQ9COPTSLo4Zg0+q2McE7hrgRIYay7ElY9T9zUYCLNA hZpF311n+O8aC6ZidItOnHO8q3UPwqPM8A+wZ/AD92kjyZ8KX+f16vmEYJaJ+Fx3BsZAcAj/g50 o= X-Received: by 2002:a17:906:6a21:b0:977:c8a7:bed5 with SMTP id qw33-20020a1709066a2100b00977c8a7bed5mr4975504ejc.47.1685958761893; Mon, 05 Jun 2023 02:52:41 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6sZHOa837upK7WOwO6BON3YxlHLqjTw4KyfC9DiwlYgZ+sr8TuFupMy45KbF/m+k5072IawQ== X-Received: by 2002:a17:906:6a21:b0:977:c8a7:bed5 with SMTP id qw33-20020a1709066a2100b00977c8a7bed5mr4975492ejc.47.1685958761646; Mon, 05 Jun 2023 02:52:41 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: thuth@redhat.com, berrange@redhat.com Subject: [PATCH 10/10] configure: remove --with-git-submodules= Date: Mon, 5 Jun 2023 11:52:23 +0200 Message-Id: <20230605095223.107653-11-pbonzini@redhat.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605095223.107653-1-pbonzini@redhat.com> References: <20230605095223.107653-1-pbonzini@redhat.com> MIME-Version: 1.0 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1685958852014100003 Content-Type: text/plain; charset="utf-8" Reuse --enable/--disable-download to control git submodules as well. Adjust the error messages of git-submodule.sh to refer to the new option. Signed-off-by: Paolo Bonzini Reviewed-by: Daniel P. Berrang=C3=A9 --- configure | 40 +++++-------------- .../ci/org.centos/stream/8/x86_64/configure | 1 - scripts/git-submodule.sh | 8 ++-- 3 files changed, 12 insertions(+), 37 deletions(-) diff --git a/configure b/configure index bc0660f5a32..8765b88e12f 100755 --- a/configure +++ b/configure @@ -246,13 +246,7 @@ for opt do done =20 =20 -if test -e "$source_path/.git" -then - git_submodules_action=3D"update" -else - git_submodules_action=3D"ignore" -fi - +git_submodules_action=3D"update" git=3D"git" debug_tcg=3D"no" docs=3D"auto" @@ -738,12 +732,9 @@ for opt do ;; --disable-cfi) cfi=3D"false" ;; - --with-git-submodules=3D*) - git_submodules_action=3D"$optarg" + --disable-download) download=3D"disabled"; git_submodules_action=3Dvalid= ate; ;; - --disable-download) download=3D"disabled" - ;; - --enable-download) download=3D"enabled" + --enable-download) download=3D"enabled"; git_submodules_action=3Dupdate; ;; --enable-plugins) if test "$mingw32" =3D "yes"; then error_exit "TCG plugins not currently supported on= Windows platforms" @@ -765,6 +756,11 @@ for opt do esac done =20 +if ! test -e "$source_path/.git" +then + git_submodules_action=3D"ignore" +fi + # test for any invalid configuration combinations if test "$plugins" =3D "yes" -a "$tcg" =3D "disabled"; then error_exit "Can't enable plugins on non-TCG builds" @@ -796,21 +792,6 @@ then exit 1 fi =20 -case $git_submodules_action in - update|validate) - if test ! -e "$source_path/.git" || ! has git; then - echo "ERROR: cannot $git_submodules_action git submodules with= out .git" - exit 1 - fi - ;; - ignore) - ;; - *) - echo "ERROR: invalid --with-git-submodules=3D value '$git_submodul= es_action'" - exit 1 - ;; -esac - default_target_list=3D"" mak_wilds=3D"" =20 @@ -877,9 +858,6 @@ Advanced options (experts only): --python=3DPYTHON use specified python [$python] --ninja=3DNINJA use specified ninja [$ninja] --smbd=3DSMBD use specified smbd [$smbd] - --with-git-submodules=3Dupdate update git submodules (default if .git = dir exists) - --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] --bindir=3DPATH install binaries in PATH --with-suffix=3DSUFFIX suffix for QEMU data inside datadir/libdir/sy= sconfdir/docdir [$qemu_suffix] @@ -1024,7 +1002,7 @@ 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 "$git_submodules_action" !=3D "ignore" && \ + if test -e "$source_path/.git" && \ { test "$linux" =3D "yes" || test "$mingw32" =3D "yes"; }; then werror=3D"yes" else diff --git a/scripts/ci/org.centos/stream/8/x86_64/configure b/scripts/ci/o= rg.centos/stream/8/x86_64/configure index de76510978f..d02b09a4b9b 100755 --- a/scripts/ci/org.centos/stream/8/x86_64/configure +++ b/scripts/ci/org.centos/stream/8/x86_64/configure @@ -29,7 +29,6 @@ --extra-cflags=3D"-O2 -g -pipe -Wall -Werror=3Dformat-security -Wp,-D_FORT= IFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-str= ong -grecord-gcc-switches -specs=3D/usr/lib/rpm/redhat/redhat-hardened-cc1 = -specs=3D/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=3Dgeneric -fasy= nchronous-unwind-tables -fstack-clash-protection -fcf-protection" \ --with-suffix=3D"qemu-kvm" \ --firmwarepath=3D/usr/share/qemu-firmware \ ---with-git-submodules=3Dupdate \ --target-list=3D"x86_64-softmmu" \ --block-drv-rw-whitelist=3D"qcow2,raw,file,host_device,nbd,iscsi,rbd,blkde= bug,luks,null-co,nvme,copy-on-read,throttle,gluster" \ --audio-drv-list=3D"" \ diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh index 38b55c90e11..11fad2137cd 100755 --- a/scripts/git-submodule.sh +++ b/scripts/git-submodule.sh @@ -9,7 +9,7 @@ command=3D$1 shift maybe_modules=3D"$@" =20 -# if --with-git-submodules=3Dignore, do nothing +# if not running in a git checkout, do nothing test "$command" =3D "ignore" && exit 0 =20 test -z "$GIT" && GIT=3D$(command -v git) @@ -24,7 +24,7 @@ update_error() { echo "enable use of a transparent proxy), please disable automatic" echo "GIT submodule checkout with:" echo - echo " $ ./configure --with-git-submodules=3Dvalidate" + echo " $ ./configure --disable-download" echo echo "and then manually update submodules prior to running make, with:" echo @@ -39,9 +39,7 @@ validate_error() { echo "configured for validate only. Please run" echo " scripts/git-submodule.sh update $maybe_modules" echo "from the source directory or call configure with" - echo " --with-git-submodules=3Dupdate" - echo "To disable GIT submodules validation, use" - echo " --with-git-submodules=3Dignore" + echo " --enable-download" fi exit 1 } --=20 2.40.1