blob: d41c3de3b6e7340de8ce354bd1681dbcbe5a2ba0 [file] [log] [blame]
From 72b9e9040d58c15f0302bd8abda28179f04e1c5f Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 16 Aug 2017 10:43:18 +0800
Subject: [PATCH 1/4] Add and use pkg-config for libgcrypt instead of -config
scripts.
Upstream-Status: Denied [upstream have indicated they don't want a
pkg-config dependency]
RP 2014/5/22
Rebase to 1.8.0
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 1 +
src/libgcrypt.m4 | 71 +++--------------------------------------------------
src/libgcrypt.pc.in | 33 +++++++++++++++++++++++++
3 files changed, 38 insertions(+), 67 deletions(-)
create mode 100644 src/libgcrypt.pc.in
diff --git a/configure.ac b/configure.ac
index bbe8104..3d2de73 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2607,6 +2607,7 @@ random/Makefile
doc/Makefile
src/Makefile
src/gcrypt.h
+src/libgcrypt.pc
src/libgcrypt-config
src/versioninfo.rc
tests/Makefile
diff --git a/src/libgcrypt.m4 b/src/libgcrypt.m4
index c67cfec..4ea5f2c 100644
--- a/src/libgcrypt.m4
+++ b/src/libgcrypt.m4
@@ -29,30 +29,6 @@ dnl is added to the gpg_config_script_warn variable.
dnl
AC_DEFUN([AM_PATH_LIBGCRYPT],
[ AC_REQUIRE([AC_CANONICAL_HOST])
- AC_ARG_WITH(libgcrypt-prefix,
- AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
- [prefix where LIBGCRYPT is installed (optional)]),
- libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
- if test x"${LIBGCRYPT_CONFIG}" = x ; then
- if test x"${libgcrypt_config_prefix}" != x ; then
- LIBGCRYPT_CONFIG="${libgcrypt_config_prefix}/bin/libgcrypt-config"
- else
- case "${SYSROOT}" in
- /*)
- if test -x "${SYSROOT}/bin/libgcrypt-config" ; then
- LIBGCRYPT_CONFIG="${SYSROOT}/bin/libgcrypt-config"
- fi
- ;;
- '')
- ;;
- *)
- AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.])
- ;;
- esac
- fi
- fi
-
- AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
tmp=ifelse([$1], ,1:1.2.0,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
@@ -62,48 +38,13 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
min_libgcrypt_version="$tmp"
fi
- AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
- ok=no
- if test "$LIBGCRYPT_CONFIG" != "no" ; then
- req_major=`echo $min_libgcrypt_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
- req_minor=`echo $min_libgcrypt_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
- req_micro=`echo $min_libgcrypt_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
- libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
- major=`echo $libgcrypt_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
- minor=`echo $libgcrypt_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
- micro=`echo $libgcrypt_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
- if test "$major" -gt "$req_major"; then
- ok=yes
- else
- if test "$major" -eq "$req_major"; then
- if test "$minor" -gt "$req_minor"; then
- ok=yes
- else
- if test "$minor" -eq "$req_minor"; then
- if test "$micro" -ge "$req_micro"; then
- ok=yes
- fi
- fi
- fi
- fi
- fi
- fi
- if test $ok = yes; then
- AC_MSG_RESULT([yes ($libgcrypt_config_version)])
- else
- AC_MSG_RESULT(no)
- fi
+ PKG_CHECK_MODULES(LIBGCRYPT, [libgcrypt >= $min_libgcrypt_version], [ok=yes], [ok=no])
+
if test $ok = yes; then
# If we have a recent libgcrypt, we should also check that the
# API is compatible
if test "$req_libgcrypt_api" -gt 0 ; then
- tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
+ tmp=`$PKG_CONFIG --variable=api_version libgcrypt`
if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([LIBGCRYPT API version])
if test "$req_libgcrypt_api" -eq "$tmp" ; then
@@ -116,10 +57,8 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
fi
fi
if test $ok = yes; then
- LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
- LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
ifelse([$2], , :, [$2])
- libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
+ libgcrypt_config_host=`$PKG_CONFIG --variable=host libgcrypt`
if test x"$libgcrypt_config_host" != xnone ; then
if test x"$libgcrypt_config_host" != x"$host" ; then
AC_MSG_WARN([[
@@ -134,8 +73,6 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
fi
fi
else
- LIBGCRYPT_CFLAGS=""
- LIBGCRYPT_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(LIBGCRYPT_CFLAGS)
diff --git a/src/libgcrypt.pc.in b/src/libgcrypt.pc.in
new file mode 100644
index 0000000..2fc8f53
--- /dev/null
+++ b/src/libgcrypt.pc.in
@@ -0,0 +1,33 @@
+# Process this file with autoconf to produce a pkg-config metadata file.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation
+# Author: Simon Josefsson
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This file is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+# API info
+api_version=@LIBGCRYPT_CONFIG_API_VERSION@
+host=@LIBGCRYPT_CONFIG_HOST@
+
+# Misc information.
+symmetric_ciphers=@LIBGCRYPT_CIPHERS@
+asymmetric_ciphers=@LIBGCRYPT_PUBKEY_CIPHERS@
+digests=@LIBGCRYPT_DIGESTS@
+
+Name: libgcrypt
+Description: GNU crypto library
+URL: http://www.gnupg.org
+Version: @VERSION@
+Libs: -L${libdir} -lgcrypt
+Libs.private: -L${libdir} -lgpg-error
+Cflags: -I${includedir}
--
1.8.3.1