(_gcry_module_release): Don't act if module is NULL.
[libgcrypt.git] / src / libgcrypt.m4
1 dnl Autoconf macros for libgcrypt
2 dnl       Copyright (C) 2002 Free Software Foundation, Inc.
3 dnl
4 dnl This file is free software; as a special exception the author gives
5 dnl unlimited permission to copy and/or distribute it, with or without
6 dnl modifications, as long as this notice is preserved.
7 dnl
8 dnl This file is distributed in the hope that it will be useful, but
9 dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
10 dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
12
13 dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
14 dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
15 dnl Test for liblibgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS
16 dnl
17 AC_DEFUN(AM_PATH_LIBGCRYPT,
18 [ AC_ARG_WITH(libgcrypt-prefix,
19             AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
20                            [prefix where LIBGCRYPT is installed (optional)]),
21      libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
22   if test x$libgcrypt_config_prefix != x ; then
23      libgcrypt_config_args="$libgcrypt_config_args --prefix=$libgcrypt_config_prefix"
24      if test x${LIBGCRYPT_CONFIG+set} != xset ; then
25         LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
26      fi
27   fi
28
29   AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
30   min_libgcrypt_version=ifelse([$1], ,0.4.4,$1)
31   AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
32   ok=no
33   if test "$LIBGCRYPT_CONFIG" != "no" ; then
34     req_major=`echo $min_libgcrypt_version | \
35                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
36     req_minor=`echo $min_libgcrypt_version | \
37                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
38     req_micro=`echo $min_libgcrypt_version | \
39                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
40     libgcrypt_config_version=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --version`
41     major=`echo $libgcrypt_config_version | \
42                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
43     minor=`echo $libgcrypt_config_version | \
44                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
45     micro=`echo $libgcrypt_config_version | \
46                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
47     if test "$major" -gt "$req_major"; then
48         ok=yes
49     else 
50         if test "$major" -eq "$req_major"; then
51             if test "$minor" -gt "$req_minor"; then
52                ok=yes
53             else
54                if test "$minor" -eq "$req_minor"; then
55                    if test "$micro" -ge "$req_micro"; then
56                      ok=yes
57                    fi
58                fi
59             fi
60         fi
61     fi
62   fi
63   if test $ok = yes; then
64     LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --cflags`
65     LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --libs`
66     AC_MSG_RESULT(yes)
67     ifelse([$2], , :, [$2])
68   else
69     LIBGCRYPT_CFLAGS=""
70     LIBGCRYPT_LIBS=""
71     AC_MSG_RESULT(no)
72     ifelse([$3], , :, [$3])
73   fi
74   AC_SUBST(LIBGCRYPT_CFLAGS)
75   AC_SUBST(LIBGCRYPT_LIBS)
76 ])