From nobody Mon Feb 9 00:43:16 2026 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=1599481102; cv=none; d=zohomail.com; s=zohoarc; b=E+Ac6nOeSbkqYEIX/aI3fqlWNd8eU7O3WbhugvA7VyfUu9iAFOl5eSNR/gx37gWOGXWryYA2HtHDDaSEZaCNvwVfXHmHizQnN4WXf2T0xDE5VSwvBtFgbyuLL70pEF4830dv9K7fhYTnYTgmGs6g8mE6ZRtfVC0nG0qNTdIbi7c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1599481102; 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=oVs3jEQVMpxHjQaVcw0d5wtkBSNPsFa3uu5iv4I8tHM=; b=NL0cV98xXyk97nJHHiyYYI7q0fIHt/EUVDSBJQ+1aiLiIA1r/QiQai22/hCmq4jnPd+GOgRPWSBZfDQSAiXNzCvp9KeEvxa5ua9j3/7cOGQABdMUbpfKmLLdKXwdtTAkwLskzOS1euDN2zNY8K3GxBT3IhxEsaYUSkTUSvBbl8g= 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) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1599481102393239.97811723033578; Mon, 7 Sep 2020 05:18:22 -0700 (PDT) Received: from localhost ([::1]:36258 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFG6G-0006DZ-W6 for importer@patchew.org; Mon, 07 Sep 2020 08:18:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45412) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFG00-0004Iw-6Y for qemu-devel@nongnu.org; Mon, 07 Sep 2020 08:11:52 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:58468 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kFFzy-0007wl-5B for qemu-devel@nongnu.org; Mon, 07 Sep 2020 08:11:51 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-18-iRjFqzZ-MH2P6JNnFGLhpw-1; Mon, 07 Sep 2020 08:11:47 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5AC0F640C3; Mon, 7 Sep 2020 12:11:46 +0000 (UTC) Received: from thuth.com (ovpn-112-193.ams2.redhat.com [10.36.112.193]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4A3C95C1BB; Mon, 7 Sep 2020 12:11:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1599480709; 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=oVs3jEQVMpxHjQaVcw0d5wtkBSNPsFa3uu5iv4I8tHM=; b=F/568LfOM8ernVxSUVMkO9L0oom9VuY2WYaFntLQu5YteTgLT/TH5zJBmQ/OUJYuaA0nN/ S/06bxfVo3R4v93w9pN6j7PuYOUTEaOAvXA/qB3F0CfmhtWEJT+wY0MAcv+8QRUN1e3iMo shqV7Yki2lAzH4NrUHZzq6fqE56MPGs= X-MC-Unique: iRjFqzZ-MH2P6JNnFGLhpw-1 From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell Subject: [PULL 11/14] crypto: fix build with gcrypt enabled Date: Mon, 7 Sep 2020 14:11:24 +0200 Message-Id: <20200907121127.136243-12-thuth@redhat.com> In-Reply-To: <20200907121127.136243-1-thuth@redhat.com> References: <20200907121127.136243-1-thuth@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0.002 X-Mimecast-Originator: redhat.com 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=205.139.110.61; envelope-from=thuth@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/07 03:05:01 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yonggang Luo Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) From: Daniel P. Berrang=C3=A9 If nettle is disabled and gcrypt enabled, the compiler and linker flags needed for gcrypt are not passed. Gnutls was also not added as a dependancy when gcrypt is enabled. Attempting to add the library dependencies at the same time as the source dependencies is error prone, as there are alot of different rules for picking which sources to use, and some of the source files use code level conditionals intead. It is thus clearer to add the library dependencies separately. Signed-off-by: Daniel P. Berrang=C3=A9 Message-Id: <20200901133050.381844-2-berrange@redhat.com> Reviewed-by: Alex Benn=C3=A9e Tested-by: Alex Benn=C3=A9e Tested-by: Richard Henderson Reviewed-by: Richard Henderson Signed-off-by: Thomas Huth --- configure | 2 ++ crypto/meson.build | 42 +++++++++++++++++++++++++++++++----------- meson.build | 5 +++++ 3 files changed, 38 insertions(+), 11 deletions(-) diff --git a/configure b/configure index 086c6d3197..166193cef9 100755 --- a/configure +++ b/configure @@ -6963,6 +6963,8 @@ if test "$gcrypt" =3D "yes" ; then if test "$gcrypt_hmac" =3D "yes" ; then echo "CONFIG_GCRYPT_HMAC=3Dy" >> $config_host_mak fi + echo "GCRYPT_CFLAGS=3D$gcrypt_cflags" >> $config_host_mak + echo "GCRYPT_LIBS=3D$gcrypt_libs" >> $config_host_mak fi if test "$nettle" =3D "yes" ; then echo "CONFIG_NETTLE=3Dy" >> $config_host_mak diff --git a/crypto/meson.build b/crypto/meson.build index 18da7c8541..f6f5ce1ecd 100644 --- a/crypto/meson.build +++ b/crypto/meson.build @@ -23,24 +23,35 @@ crypto_ss.add(files( 'tlssession.c', )) =20 -if 'CONFIG_GCRYPT' in config_host - wo_nettle =3D files('hash-gcrypt.c', 'pbkdf-gcrypt.c') +if 'CONFIG_NETTLE' in config_host + crypto_ss.add(files('hash-nettle.c', 'hmac-nettle.c', 'pbkdf-nettle.c')) +elif 'CONFIG_GCRYPT' in config_host + crypto_ss.add(files('hash-gcrypt.c', 'pbkdf-gcrypt.c')) + if 'CONFIG_GCRYPT_HMAC' in config_host + crypto_ss.add(files('hmac-gcrypt.c')) + else + crypto_ss.add(files('hmac-glib.c')) + endif else - wo_nettle =3D files('hash-glib.c', 'pbkdf-stub.c') -endif -if 'CONFIG_GCRYPT_HMAC' not in config_host - wo_nettle +=3D files('hmac-glib.c') + crypto_ss.add(files('hash-glib.c', 'hmac-glib.c', 'pbkdf-stub.c')) endif -crypto_ss.add(when: [nettle, 'CONFIG_NETTLE'], - if_true: files('hash-nettle.c', 'hmac-nettle.c', 'pbkdf-nettl= e.c'), - if_false: wo_nettle) =20 crypto_ss.add(when: 'CONFIG_SECRET_KEYRING', if_true: files('secret_keyrin= g.c')) crypto_ss.add(when: 'CONFIG_QEMU_PRIVATE_XTS', if_true: files('xts.c')) -crypto_ss.add(when: 'CONFIG_GCRYPT_HMAC', if_true: files('hmac-gcrypt.c')) crypto_ss.add(when: 'CONFIG_AF_ALG', if_true: files('afalg.c', 'cipher-afa= lg.c', 'hash-afalg.c')) crypto_ss.add(when: 'CONFIG_GNUTLS', if_true: files('tls-cipher-suites.c')) =20 +if 'CONFIG_NETTLE' in config_host + crypto_ss.add(nettle) +elif 'CONFIG_GCRYPT' in config_host + crypto_ss.add(gcrypt) +endif + +if 'CONFIG_GNUTLS' in config_host + crypto_ss.add(gnutls) +endif + + crypto_ss =3D crypto_ss.apply(config_host, strict: false) libcrypto =3D static_library('crypto', crypto_ss.sources() + genh, dependencies: [crypto_ss.dependencies()], @@ -52,12 +63,21 @@ crypto =3D declare_dependency(link_whole: libcrypto, =20 util_ss.add(files('aes.c')) util_ss.add(files('init.c')) + if 'CONFIG_GCRYPT' in config_host util_ss.add(files('random-gcrypt.c')) elif 'CONFIG_GNUTLS' in config_host - util_ss.add(files('random-gnutls.c'), gnutls) + util_ss.add(files('random-gnutls.c')) elif 'CONFIG_RNG_NONE' in config_host util_ss.add(files('random-none.c')) else util_ss.add(files('random-platform.c')) endif + +if 'CONFIG_GCRYPT' in config_host + util_ss.add(gcrypt) +endif + +if 'CONFIG_GNUTLS' in config_host + util_ss.add(gnutls) +endif diff --git a/meson.build b/meson.build index 5aaa364730..04e070bb3b 100644 --- a/meson.build +++ b/meson.build @@ -116,6 +116,11 @@ urcubp =3D not_found if 'CONFIG_TRACE_UST' in config_host urcubp =3D declare_dependency(link_args: config_host['URCU_BP_LIBS'].spl= it()) endif +gcrypt =3D not_found +if 'CONFIG_GCRYPT' in config_host + gcrypt =3D declare_dependency(compile_args: config_host['GCRYPT_CFLAGS']= .split(), + link_args: config_host['GCRYPT_LIBS'].split(= )) +endif nettle =3D not_found if 'CONFIG_NETTLE' in config_host nettle =3D declare_dependency(compile_args: config_host['NETTLE_CFLAGS']= .split(), --=20 2.18.2