X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=acinclude.m4;h=85d95ba10282213a96728da7da6ead8e9840fb09;hb=9c4b50c1650d0f1c9d0c6189d721de83d57d8ce6;hp=ad095428f47db314f9e4b6355844038a3910c99f;hpb=fdb5b591f5cb23cf6a6d2dd138e10d152966629a;p=elisp%2Fepg.git diff --git a/acinclude.m4 b/acinclude.m4 index ad09542..85d95ba 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -357,3 +357,75 @@ AC_DEFUN([AC_ADD_LOAD_PATH], fi], ADDITIONAL_LOAD_PATH=) AC_SUBST(ADDITIONAL_LOAD_PATH)]) + +AC_DEFUN([AC_CHECK_GPG], + [AC_ARG_ENABLE(gpgtest, + AC_HELP_STRING([--disable-gpgtest=PATH], [Do not check GnuPG version]), + enable_gpgtest=yes) + ok=maybe + if test "x$enable_gpgtest" = "xyes"; then + ok=yes + else + AC_PATH_PROG(GPG, gpg) + AC_ARG_WITH(gpg, + AC_HELP_STRING([--with-gpg=PATH], [use GnuPG binary at PATH]), + GPG=$withval) + AC_DEFINE_UNQUOTED(GPG_PATH, "$GPG", [Path to the GnuPG binary.]) + AC_SUBST(GPG) + fi + dnl Check for GnuPG version requirement. + GPG_VERSION=unknown + if test -z "$GPG" -o "x$GPG" = "xno"; then + ok=no + else + if test ! -x "$GPG"; then + AC_MSG_WARN([GnuPG not executable, version check disabled]) + ok=no + fi + fi + if test "$ok" = "maybe"; then + AC_MSG_CHECKING(for GnuPG >= $1) + req_major=`echo $1 | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + req_minor=`echo $1 | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + req_micro=`echo $1 | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` + gpg_version=`"$GPG" --version | grep ^gpg` + major=`echo $gpg_version | \ + sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $gpg_version | \ + sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + micro=`echo $gpg_version | \ + sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` + GPG_VERSION=`echo $gpg_version | sed 's/^gpg (GnuPG) //'` + + 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 + if test "$ok" = "yes"; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + AC_MSG_WARN([GnuPG must be at least version $1]) + fi + fi + if test "$ok" = "yes"; then + ifelse([$2], , :, [$2]) + else + ifelse([$3], , :, [$3]) + fi + AM_CONDITIONAL(RUN_GPG_TESTS, test "$ok" = "yes") + AC_SUBST(GPG_PATH)])