| From c207607cdf3996ad9783c3bffbcd3d65e74c0158 Mon Sep 17 00:00:00 2001 |
| From: He Zhe <zhe.he@windriver.com> |
| Date: Wed, 28 Aug 2019 19:56:28 +0800 |
| Subject: [PATCH] configure: Add pkg-config handling for libgcrypt |
| |
| libgcrypt may also be controlled by pkg-config, this patch adds pkg-config |
| handling for libgcrypt. |
| |
| Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html] |
| |
| Signed-off-by: He Zhe <zhe.he@windriver.com> |
| |
| --- |
| configure | 48 ++++++++++++++++++++++++++++++++++++++++-------- |
| 1 file changed, 40 insertions(+), 8 deletions(-) |
| |
| Index: qemu-5.2.0/configure |
| =================================================================== |
| --- qemu-5.2.0.orig/configure |
| +++ qemu-5.2.0/configure |
| @@ -2956,6 +2956,30 @@ has_libgcrypt() { |
| return 0 |
| } |
| |
| +has_libgcrypt_pkgconfig() { |
| + if ! has $pkg_config ; then |
| + return 1 |
| + fi |
| + |
| + if ! $pkg_config --list-all | grep libgcrypt > /dev/null 2>&1 ; then |
| + return 1 |
| + fi |
| + |
| + if test -n "$cross_prefix" ; then |
| + host=$($pkg_config --variable=host libgcrypt) |
| + if test "${host%-gnu}-" != "${cross_prefix%-gnu}" ; then |
| + print_error "host($host) does not match cross_prefix($cross_prefix)" |
| + return 1 |
| + fi |
| + fi |
| + |
| + if ! $pkg_config --atleast-version=1.5.0 libgcrypt ; then |
| + print_error "libgcrypt version is $($pkg_config --modversion libgcrypt)" |
| + return 1 |
| + fi |
| + |
| + return 0 |
| +} |
| |
| if test "$nettle" != "no"; then |
| pass="no" |
| @@ -2994,7 +3018,14 @@ fi |
| |
| if test "$gcrypt" != "no"; then |
| pass="no" |
| - if has_libgcrypt; then |
| + if has_libgcrypt_pkgconfig; then |
| + gcrypt_cflags=$($pkg_config --cflags libgcrypt) |
| + if test "$static" = "yes" ; then |
| + gcrypt_libs=$($pkg_config --libs --static libgcrypt) |
| + else |
| + gcrypt_libs=$($pkg_config --libs libgcrypt) |
| + fi |
| + elif has_libgcrypt; then |
| gcrypt_cflags=$(libgcrypt-config --cflags) |
| gcrypt_libs=$(libgcrypt-config --libs) |
| # Debian has removed -lgpg-error from libgcrypt-config |
| @@ -3004,12 +3035,12 @@ if test "$gcrypt" != "no"; then |
| then |
| gcrypt_libs="$gcrypt_libs -lgpg-error" |
| fi |
| + fi |
| |
| - # Link test to make sure the given libraries work (e.g for static). |
| - write_c_skeleton |
| - if compile_prog "" "$gcrypt_libs" ; then |
| + # Link test to make sure the given libraries work (e.g for static). |
| + write_c_skeleton |
| + if compile_prog "" "$gcrypt_libs" ; then |
| pass="yes" |
| - fi |
| fi |
| if test "$pass" = "yes"; then |
| gcrypt="yes" |