* libcurl.m4: Be much more strict with libcurl by trying to compile and
[gnupg.git] / m4 / libcurl.m4
1 dnl Check for libcurl and dependencies
2 dnl Copyright (C) 2004 Free Software Foundation, Inc.
3 dnl
4 dnl This file is free software, distributed under the terms of the GNU
5 dnl General Public License.  As a special exception to the GNU General
6 dnl Public License, this file may be distributed as part of a program
7 dnl that contains a configuration script generated by Autoconf, under
8 dnl the same distribution terms as the rest of that program.
9 dnl
10 dnl Defines HAVE_LIBCURL to 1 if a working curl setup is found, and sets
11 dnl @LIBCURL@ and @LIBCURL_INCLUDES@ to the necessary values.
12 dnl $have_libcurl is set to yes or no so other things in configure can
13 dnl make use of it.
14
15 AC_DEFUN([GNUPG_CHECK_LIBCURL],
16 [
17   AC_ARG_WITH(libcurl,
18      AC_HELP_STRING([--with-libcurl=DIR],[look for the curl library in DIR]),
19      [_do_libcurl=$withval],[_do_libcurl=no])
20
21   if test "$_do_libcurl" != "no" ; then
22      if test -d "$withval" ; then
23         CPPFLAGS="${CPPFLAGS} -I$withval/include"
24         LDFLAGS="${LDFLAGS} -L$withval/lib"
25      fi
26
27      AC_MSG_CHECKING([for libcurl])
28
29      if eval curl-config --version 2>/dev/null >/dev/null; then
30         AC_SUBST([LIBCURL_INCLUDES],[`curl-config --cflags`])
31         AC_SUBST([LIBCURL],[`curl-config --libs`])
32         have_libcurl=yes
33      else
34         have_libcurl=no
35      fi
36
37      AC_MSG_RESULT([$have_libcurl])
38
39      AC_MSG_CHECKING([whether libcurl is modern enough])
40
41      _libcurl_save_cppflags=$CPPFLAGS
42      CPPFLAGS="$CPPFLAGS $LIBCURL_INCLUDES"
43      _libcurl_save_ldflags=$LDFLAGS
44      LDFLAGS="$LDFLAGS $LIBCURL"
45
46      AC_LINK_IFELSE(AC_LANG_PROGRAM([#include <curl/curl.h>],[
47 int x;
48 x=CURL_ERROR_SIZE;
49 curl_easy_setopt(NULL,CURLOPT_URL,NULL);
50 x=CURLOPT_WRITEFUNCTION;
51 x=CURLOPT_FILE;
52 /* x=CURLOPT_WRITEDATA; */
53 x=CURLOPT_ERRORBUFFER;
54 x=CURLOPT_STDERR;
55 x=CURLOPT_VERBOSE;
56 ]),,have_libcurl=no)
57
58      CPPFLAGS=$_libcurl_save_cppflags
59      LDFLAGS=$_libcurl_save_ldflags
60
61      AC_MSG_RESULT([$have_libcurl])
62
63      if test $have_libcurl = yes ; then
64         AC_DEFINE(HAVE_LIBCURL,1,
65           [Define to 1 if you have a fully functional curl library.])
66      fi
67
68      unset _do_libcurl
69      unset _libcurl_save_cppflags
70      unset _libcurl_save_ldflags
71   fi
72 ])dnl