From 5214dd4461f2090ef0965b4d2518f49927d61cbc Mon Sep 17 00:00:00 2001 From: He Zhe Date: Wed, 28 Aug 2019 19:56:28 +0800 Subject: [Qemu-devel] [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 --- configure | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/configure b/configure index e44e454..0f362a7 100755 --- a/configure +++ b/configure @@ -2875,6 +2875,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" @@ -2902,7 +2926,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 @@ -2912,15 +2943,16 @@ 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 - LIBS="$gcrypt_libs $LIBS" - QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags" - pass="yes" - fi + # Link test to make sure the given libraries work (e.g for static). + write_c_skeleton + if compile_prog "" "$gcrypt_libs" ; then + LIBS="$gcrypt_libs $LIBS" + QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags" + pass="yes" fi + if test "$pass" = "yes"; then gcrypt="yes" cat > $TMPC << EOF -- 2.7.4