A whole bunch of changes to allow building for W32.
[gnupg.git] / m4 / ksba.m4
1 # ksba.m4 - autoconf macro to detect ksba
2 #       Copyright (C) 2002 g10 Code GmbH
3 #
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
6 # modifications, as long as this notice is preserved.
7 #
8 # This file is distributed in the hope that it will be useful, but
9 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
10 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
12
13 dnl AM_PATH_KSBA([MINIMUM-VERSION,
14 dnl              [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
15 dnl Test for libksba and define KSBA_CFLAGS and KSBA_LIBS
16 dnl
17 AC_DEFUN([AM_PATH_KSBA],
18 [ AC_ARG_WITH(ksba-prefix,
19             AC_HELP_STRING([--with-ksba-prefix=PFX],
20                            [prefix where KSBA is installed (optional)]),
21      ksba_config_prefix="$withval", ksba_config_prefix="")
22   if test x$ksba_config_prefix != x ; then
23      ksba_config_args="$ksba_config_args --prefix=$ksba_config_prefix"
24      if test x${KSBA_CONFIG+set} != xset ; then
25         KSBA_CONFIG=$ksba_config_prefix/bin/ksba-config
26      fi
27   fi
28
29   AC_PATH_PROG(KSBA_CONFIG, ksba-config, no)
30   min_ksba_version=ifelse([$1], ,0.4.4,$1)
31   AC_MSG_CHECKING(for KSBA - version >= $min_ksba_version)
32   ok=no
33   if test "$KSBA_CONFIG" != "no" ; then
34     req_major=`echo $min_ksba_version | \
35                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
36     req_minor=`echo $min_ksba_version | \
37                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
38     req_micro=`echo $min_ksba_version | \
39                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
40     ksba_config_version=`$KSBA_CONFIG $ksba_config_args --version`
41     major=`echo $ksba_config_version | \
42                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
43     minor=`echo $ksba_config_version | \
44                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
45     micro=`echo $ksba_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     KSBA_CFLAGS=`$KSBA_CONFIG $ksba_config_args --cflags`
65     KSBA_LIBS=`$KSBA_CONFIG $ksba_config_args --libs`
66     AC_MSG_RESULT(yes)
67     ifelse([$2], , :, [$2])
68   else
69     KSBA_CFLAGS=""
70     KSBA_LIBS=""
71     AC_MSG_RESULT(no)
72     ifelse([$3], , :, [$3])
73   fi
74   AC_SUBST(KSBA_CFLAGS)
75   AC_SUBST(KSBA_LIBS)
76 ])