aboutsummaryrefslogtreecommitdiff
path: root/m4/libgcrypt.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/libgcrypt.m4')
-rw-r--r--m4/libgcrypt.m450
1 files changed, 37 insertions, 13 deletions
diff --git a/m4/libgcrypt.m4 b/m4/libgcrypt.m4
index dd167f81..19d514fd 100644
--- a/m4/libgcrypt.m4
+++ b/m4/libgcrypt.m4
@@ -1,5 +1,5 @@
1# libgcrypt.m4 - Autoconf macros to detect libgcrypt 1# libgcrypt.m4 - Autoconf macros to detect libgcrypt
2# Copyright (C) 2002, 2003, 2004, 2011, 2014 g10 Code GmbH 2# Copyright (C) 2002, 2003, 2004, 2011, 2014, 2018, 2020 g10 Code GmbH
3# 3#
4# This file is free software; as a special exception the author gives 4# This file is free software; as a special exception the author gives
5# unlimited permission to copy and/or distribute it, with or without 5# unlimited permission to copy and/or distribute it, with or without
@@ -9,7 +9,7 @@
9# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the 9# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
10# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 10# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11# 11#
12# Last-changed: 2014-10-02 12# Last-changed: 2020-09-27
13 13
14 14
15dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, 15dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
@@ -19,7 +19,7 @@ dnl MINIMUM-VERSION is a string with the version number optionally prefixed
19dnl with the API version to also check the API compatibility. Example: 19dnl with the API version to also check the API compatibility. Example:
20dnl a MINIMUM-VERSION of 1:1.2.5 won't pass the test unless the installed 20dnl a MINIMUM-VERSION of 1:1.2.5 won't pass the test unless the installed
21dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using 21dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
22dnl this feature prevents building against newer versions of libgcrypt 22dnl this features allows to prevent build against newer versions of libgcrypt
23dnl with a changed API. 23dnl with a changed API.
24dnl 24dnl
25dnl If a prefix option is not used, the config script is first 25dnl If a prefix option is not used, the config script is first
@@ -30,14 +30,26 @@ dnl
30AC_DEFUN([AM_PATH_LIBGCRYPT], 30AC_DEFUN([AM_PATH_LIBGCRYPT],
31[ AC_REQUIRE([AC_CANONICAL_HOST]) 31[ AC_REQUIRE([AC_CANONICAL_HOST])
32 AC_ARG_WITH(libgcrypt-prefix, 32 AC_ARG_WITH(libgcrypt-prefix,
33 AC_HELP_STRING([--with-libgcrypt-prefix=PFX], 33 AS_HELP_STRING([--with-libgcrypt-prefix=PFX],
34 [prefix where LIBGCRYPT is installed (optional)]), 34 [prefix where LIBGCRYPT is installed (optional)]),
35 libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") 35 libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
36 if test x"${LIBGCRYPT_CONFIG}" = x ; then 36 if test x"${LIBGCRYPT_CONFIG}" = x ; then
37 if test x"${libgcrypt_config_prefix}" != x ; then 37 if test x"${libgcrypt_config_prefix}" != x ; then
38 LIBGCRYPT_CONFIG="${libgcrypt_config_prefix}/bin/libgcrypt-config" 38 LIBGCRYPT_CONFIG="${libgcrypt_config_prefix}/bin/libgcrypt-config"
39 else 39 fi
40 case "${SYSROOT}" in 40 fi
41
42 use_gpgrt_config=""
43 if test x"${LIBGCRYPT_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
44 if $GPGRT_CONFIG libgcrypt --exists; then
45 LIBGCRYPT_CONFIG="$GPGRT_CONFIG libgcrypt"
46 AC_MSG_NOTICE([Use gpgrt-config as libgcrypt-config])
47 use_gpgrt_config=yes
48 fi
49 fi
50 if test -z "$use_gpgrt_config"; then
51 if test x"${LIBGCRYPT_CONFIG}" = x ; then
52 case "${SYSROOT}" in
41 /*) 53 /*)
42 if test -x "${SYSROOT}/bin/libgcrypt-config" ; then 54 if test -x "${SYSROOT}/bin/libgcrypt-config" ; then
43 LIBGCRYPT_CONFIG="${SYSROOT}/bin/libgcrypt-config" 55 LIBGCRYPT_CONFIG="${SYSROOT}/bin/libgcrypt-config"
@@ -48,11 +60,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
48 *) 60 *)
49 AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) 61 AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.])
50 ;; 62 ;;
51 esac 63 esac
52 fi 64 fi
65 AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
53 fi 66 fi
54 67
55 AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
56 tmp=ifelse([$1], ,1:1.2.0,$1) 68 tmp=ifelse([$1], ,1:1.2.0,$1)
57 if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then 69 if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
58 req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` 70 req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
@@ -71,7 +83,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
71 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` 83 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
72 req_micro=`echo $min_libgcrypt_version | \ 84 req_micro=`echo $min_libgcrypt_version | \
73 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` 85 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
74 libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` 86 if test -z "$use_gpgrt_config"; then
87 libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
88 else
89 libgcrypt_config_version=`$LIBGCRYPT_CONFIG --modversion`
90 fi
75 major=`echo $libgcrypt_config_version | \ 91 major=`echo $libgcrypt_config_version | \
76 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` 92 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
77 minor=`echo $libgcrypt_config_version | \ 93 minor=`echo $libgcrypt_config_version | \
@@ -103,7 +119,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
103 # If we have a recent libgcrypt, we should also check that the 119 # If we have a recent libgcrypt, we should also check that the
104 # API is compatible 120 # API is compatible
105 if test "$req_libgcrypt_api" -gt 0 ; then 121 if test "$req_libgcrypt_api" -gt 0 ; then
106 tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` 122 if test -z "$use_gpgrt_config"; then
123 tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
124 else
125 tmp=`$LIBGCRYPT_CONFIG --variable=api_version 2>/dev/null || echo 0`
126 fi
107 if test "$tmp" -gt 0 ; then 127 if test "$tmp" -gt 0 ; then
108 AC_MSG_CHECKING([LIBGCRYPT API version]) 128 AC_MSG_CHECKING([LIBGCRYPT API version])
109 if test "$req_libgcrypt_api" -eq "$tmp" ; then 129 if test "$req_libgcrypt_api" -eq "$tmp" ; then
@@ -119,12 +139,16 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
119 LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` 139 LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
120 LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` 140 LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
121 ifelse([$2], , :, [$2]) 141 ifelse([$2], , :, [$2])
122 libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` 142 if test -z "$use_gpgrt_config"; then
143 libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
144 else
145 libgcrypt_config_host=`$LIBGCRYPT_CONFIG --variable=host 2>/dev/null || echo none`
146 fi
123 if test x"$libgcrypt_config_host" != xnone ; then 147 if test x"$libgcrypt_config_host" != xnone ; then
124 if test x"$libgcrypt_config_host" != x"$host" ; then 148 if test x"$libgcrypt_config_host" != x"$host" ; then
125 AC_MSG_WARN([[ 149 AC_MSG_WARN([[
126*** 150***
127*** The config script $LIBGCRYPT_CONFIG was 151*** The config script "$LIBGCRYPT_CONFIG" was
128*** built for $libgcrypt_config_host and thus may not match the 152*** built for $libgcrypt_config_host and thus may not match the
129*** used host $host. 153*** used host $host.
130*** You may want to use the configure option --with-libgcrypt-prefix 154*** You may want to use the configure option --with-libgcrypt-prefix