m4: Update our library m4 files from master

* m4/gpg-error.m4: Updated
* m4/ksba.m4: Updated
* m4/libassuan.m4: Updated
* m4/libgcrypt.m4: Updated
* m4/npth.m4: Updated
* m4/ntbtls.m4: Updated
--

This better fits with the new gpgrt-config system
This commit is contained in:
Werner Koch 2022-02-04 18:30:19 +01:00
parent 137590fd86
commit c8cd66ae7e
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
6 changed files with 353 additions and 162 deletions

View File

@ -1,5 +1,6 @@
# gpg-error.m4 - autoconf macro to detect libgpg-error. # gpg-error.m4 - autoconf macro to detect libgpg-error.
# Copyright (C) 2002, 2003, 2004, 2011, 2014 g10 Code GmbH # Copyright (C) 2002, 2003, 2004, 2011, 2014, 2018, 2020, 2021
# g10 Code GmbH
# #
# This file is free software; as a special exception the author gives # This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without # unlimited permission to copy and/or distribute it, with or without
@ -9,7 +10,7 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# #
# Last-changed: 2014-10-02 # Last-changed: 2021-03-31
dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION, dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION,
@ -31,7 +32,7 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
dnl since that is consistent with how our three siblings use the directory/ dnl since that is consistent with how our three siblings use the directory/
dnl package name in --with-$dir_name-prefix=PFX. dnl package name in --with-$dir_name-prefix=PFX.
AC_ARG_WITH(libgpg-error-prefix, AC_ARG_WITH(libgpg-error-prefix,
AC_HELP_STRING([--with-libgpg-error-prefix=PFX], AS_HELP_STRING([--with-libgpg-error-prefix=PFX],
[prefix where GPG Error is installed (optional)]), [prefix where GPG Error is installed (optional)]),
[gpg_error_config_prefix="$withval"]) [gpg_error_config_prefix="$withval"])
@ -61,16 +62,89 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
fi fi
AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
min_gpg_error_version=ifelse([$1], ,0.0,$1) min_gpg_error_version=ifelse([$1], ,1.33,$1)
AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
ok=no ok=no
if test "$GPG_ERROR_CONFIG" != "no" \
&& test -f "$GPG_ERROR_CONFIG" ; then AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no, [$prefix/bin:$PATH])
if test "$GPGRT_CONFIG" != "no"; then
# Determine gpgrt_libdir
#
# Get the prefix of gpgrt-config assuming it's something like:
# <PREFIX>/bin/gpgrt-config
gpgrt_prefix=${GPGRT_CONFIG%/*/*}
possible_libdir1=${gpgrt_prefix}/lib
# Determine by using system libdir-format with CC, it's like:
# Normal style: /usr/lib
# GNU cross style: /usr/<triplet>/lib
# Debian style: /usr/lib/<multiarch-name>
# Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64
# It is assumed that CC is specified to the one of host on cross build.
if libdir_candidates=$(${CC:-cc} -print-search-dirs | \
sed -n -e "/^libraries/{s/libraries: =//;s/:/\\
/g;p;}"); then
# From the output of -print-search-dirs, select valid pkgconfig dirs.
libdir_candidates=$(for dir in $libdir_candidates; do
if p=$(cd $dir 2>/dev/null && pwd); then
test -d "$p/pkgconfig" && echo $p;
fi
done)
for possible_libdir0 in $libdir_candidates; do
# possible_libdir0:
# Fallback candidate, the one of system-installed (by $CC)
# (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32)
# possible_libdir1:
# Another candidate, user-locally-installed
# (<gpgrt_prefix>/lib)
# possible_libdir2
# Most preferred
# (<gpgrt_prefix>/<triplet>/lib,
# <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32)
if test "${possible_libdir0##*/}" = "lib"; then
possible_prefix0=${possible_libdir0%/lib}
possible_prefix0_triplet=${possible_prefix0##*/}
if test -z "$possible_prefix0_triplet"; then
continue
fi
possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib
else
possible_prefix0=${possible_libdir0%%/lib*}
possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0}
fi
if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then
gpgrt_libdir=${possible_libdir2}
elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then
gpgrt_libdir=${possible_libdir1}
elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then
gpgrt_libdir=${possible_libdir0}
fi
if test -n "$gpgrt_libdir"; then break; fi
done
else
# When we cannot determine system libdir-format, use this:
gpgrt_libdir=${possible_libdir1}
fi
else
unset GPGRT_CONFIG
fi
if test -n "$gpgrt_libdir"; then
GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config])
gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion`
else
unset GPGRT_CONFIG
fi
elif test "$GPG_ERROR_CONFIG" != "no"; then
gpg_error_config_version=`$GPG_ERROR_CONFIG --version`
fi
if test "$GPG_ERROR_CONFIG" != "no"; then
req_major=`echo $min_gpg_error_version | \ req_major=`echo $min_gpg_error_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
req_minor=`echo $min_gpg_error_version | \ req_minor=`echo $min_gpg_error_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version`
major=`echo $gpg_error_config_version | \ major=`echo $gpg_error_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
minor=`echo $gpg_error_config_version | \ minor=`echo $gpg_error_config_version | \
@ -85,22 +159,34 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
fi fi
fi fi
fi fi
AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
if test $ok = yes; then if test $ok = yes; then
GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags` GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags`
GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs` GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs`
GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --cflags 2>/dev/null` if test -z "$GPGRT_CONFIG"; then
GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --libs 2>/dev/null` GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null`
GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null`
else
GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null`
GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS"
GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null`
GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS"
fi
AC_MSG_RESULT([yes ($gpg_error_config_version)]) AC_MSG_RESULT([yes ($gpg_error_config_version)])
ifelse([$2], , :, [$2]) ifelse([$2], , :, [$2])
gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none` if test -z "$GPGRT_CONFIG"; then
gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none`
else
gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none`
fi
if test x"$gpg_error_config_host" != xnone ; then if test x"$gpg_error_config_host" != xnone ; then
if test x"$gpg_error_config_host" != x"$host" ; then if test x"$gpg_error_config_host" != x"$host" ; then
AC_MSG_WARN([[ AC_MSG_WARN([[
*** ***
*** The config script $GPG_ERROR_CONFIG was *** The config script "$GPG_ERROR_CONFIG" was
*** built for $gpg_error_config_host and thus may not match the *** built for $gpg_error_config_host and thus may not match the
*** used host $host. *** used host $host.
*** You may want to use the configure option --with-gpg-error-prefix *** You may want to use the configure option --with-libgpg-error-prefix
*** to specify a matching config script or use \$SYSROOT. *** to specify a matching config script or use \$SYSROOT.
***]]) ***]])
gpg_config_script_warn="$gpg_config_script_warn libgpg-error" gpg_config_script_warn="$gpg_config_script_warn libgpg-error"

View File

@ -1,5 +1,5 @@
# ksba.m4 - autoconf macro to detect ksba # ksba.m4 - autoconf macro to detect ksba
# Copyright (C) 2002 g10 Code GmbH # Copyright (C) 2002, 2018 g10 Code GmbH
# #
# This file is free software; as a special exception the author gives # This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without # unlimited permission to copy and/or distribute it, with or without
@ -8,32 +8,53 @@
# This file is distributed in the hope that it will be useful, but # 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 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Last-changed: 2020-11-18
dnl AM_PATH_KSBA([MINIMUM-VERSION, dnl AM_PATH_KSBA([MINIMUM-VERSION,
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
dnl Test for libksba and define KSBA_CFLAGS and KSBA_LIBS dnl Test for libksba and define KSBA_CFLAGS and KSBA_LIBS
dnl MINIMUM-VERSION is a string with the version number optionalliy prefixed dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
dnl with the API version to also check the API compatibility. Example: dnl with the API version to also check the API compatibility. Example:
dnl a MINIMUM-VERSION of 1:1.0.7 won't pass the test unless the installed dnl a MINIMUN-VERSION of 1:1.0.7 won't pass the test unless the installed
dnl version of libksba is at least 1.0.7 *and* the API number is 1. Using dnl version of libksba is at least 1.0.7 *and* the API number is 1. Using
dnl this feature prevents building against newer versions of libksba dnl this features allows to prevent build against newer versions of libksba
dnl with a changed API. dnl with a changed API.
dnl dnl
AC_DEFUN([AM_PATH_KSBA], AC_DEFUN([AM_PATH_KSBA],
[AC_REQUIRE([AC_CANONICAL_HOST]) [ AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_WITH(ksba-prefix, dnl --with-libksba-prefix=PFX is the preferred name for this option,
AC_HELP_STRING([--with-ksba-prefix=PFX], dnl since that is consistent with how our three siblings use the directory/
[prefix where KSBA is installed (optional)]), dnl package name in --with-$dir_name-prefix=PFX.
AC_ARG_WITH(libksba-prefix,
AS_HELP_STRING([--with-libksba-prefix=PFX],
[prefix where KSBA is installed (optional)]),
ksba_config_prefix="$withval", ksba_config_prefix="") ksba_config_prefix="$withval", ksba_config_prefix="")
dnl Accept --with-ksba-prefix and make it work the same as
dnl --with-libksba-prefix above, for backwards compatibility,
dnl but do not document this old, inconsistently-named option.
AC_ARG_WITH(ksba-prefix,,
ksba_config_prefix="$withval", ksba_config_prefix="")
if test x$ksba_config_prefix != x ; then if test x$ksba_config_prefix != x ; then
ksba_config_args="$ksba_config_args --prefix=$ksba_config_prefix" if test x${KSBA_CONFIG+set} != xset ; then
if test x${KSBA_CONFIG+set} != xset ; then KSBA_CONFIG=$ksba_config_prefix/bin/ksba-config
KSBA_CONFIG=$ksba_config_prefix/bin/ksba-config fi
fi fi
use_gpgrt_config=""
if test x"$KSBA_CONFIG" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
if $GPGRT_CONFIG ksba --exists; then
KSBA_CONFIG="$GPGRT_CONFIG ksba"
AC_MSG_NOTICE([Use gpgrt-config as ksba-config])
use_gpgrt_config=yes
fi
fi
if test -z "$use_gpgrt_config"; then
AC_PATH_PROG(KSBA_CONFIG, ksba-config, no)
fi fi
AC_PATH_PROG(KSBA_CONFIG, ksba-config, no)
tmp=ifelse([$1], ,1:1.0.0,$1) tmp=ifelse([$1], ,1:1.0.0,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
req_ksba_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` req_ksba_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
@ -52,7 +73,11 @@ AC_DEFUN([AM_PATH_KSBA],
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
req_micro=`echo $min_ksba_version | \ req_micro=`echo $min_ksba_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
ksba_config_version=`$KSBA_CONFIG $ksba_config_args --version` if test -z "$use_gpgrt_config"; then
ksba_config_version=`$KSBA_CONFIG --version`
else
ksba_config_version=`$KSBA_CONFIG --modversion`
fi
major=`echo $ksba_config_version | \ major=`echo $ksba_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
minor=`echo $ksba_config_version | \ minor=`echo $ksba_config_version | \
@ -84,7 +109,11 @@ AC_DEFUN([AM_PATH_KSBA],
# Even if we have a recent libksba, we should check that the # Even if we have a recent libksba, we should check that the
# API is compatible. # API is compatible.
if test "$req_ksba_api" -gt 0 ; then if test "$req_ksba_api" -gt 0 ; then
tmp=`$KSBA_CONFIG --api-version 2>/dev/null || echo 0` if test -z "$use_gpgrt_config"; then
tmp=`$KSBA_CONFIG --api-version 2>/dev/null || echo 0`
else
tmp=`$KSBA_CONFIG --variable=api_version 2>/dev/null || echo 0`
fi
if test "$tmp" -gt 0 ; then if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([KSBA API version]) AC_MSG_CHECKING([KSBA API version])
if test "$req_ksba_api" -eq "$tmp" ; then if test "$req_ksba_api" -eq "$tmp" ; then
@ -97,15 +126,19 @@ AC_DEFUN([AM_PATH_KSBA],
fi fi
fi fi
if test $ok = yes; then if test $ok = yes; then
KSBA_CFLAGS=`$KSBA_CONFIG $ksba_config_args --cflags` KSBA_CFLAGS=`$KSBA_CONFIG --cflags`
KSBA_LIBS=`$KSBA_CONFIG $ksba_config_args --libs` KSBA_LIBS=`$KSBA_CONFIG --libs`
ifelse([$2], , :, [$2]) ifelse([$2], , :, [$2])
libksba_config_host=`$LIBKSBA_CONFIG $ksba_config_args --host 2>/dev/null || echo none` if test -z "$use_gpgrt_config"; then
libksba_config_host=`$KSBA_CONFIG --host 2>/dev/null || echo none`
else
libksba_config_host=`$KSBA_CONFIG --variable=host 2>/dev/null || echo none`
fi
if test x"$libksba_config_host" != xnone ; then if test x"$libksba_config_host" != xnone ; then
if test x"$libksba_config_host" != x"$host" ; then if test x"$libksba_config_host" != x"$host" ; then
AC_MSG_WARN([[ AC_MSG_WARN([[
*** ***
*** The config script $LIBKSBA_CONFIG was *** The config script "$KSBA_CONFIG" was
*** built for $libksba_config_host and thus may not match the *** built for $libksba_config_host and thus may not match the
*** used host $host. *** used host $host.
*** You may want to use the configure option --with-libksba-prefix *** You may want to use the configure option --with-libksba-prefix

View File

@ -1,5 +1,5 @@
dnl Autoconf macros for libassuan dnl Autoconf macros for libassuan
dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. dnl Copyright (C) 2002, 2003, 2011 Free Software Foundation, Inc.
dnl dnl
dnl This file is free software; as a special exception the author gives dnl This file is free software; as a special exception the author gives
dnl unlimited permission to copy and/or distribute it, with or without dnl unlimited permission to copy and/or distribute it, with or without
@ -8,23 +8,36 @@ dnl
dnl This file is distributed in the hope that it will be useful, but dnl This file is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dnl SPDX-License-Identifier: FSFULLR
# Last-changed: 2020-11-17
dnl dnl
dnl Common code used for libassuan detection [internal] dnl Common code used for libassuan detection [internal]
dnl Returns ok set to yes or no. dnl Returns ok set to yes or no.
dnl dnl
AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
[ AC_ARG_WITH(libassuan-prefix, [ AC_REQUIRE([AC_CANONICAL_HOST])
AC_HELP_STRING([--with-libassuan-prefix=PFX], AC_ARG_WITH(libassuan-prefix,
AS_HELP_STRING([--with-libassuan-prefix=PFX],
[prefix where LIBASSUAN is installed (optional)]), [prefix where LIBASSUAN is installed (optional)]),
libassuan_config_prefix="$withval", libassuan_config_prefix="") libassuan_config_prefix="$withval", libassuan_config_prefix="")
if test x$libassuan_config_prefix != x ; then if test x$libassuan_config_prefix != x ; then
libassuan_config_args="$libassuan_config_args --prefix=$libassuan_config_prefix"
if test x${LIBASSUAN_CONFIG+set} != xset ; then if test x${LIBASSUAN_CONFIG+set} != xset ; then
LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config
fi fi
fi fi
AC_PATH_PROG(LIBASSUAN_CONFIG, libassuan-config, no)
use_gpgrt_config=""
if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
if $GPGRT_CONFIG libassuan --exists; then
LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan"
AC_MSG_NOTICE([Use gpgrt-config as libassuan-config])
use_gpgrt_config=yes
fi
fi
if test -z "$use_gpgrt_config"; then
AC_PATH_PROG(LIBASSUAN_CONFIG, libassuan-config, no)
fi
tmp=ifelse([$1], ,1:0.9.2,$1) tmp=ifelse([$1], ,1:0.9.2,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
@ -35,55 +48,60 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
min_libassuan_version="$tmp" min_libassuan_version="$tmp"
fi fi
if test "$LIBASSUAN_CONFIG" != "no" ; then AC_MSG_CHECKING(for LIBASSUAN - version >= $min_libassuan_version)
libassuan_version=`$LIBASSUAN_CONFIG --version`
fi
libassuan_version_major=`echo $libassuan_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
libassuan_version_minor=`echo $libassuan_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
libassuan_version_micro=`echo $libassuan_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
AC_MSG_CHECKING(for LIBASSUAN ifelse([$2], ,,[$2 ])- version >= $min_libassuan_version)
ok=no ok=no
if test "$LIBASSUAN_CONFIG" != "no" ; then if test "$LIBASSUAN_CONFIG" != "no"; then
ifelse([$2], ,,[if `$LIBASSUAN_CONFIG --thread=$2 2> /dev/null` ; then])
req_major=`echo $min_libassuan_version | \ req_major=`echo $min_libassuan_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
req_minor=`echo $min_libassuan_version | \ req_minor=`echo $min_libassuan_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
req_micro=`echo $min_libassuan_version | \ req_micro=`echo $min_libassuan_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
if test "$libassuan_version_major" -gt "$req_major"; then
if test -z "$use_gpgrt_config"; then
libassuan_config_version=`$LIBASSUAN_CONFIG --version`
else
libassuan_config_version=`$LIBASSUAN_CONFIG --modversion`
fi
major=`echo $libassuan_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
minor=`echo $libassuan_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
micro=`echo $libassuan_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
if test "$major" -gt "$req_major"; then
ok=yes ok=yes
else else
if test "$libassuan_version_major" -eq "$req_major"; then if test "$major" -eq "$req_major"; then
if test "$libassuan_version_minor" -gt "$req_minor"; then if test "$minor" -gt "$req_minor"; then
ok=yes ok=yes
else else
if test "$libassuan_version_minor" -eq "$req_minor"; then if test "$minor" -eq "$req_minor"; then
if test "$libassuan_version_micro" -ge "$req_micro"; then if test "$micro" -ge "$req_micro"; then
ok=yes ok=yes
fi fi
fi fi
fi fi
fi fi
fi fi
ifelse([$2], ,,[fi])
fi fi
if test $ok = yes; then if test $ok = yes; then
AC_MSG_RESULT([yes ($libassuan_version)]) AC_MSG_RESULT([yes ($libassuan_config_version)])
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi
if test $ok = yes; then if test $ok = yes; then
if test "$req_libassuan_api" -gt 0 ; then if test "$req_libassuan_api" -gt 0 ; then
tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` if test -z "$use_gpgrt_config"; then
tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0`
else
tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0`
fi
if test "$tmp" -gt 0 ; then if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([LIBASSUAN ifelse([$2], ,,[$2 ])API version]) AC_MSG_CHECKING([LIBASSUAN API version])
if test "$req_libassuan_api" -eq "$tmp" ; then if test "$req_libassuan_api" -eq "$tmp" ; then
AC_MSG_RESULT(okay) AC_MSG_RESULT(okay)
else else
@ -94,6 +112,27 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
fi fi
fi fi
if test $ok = yes; then
if test x"$host" != x ; then
if test -z "$use_gpgrt_config"; then
libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none`
else
libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none`
fi
if test x"$libassuan_config_host" != xnone ; then
if test x"$libassuan_config_host" != x"$host" ; then
AC_MSG_WARN([[
***
*** The config script "$LIBASSUAN_CONFIG" was
*** built for $libassuan_config_host and thus may not match the
*** used host $host.
*** You may want to use the configure option --with-libassuan-prefix
*** to specify a matching config script.
***]])
fi
fi
fi
fi
]) ])
dnl AM_CHECK_LIBASSUAN([MINIMUM-VERSION, dnl AM_CHECK_LIBASSUAN([MINIMUM-VERSION,
@ -120,8 +159,8 @@ dnl
AC_DEFUN([AM_PATH_LIBASSUAN], AC_DEFUN([AM_PATH_LIBASSUAN],
[ _AM_PATH_LIBASSUAN_COMMON($1) [ _AM_PATH_LIBASSUAN_COMMON($1)
if test $ok = yes; then if test $ok = yes; then
LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --cflags` LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags`
LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --libs` LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs`
ifelse([$2], , :, [$2]) ifelse([$2], , :, [$2])
else else
LIBASSUAN_CFLAGS="" LIBASSUAN_CFLAGS=""
@ -131,45 +170,3 @@ AC_DEFUN([AM_PATH_LIBASSUAN],
AC_SUBST(LIBASSUAN_CFLAGS) AC_SUBST(LIBASSUAN_CFLAGS)
AC_SUBST(LIBASSUAN_LIBS) AC_SUBST(LIBASSUAN_LIBS)
]) ])
dnl AM_PATH_LIBASSUAN_PTH([MINIMUM-VERSION,
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
dnl Test for libassuan and define LIBASSUAN_PTH_CFLAGS and LIBASSUAN_PTH_LIBS
dnl
AC_DEFUN([AM_PATH_LIBASSUAN_PTH],
[ _AM_PATH_LIBASSUAN_COMMON($1,pth)
if test $ok = yes; then
LIBASSUAN_PTH_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pth --cflags`
LIBASSUAN_PTH_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pth --libs`
ifelse([$2], , :, [$2])
else
LIBASSUAN_PTH_CFLAGS=""
LIBASSUAN_PTH_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(LIBASSUAN_PTH_CFLAGS)
AC_SUBST(LIBASSUAN_PTH_LIBS)
])
dnl AM_PATH_LIBASSUAN_PTHREAD([MINIMUM-VERSION,
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
dnl Test for libassuan and define LIBASSUAN_PTHREAD_CFLAGS
dnl and LIBASSUAN_PTHREAD_LIBS
dnl
AC_DEFUN([AM_PATH_LIBASSUAN_PTHREAD],
[ _AM_PATH_LIBASSUAN_COMMON($1,pthread)
if test $ok = yes; then
LIBASSUAN_PTHREAD_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pthread --cflags`
LIBASSUAN_PTHREAD_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --thread=pthread --libs`
ifelse([$2], , :, [$2])
else
LIBASSUAN_PTHREAD_CFLAGS=""
LIBASSUAN_PTHREAD_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(LIBASSUAN_PTHREAD_CFLAGS)
AC_SUBST(LIBASSUAN_PTHREAD_LIBS)
])

View File

@ -1,5 +1,5 @@
# libgcrypt.m4 - Autoconf macros to detect libgcrypt # libgcrypt.m4 - Autoconf macros to detect libgcrypt
# Copyright (C) 2002, 2003, 2004, 2011, 2014 g10 Code GmbH # Copyright (C) 2002, 2003, 2004, 2011, 2014, 2018, 2020 g10 Code GmbH
# #
# This file is free software; as a special exception the author gives # This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without # unlimited permission to copy and/or distribute it, with or without
@ -9,17 +9,17 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# #
# Last-changed: 2014-10-02 # Last-changed: 2020-09-27
dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.
dnl MINIMUM-VERSION is a string with the version number optionalliy prefixed dnl MINIMUM-VERSION is a string with the version number optionally prefixed
dnl with the API version to also check the API compatibility. Example: dnl with the API version to also check the API compatibility. Example:
dnl a MINIMUM-VERSION of 1:1.2.5 won't pass the test unless the installed dnl a MINIMUM-VERSION of 1:1.2.5 won't pass the test unless the installed
dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
dnl this feature prevents building against newer versions of libgcrypt dnl this features allows to prevent build against newer versions of libgcrypt
dnl with a changed API. dnl with a changed API.
dnl dnl
dnl If a prefix option is not used, the config script is first dnl If a prefix option is not used, the config script is first
@ -30,14 +30,26 @@ dnl
AC_DEFUN([AM_PATH_LIBGCRYPT], AC_DEFUN([AM_PATH_LIBGCRYPT],
[ AC_REQUIRE([AC_CANONICAL_HOST]) [ AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_WITH(libgcrypt-prefix, AC_ARG_WITH(libgcrypt-prefix,
AC_HELP_STRING([--with-libgcrypt-prefix=PFX], AS_HELP_STRING([--with-libgcrypt-prefix=PFX],
[prefix where LIBGCRYPT is installed (optional)]), [prefix where LIBGCRYPT is installed (optional)]),
libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
if test x"${LIBGCRYPT_CONFIG}" = x ; then if test x"${LIBGCRYPT_CONFIG}" = x ; then
if test x"${libgcrypt_config_prefix}" != x ; then if test x"${libgcrypt_config_prefix}" != x ; then
LIBGCRYPT_CONFIG="${libgcrypt_config_prefix}/bin/libgcrypt-config" LIBGCRYPT_CONFIG="${libgcrypt_config_prefix}/bin/libgcrypt-config"
else fi
case "${SYSROOT}" in fi
use_gpgrt_config=""
if test x"${LIBGCRYPT_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
if $GPGRT_CONFIG libgcrypt --exists; then
LIBGCRYPT_CONFIG="$GPGRT_CONFIG libgcrypt"
AC_MSG_NOTICE([Use gpgrt-config as libgcrypt-config])
use_gpgrt_config=yes
fi
fi
if test -z "$use_gpgrt_config"; then
if test x"${LIBGCRYPT_CONFIG}" = x ; then
case "${SYSROOT}" in
/*) /*)
if test -x "${SYSROOT}/bin/libgcrypt-config" ; then if test -x "${SYSROOT}/bin/libgcrypt-config" ; then
LIBGCRYPT_CONFIG="${SYSROOT}/bin/libgcrypt-config" LIBGCRYPT_CONFIG="${SYSROOT}/bin/libgcrypt-config"
@ -48,11 +60,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
*) *)
AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.])
;; ;;
esac esac
fi fi
AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
fi fi
AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
tmp=ifelse([$1], ,1:1.2.0,$1) tmp=ifelse([$1], ,1:1.2.0,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
@ -71,7 +83,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
req_micro=`echo $min_libgcrypt_version | \ req_micro=`echo $min_libgcrypt_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` if test -z "$use_gpgrt_config"; then
libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
else
libgcrypt_config_version=`$LIBGCRYPT_CONFIG --modversion`
fi
major=`echo $libgcrypt_config_version | \ major=`echo $libgcrypt_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
minor=`echo $libgcrypt_config_version | \ minor=`echo $libgcrypt_config_version | \
@ -103,7 +119,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
# If we have a recent libgcrypt, we should also check that the # If we have a recent libgcrypt, we should also check that the
# API is compatible # API is compatible
if test "$req_libgcrypt_api" -gt 0 ; then if test "$req_libgcrypt_api" -gt 0 ; then
tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` if test -z "$use_gpgrt_config"; then
tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
else
tmp=`$LIBGCRYPT_CONFIG --variable=api_version 2>/dev/null || echo 0`
fi
if test "$tmp" -gt 0 ; then if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([LIBGCRYPT API version]) AC_MSG_CHECKING([LIBGCRYPT API version])
if test "$req_libgcrypt_api" -eq "$tmp" ; then if test "$req_libgcrypt_api" -eq "$tmp" ; then
@ -119,12 +139,16 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
ifelse([$2], , :, [$2]) ifelse([$2], , :, [$2])
libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` if test -z "$use_gpgrt_config"; then
libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
else
libgcrypt_config_host=`$LIBGCRYPT_CONFIG --variable=host 2>/dev/null || echo none`
fi
if test x"$libgcrypt_config_host" != xnone ; then if test x"$libgcrypt_config_host" != xnone ; then
if test x"$libgcrypt_config_host" != x"$host" ; then if test x"$libgcrypt_config_host" != x"$host" ; then
AC_MSG_WARN([[ AC_MSG_WARN([[
*** ***
*** The config script $LIBGCRYPT_CONFIG was *** The config script "$LIBGCRYPT_CONFIG" was
*** built for $libgcrypt_config_host and thus may not match the *** built for $libgcrypt_config_host and thus may not match the
*** used host $host. *** used host $host.
*** You may want to use the configure option --with-libgcrypt-prefix *** You may want to use the configure option --with-libgcrypt-prefix

View File

@ -1,5 +1,5 @@
# npth.m4 - autoconf macro to detect NPTH. # npth.m4 - autoconf macro to detect NPTH.
# Copyright (C) 2002, 2003, 2004, 2011 g10 Code GmbH # Copyright (C) 2002, 2003, 2004, 2011, 2018 g10 Code GmbH
# #
# This file is free software; as a special exception the author gives # This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without # unlimited permission to copy and/or distribute it, with or without
@ -9,18 +9,35 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Last-changed: 2020-11-17
AC_DEFUN([_AM_PATH_NPTH_CONFIG], AC_DEFUN([_AM_PATH_NPTH_CONFIG],
[ AC_ARG_WITH(npth-prefix, [ AC_ARG_WITH(npth-prefix,
AC_HELP_STRING([--with-npth-prefix=PFX], AS_HELP_STRING([--with-npth-prefix=PFX],
[prefix where NPTH is installed (optional)]), [prefix where NPTH is installed (optional)]),
npth_config_prefix="$withval", npth_config_prefix="") npth_config_prefix="$withval", npth_config_prefix="")
if test "x$npth_config_prefix" != x ; then if test "x$npth_config_prefix" != x ; then
NPTH_CONFIG="$npth_config_prefix/bin/npth-config" NPTH_CONFIG="$npth_config_prefix/bin/npth-config"
fi fi
AC_PATH_PROG(NPTH_CONFIG, npth-config, no)
use_gpgrt_config=""
if test x"$NPTH_CONFIG" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
if $GPGRT_CONFIG npth --exists; then
NPTH_CONFIG="$GPGRT_CONFIG npth"
AC_MSG_NOTICE([Use gpgrt-config as npth-config])
use_gpgrt_config=yes
fi
fi
if test -z "$use_gpgrt_config"; then
AC_PATH_PROG(NPTH_CONFIG, npth-config, no)
fi
if test "$NPTH_CONFIG" != "no" ; then if test "$NPTH_CONFIG" != "no" ; then
npth_version=`$NPTH_CONFIG --version` if test -z "$use_gpgrt_config"; then
npth_version=`$NPTH_CONFIG --version`
else
npth_version=`$NPTH_CONFIG --modversion`
fi
fi fi
npth_version_major=`echo $npth_version | \ npth_version_major=`echo $npth_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
@ -70,31 +87,39 @@ AC_DEFUN([AM_PATH_NPTH],
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi
if test $ok = yes; then if test $ok = yes; then
# If we have a recent NPTH, we should also check that the # If we have a recent NPTH, we should also check that the
# API is compatible. # API is compatible.
if test "$req_npth_api" -gt 0 ; then if test "$req_npth_api" -gt 0 ; then
if test -z "$use_gpgrt_config"; then
tmp=`$NPTH_CONFIG --api-version 2>/dev/null || echo 0` tmp=`$NPTH_CONFIG --api-version 2>/dev/null || echo 0`
if test "$tmp" -gt 0 ; then else
AC_MSG_CHECKING([NPTH API version]) tmp=`$NPTH_CONFIG --variable=api_version 2>/dev/null || echo 0`
if test "$req_npth_api" -eq "$tmp" ; then fi
AC_MSG_RESULT([okay]) if test "$tmp" -gt 0 ; then
else AC_MSG_CHECKING([NPTH API version])
ok=no if test "$req_npth_api" -eq "$tmp" ; then
AC_MSG_RESULT([does not match. want=$req_npth_api got=$tmp]) AC_MSG_RESULT([okay])
fi else
ok=no
AC_MSG_RESULT([does not match. want=$req_npth_api got=$tmp])
fi fi
fi fi
fi
fi fi
if test $ok = yes; then if test $ok = yes; then
NPTH_CFLAGS=`$NPTH_CONFIG --cflags` NPTH_CFLAGS=`$NPTH_CONFIG --cflags`
NPTH_LIBS=`$NPTH_CONFIG --libs` NPTH_LIBS=`$NPTH_CONFIG --libs`
ifelse([$2], , :, [$2]) ifelse([$2], , :, [$2])
npth_config_host=`$NPTH_CONFIG --host 2>/dev/null || echo none` if test -z "$use_gpgrt_config"; then
npth_config_host=`$NPTH_CONFIG --host 2>/dev/null || echo none`
else
npth_config_host=`$NPTH_CONFIG --variable=host 2>/dev/null || echo none`
fi
if test x"$npth_config_host" != xnone ; then if test x"$npth_config_host" != xnone ; then
if test x"$npth_config_host" != x"$host" ; then if test x"$npth_config_host" != x"$host" ; then
AC_MSG_WARN([[ AC_MSG_WARN([[
*** ***
*** The config script $NPTH_CONFIG was *** The config script "$NPTH_CONFIG" was
*** built for $npth_config_host and thus may not match the *** built for $npth_config_host and thus may not match the
*** used host $host. *** used host $host.
*** You may want to use the configure option --with-npth-prefix *** You may want to use the configure option --with-npth-prefix

View File

@ -8,45 +8,59 @@ dnl
dnl This file is distributed in the hope that it will be useful, but dnl This file is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dnl
dnl Last-changed: 2020-11-18
dnl AM_PATH_NTBTLS([MINIMUM-VERSION, dnl AM_PATH_NTBTLS([MINIMUM-VERSION,
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
dnl dnl
dnl Test for NTBTLS and define NTBTLS_CFLAGS and NTBTLS_LIBS. dnl Test for NTBTLS and define NTBTLS_CFLAGS and NTBTLS_LIBS.
dnl MINIMUM-VERSION is a string with the version number optionalliy prefixed dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
dnl with the API version to also check the API compatibility. Example: dnl with the API version to also check the API compatibility. Example:
dnl a MINIMUM-VERSION of 1:1.2.5 won't pass the test unless the installed dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed
dnl version of ntbtls is at least 1.2.5 *and* the API number is 1. Using dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
dnl this feature prevents building against newer versions of ntbtls dnl this features allows to prevent build against newer versions of libgcrypt
dnl with a changed API. dnl with a changed API.
dnl dnl
AC_DEFUN([AM_PATH_NTBTLS], AC_DEFUN([AM_PATH_NTBTLS],
[ AC_REQUIRE([AC_CANONICAL_HOST]) [ AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_WITH(ntbtls-prefix, AC_ARG_WITH(ntbtls-prefix,
AC_HELP_STRING([--with-ntbtls-prefix=PFX], AS_HELP_STRING([--with-ntbtls-prefix=PFX],
[prefix where NTBTLS is installed (optional)]), [prefix where NTBTLS is installed (optional)]),
ntbtls_config_prefix="$withval", ntbtls_config_prefix="") ntbtls_config_prefix="$withval", ntbtls_config_prefix="")
if test x"${NTBTLS_CONFIG}" = x ; then if test x"${NTBTLS_CONFIG}" = x ; then
if test x"${ntbtls_config_prefix}" != x ; then if test x"${ntbtls_config_prefix}" != x ; then
NTBTLS_CONFIG="${ntbtls_config_prefix}/bin/ntbtls-config" NTBTLS_CONFIG="${ntbtls_config_prefix}/bin/ntbtls-config"
else
case "${SYSROOT}" in
/*)
if test -x "${SYSROOT}/bin/ntbtls-config" ; then
NTBTLS_CONFIG="${SYSROOT}/bin/ntbtls-config"
fi
;;
'')
;;
*)
AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.])
;;
esac
fi fi
fi fi
AC_PATH_PROG(NTBTLS_CONFIG, ntbtls-config, no) use_gpgrt_config=""
if test x"${NTBTLS_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
if $GPGRT_CONFIG ntbtls --exists; then
NTBTLS_CONFIG="$GPGRT_CONFIG ntbtls"
AC_MSG_NOTICE([Use gpgrt-config as ntbtls-config])
use_gpgrt_config=yes
fi
fi
if test -z "$use_gpgrt_config"; then
if test x"${NTBTLS_CONFIG}" = x ; then
case "${SYSROOT}" in
/*)
if test -x "${SYSROOT}/bin/ntbtls-config" ; then
NTBTLS_CONFIG="${SYSROOT}/bin/ntbtls-config"
fi
;;
'')
;;
*)
AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.])
;;
esac
fi
AC_PATH_PROG(NTBTLS_CONFIG, ntbtls-config, no)
fi
tmp=ifelse([$1], ,1:1.0.0,$1) tmp=ifelse([$1], ,1:1.0.0,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
req_ntbtls_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` req_ntbtls_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
@ -65,7 +79,11 @@ AC_DEFUN([AM_PATH_NTBTLS],
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
req_micro=`echo $min_ntbtls_version | \ req_micro=`echo $min_ntbtls_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
ntbtls_config_version=`$NTBTLS_CONFIG --version` if test -z "$use_gpgrt_config"; then
ntbtls_config_version=`$NTBTLS_CONFIG --version`
else
ntbtls_config_version=`$NTBTLS_CONFIG --modversion`
fi
major=`echo $ntbtls_config_version | \ major=`echo $ntbtls_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
minor=`echo $ntbtls_config_version | \ minor=`echo $ntbtls_config_version | \
@ -97,7 +115,11 @@ AC_DEFUN([AM_PATH_NTBTLS],
# If we have a recent ntbtls, we should also check that the # If we have a recent ntbtls, we should also check that the
# API is compatible # API is compatible
if test "$req_ntbtls_api" -gt 0 ; then if test "$req_ntbtls_api" -gt 0 ; then
tmp=`$NTBTLS_CONFIG --api-version 2>/dev/null || echo 0` if test -z "$use_gpgrt_config"; then
tmp=`$NTBTLS_CONFIG --api-version 2>/dev/null || echo 0`
else
tmp=`$NTBTLS_CONFIG --variable=api_version 2>/dev/null || echo 0`
fi
if test "$tmp" -gt 0 ; then if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([NTBTLS API version]) AC_MSG_CHECKING([NTBTLS API version])
if test "$req_ntbtls_api" -eq "$tmp" ; then if test "$req_ntbtls_api" -eq "$tmp" ; then
@ -113,12 +135,16 @@ AC_DEFUN([AM_PATH_NTBTLS],
NTBTLS_CFLAGS=`$NTBTLS_CONFIG --cflags` NTBTLS_CFLAGS=`$NTBTLS_CONFIG --cflags`
NTBTLS_LIBS=`$NTBTLS_CONFIG --libs` NTBTLS_LIBS=`$NTBTLS_CONFIG --libs`
ifelse([$2], , :, [$2]) ifelse([$2], , :, [$2])
ntbtls_config_host=`$NTBTLS_CONFIG --host 2>/dev/null || echo none` if test -z "$use_gpgrt_config"; then
ntbtls_config_host=`$NTBTLS_CONFIG --host 2>/dev/null || echo none`
else
ntbtls_config_host=`$NTBTLS_CONFIG --variable=host 2>/dev/null || echo none`
fi
if test x"$ntbtls_config_host" != xnone ; then if test x"$ntbtls_config_host" != xnone ; then
if test x"$ntbtls_config_host" != x"$host" ; then if test x"$ntbtls_config_host" != x"$host" ; then
AC_MSG_WARN([[ AC_MSG_WARN([[
*** ***
*** The config script $NTBTLS_CONFIG was *** The config script "$NTBTLS_CONFIG" was
*** built for $ntbtls_config_host and thus may not match the *** built for $ntbtls_config_host and thus may not match the
*** used host $host. *** used host $host.
*** You may want to use the configure option --with-ntbtls-prefix *** You may want to use the configure option --with-ntbtls-prefix