| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  | #*************************************************************************** | 
					
						
							|  |  |  | #                                  _   _ ____  _ | 
					
						
							|  |  |  | #  Project                     ___| | | |  _ \| | | 
					
						
							|  |  |  | #                             / __| | | | |_) | | | 
					
						
							|  |  |  | #                            | (__| |_| |  _ <| |___ | 
					
						
							|  |  |  | #                             \___|\___/|_| \_\_____| | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Copyright (C) 2006, David Shaw <dshaw@jabberwocky.com> | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # This software is licensed as described in the file COPYING, which | 
					
						
							|  |  |  | # you should have received as part of this distribution. The terms | 
					
						
							|  |  |  | # are also available at https://curl.haxx.se/docs/copyright.html. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # You may opt to use, copy, modify, merge, publish, distribute and/or sell | 
					
						
							|  |  |  | # copies of the Software, and permit persons to whom the Software is | 
					
						
							|  |  |  | # furnished to do so, under the terms of the COPYING file. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | 
					
						
							|  |  |  | # KIND, either express or implied. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | ########################################################################### | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  | # LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION], | 
					
						
							|  |  |  | #                       [ACTION-IF-YES], [ACTION-IF-NO]) | 
					
						
							|  |  |  | # ---------------------------------------------------------- | 
					
						
							|  |  |  | #      David Shaw <dshaw@jabberwocky.com>   May-09-2006 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Checks for libcurl.  DEFAULT-ACTION is the string yes or no to | 
					
						
							|  |  |  | # specify whether to default to --with-libcurl or --without-libcurl. | 
					
						
							|  |  |  | # If not supplied, DEFAULT-ACTION is yes.  MINIMUM-VERSION is the | 
					
						
							|  |  |  | # minimum version of libcurl to accept.  Pass the version as a regular | 
					
						
							|  |  |  | # version number like 7.10.1. If not supplied, any version is | 
					
						
							|  |  |  | # accepted.  ACTION-IF-YES is a list of shell commands to run if | 
					
						
							|  |  |  | # libcurl was successfully found and passed the various tests. | 
					
						
							|  |  |  | # ACTION-IF-NO is a list of shell commands that are run otherwise. | 
					
						
							|  |  |  | # Note that using --without-libcurl does run ACTION-IF-NO. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # This macro #defines HAVE_CURL if a working libcurl setup is | 
					
						
							|  |  |  | # found, and sets @CURL_LIB@ and @CURL_INCLUDE@ to the necessary | 
					
						
							|  |  |  | # values.  Other useful defines are LIBCURL_FEATURE_xxx where xxx are | 
					
						
							|  |  |  | # the various features supported by libcurl, and LIBCURL_PROTOCOL_yyy | 
					
						
							|  |  |  | # where yyy are the various protocols supported by libcurl.  Both xxx | 
					
						
							|  |  |  | # and yyy are capitalized.  See the list of AH_TEMPLATEs at the top of | 
					
						
							|  |  |  | # the macro for the complete list of possible defines.  Shell | 
					
						
							|  |  |  | # variables $libcurl_feature_xxx and $libcurl_protocol_yyy are also | 
					
						
							|  |  |  | # defined to 'yes' for those features and protocols that were found. | 
					
						
							|  |  |  | # Note that xxx and yyy keep the same capitalization as in the | 
					
						
							|  |  |  | # curl-config list (e.g. it's "HTTP" and not "http"). | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Users may override the detected values by doing something like: | 
					
						
							|  |  |  | # CURL_LIB="-lcurl" CURL_INCLUDE="-I/usr/myinclude" ./configure | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # For the sake of sanity, this macro assumes that any libcurl that is | 
					
						
							|  |  |  | # found is after version 7.7.2, the first version that included the | 
					
						
							|  |  |  | # curl-config script.  Note that it is very important for people | 
					
						
							|  |  |  | # packaging binary versions of libcurl to include this script! | 
					
						
							|  |  |  | # Without curl-config, we can only guess what protocols are available, | 
					
						
							|  |  |  | # or use curl_version_info to figure it out at runtime. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | AC_DEFUN([AST_LIBCURL_CHECK_CONFIG], | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_SSL],[Defined if libcurl supports SSL]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_KRB4],[Defined if libcurl supports KRB4]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_IPV6],[Defined if libcurl supports IPv6]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_LIBZ],[Defined if libcurl supports libz]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_IDN],[Defined if libcurl supports IDN]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_SSPI],[Defined if libcurl supports SSPI]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_FEATURE_NTLM],[Defined if libcurl supports NTLM]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_HTTP],[Defined if libcurl supports HTTP]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_HTTPS],[Defined if libcurl supports HTTPS]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_FTP],[Defined if libcurl supports FTP]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_TELNET],[Defined if libcurl supports TELNET]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_LDAP],[Defined if libcurl supports LDAP]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_TFTP],[Defined if libcurl supports TFTP]) | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_RTSP],[Defined if libcurl supports RTSP]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_POP3],[Defined if libcurl supports POP3]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_IMAP],[Defined if libcurl supports IMAP]) | 
					
						
							|  |  |  |   AH_TEMPLATE([LIBCURL_PROTOCOL_SMTP],[Defined if libcurl supports SMTP]) | 
					
						
							| 
									
										
										
										
											2018-07-13 23:44:53 -04:00
										 |  |  |   AC_SUBST(PBX_CURL, 0) | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   AC_ARG_WITH(libcurl, | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  |      AS_HELP_STRING([--with-libcurl=PREFIX],[look for the curl library in PREFIX/lib and headers in PREFIX/include]), | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  |      [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if test "$_libcurl_with" != "no" ; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      AC_PROG_AWK | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[[1]]+256*A[[2]]+A[[3]]; print X;}'" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      _libcurl_try_link=yes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      if test -d "$_libcurl_with" ; then | 
					
						
							|  |  |  |         CURL_INCLUDE="-I$withval/include" | 
					
						
							|  |  |  |         _libcurl_ldflags="-L$withval/lib" | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  |         AC_PATH_PROG([_libcurl_config],[curl-config],[], | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  |                      ["$withval/bin"]) | 
					
						
							|  |  |  |      else | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  |         AC_PATH_PROG([_libcurl_config],[curl-config],[],[$PATH]) | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  |      fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      if test x$_libcurl_config != "x" ; then | 
					
						
							|  |  |  |         AC_CACHE_CHECK([for the version of libcurl], | 
					
						
							|  |  |  |            [libcurl_cv_lib_curl_version], | 
					
						
							|  |  |  |            [libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $[]2}'`]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         _libcurl_version=`echo $libcurl_cv_lib_curl_version | $_libcurl_version_parse` | 
					
						
							|  |  |  |         _libcurl_wanted=`echo ifelse([$2],,[0],[$2]) | $_libcurl_version_parse` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if test $_libcurl_wanted -gt 0 ; then | 
					
						
							|  |  |  |            AC_CACHE_CHECK([for libcurl >= version $2], | 
					
						
							|  |  |  |               [libcurl_cv_lib_version_ok], | 
					
						
							|  |  |  |               [ | 
					
						
							|  |  |  |               if test $_libcurl_version -ge $_libcurl_wanted ; then | 
					
						
							|  |  |  |                  libcurl_cv_lib_version_ok=yes | 
					
						
							|  |  |  |               else | 
					
						
							|  |  |  |                  libcurl_cv_lib_version_ok=no | 
					
						
							|  |  |  |               fi | 
					
						
							|  |  |  |               ]) | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if test $_libcurl_wanted -eq 0 || test x$libcurl_cv_lib_version_ok = xyes ; then | 
					
						
							|  |  |  |            if test x"$CURL_INCLUDE" = "x" ; then | 
					
						
							|  |  |  |               CURL_INCLUDE=`$_libcurl_config --cflags` | 
					
						
							|  |  |  |            fi | 
					
						
							|  |  |  |            if test x"$CURL_LIB" = "x" ; then | 
					
						
							|  |  |  |               CURL_LIB=`$_libcurl_config --libs` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               # This is so silly, but Apple actually has a bug in their | 
					
						
							|  |  |  |               # curl-config script.  Fixed in Tiger, but there are still | 
					
						
							|  |  |  |               # lots of Panther installs around. | 
					
						
							|  |  |  |               case "${host}" in | 
					
						
							|  |  |  |                  powerpc-apple-darwin7*) | 
					
						
							|  |  |  |                     CURL_LIB=`echo $CURL_LIB | sed -e 's|-arch i386||g'` | 
					
						
							|  |  |  |                  ;; | 
					
						
							|  |  |  |               esac | 
					
						
							|  |  |  |            fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            # All curl-config scripts support --feature | 
					
						
							|  |  |  |            _libcurl_features=`$_libcurl_config --feature` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            # Is it modern enough to have --protocols? (7.12.4) | 
					
						
							|  |  |  |            if test $_libcurl_version -ge 461828 ; then | 
					
						
							|  |  |  |               _libcurl_protocols=`$_libcurl_config --protocols` | 
					
						
							|  |  |  |            fi | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |            _libcurl_try_link=no | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         unset _libcurl_wanted | 
					
						
							|  |  |  |      fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      if test $_libcurl_try_link = yes ; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # we didn't find curl-config, so let's see if the user-supplied | 
					
						
							|  |  |  |         # link line (or failing that, "-lcurl") is enough. | 
					
						
							|  |  |  |         CURL_LIB=${CURL_LIB-"$_libcurl_ldflags -lcurl"} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         AC_CACHE_CHECK([whether libcurl is usable], | 
					
						
							|  |  |  |            [libcurl_cv_lib_curl_usable], | 
					
						
							|  |  |  |            [ | 
					
						
							|  |  |  |            _libcurl_save_cppflags=$CPPFLAGS | 
					
						
							|  |  |  |            CPPFLAGS="$CURL_INCLUDE $CPPFLAGS" | 
					
						
							|  |  |  |            _libcurl_save_libs=$LIBS | 
					
						
							|  |  |  |            LIBS="$CURL_LIB $LIBS" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  |            AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <curl/curl.h>]],[[ | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  | /* Try and use a few common options to force a failure if we are | 
					
						
							|  |  |  |    missing symbols or can't link. */ | 
					
						
							|  |  |  | int x; | 
					
						
							|  |  |  | curl_easy_setopt(NULL,CURLOPT_URL,NULL); | 
					
						
							|  |  |  | x=CURL_ERROR_SIZE; | 
					
						
							|  |  |  | x=CURLOPT_WRITEFUNCTION; | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  | x=CURLOPT_WRITEDATA; | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  | x=CURLOPT_ERRORBUFFER; | 
					
						
							|  |  |  | x=CURLOPT_STDERR; | 
					
						
							|  |  |  | x=CURLOPT_VERBOSE; | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  | if (x) {;} | 
					
						
							|  |  |  | ]])],libcurl_cv_lib_curl_usable=yes,libcurl_cv_lib_curl_usable=no) | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |            CPPFLAGS=$_libcurl_save_cppflags | 
					
						
							|  |  |  |            LIBS=$_libcurl_save_libs | 
					
						
							|  |  |  |            unset _libcurl_save_cppflags | 
					
						
							|  |  |  |            unset _libcurl_save_libs | 
					
						
							|  |  |  |            ]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if test $libcurl_cv_lib_curl_usable = yes ; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            # Does curl_free() exist in this version of libcurl? | 
					
						
							|  |  |  |            # If not, fake it with free() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            _libcurl_save_cppflags=$CPPFLAGS | 
					
						
							|  |  |  |            CPPFLAGS="$CPPFLAGS $CURL_INCLUDE" | 
					
						
							|  |  |  |            _libcurl_save_libs=$LIBS | 
					
						
							|  |  |  |            LIBS="$LIBS $CURL_LIB" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            AC_CHECK_FUNC(curl_free,, | 
					
						
							|  |  |  |               AC_DEFINE(curl_free,free, | 
					
						
							|  |  |  |                 [Define curl_free() as free() if our version of curl lacks curl_free.])) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            CPPFLAGS=$_libcurl_save_cppflags | 
					
						
							|  |  |  |            LIBS=$_libcurl_save_libs | 
					
						
							|  |  |  |            unset _libcurl_save_cppflags | 
					
						
							|  |  |  |            unset _libcurl_save_libs | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            AC_DEFINE(HAVE_CURL,1, | 
					
						
							|  |  |  |              [Define to 1 if you have a functional curl library.]) | 
					
						
							|  |  |  |            AC_SUBST(CURL_INCLUDE) | 
					
						
							|  |  |  |            AC_SUBST(CURL_LIB) | 
					
						
							|  |  |  |            PBX_CURL=1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            for _libcurl_feature in $_libcurl_features ; do | 
					
						
							|  |  |  |               AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_feature_$_libcurl_feature),[1]) | 
					
						
							|  |  |  |               eval AS_TR_SH(libcurl_feature_$_libcurl_feature)=yes | 
					
						
							|  |  |  |            done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            if test "x$_libcurl_protocols" = "x" ; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |               # We don't have --protocols, so just assume that all | 
					
						
							|  |  |  |               # protocols are available | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  |               _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT TFTP" | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |               if test x$libcurl_feature_SSL = xyes ; then | 
					
						
							|  |  |  |                  _libcurl_protocols="$_libcurl_protocols HTTPS" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                  # FTPS wasn't standards-compliant until version | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  |                  # 7.11.0 (0x070b00 == 461568) | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  |                  if test $_libcurl_version -ge 461568; then | 
					
						
							|  |  |  |                     _libcurl_protocols="$_libcurl_protocols FTPS" | 
					
						
							|  |  |  |                  fi | 
					
						
							|  |  |  |               fi | 
					
						
							| 
									
										
										
										
											2016-07-04 12:58:39 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |               # RTSP, IMAP, POP3 and SMTP were added in | 
					
						
							|  |  |  |               # 7.20.0 (0x071400 == 463872) | 
					
						
							|  |  |  |               if test $_libcurl_version -ge 463872; then | 
					
						
							|  |  |  |                  _libcurl_protocols="$_libcurl_protocols RTSP IMAP POP3 SMTP" | 
					
						
							|  |  |  |               fi | 
					
						
							| 
									
										
										
										
											2009-08-27 21:46:46 +00:00
										 |  |  |            fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            for _libcurl_protocol in $_libcurl_protocols ; do | 
					
						
							|  |  |  |               AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_protocol_$_libcurl_protocol),[1]) | 
					
						
							|  |  |  |               eval AS_TR_SH(libcurl_protocol_$_libcurl_protocol)=yes | 
					
						
							|  |  |  |            done | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |            unset CURL_LIB | 
					
						
							|  |  |  |            unset CURL_INCLUDE | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |      fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      unset _libcurl_try_link | 
					
						
							|  |  |  |      unset _libcurl_version_parse | 
					
						
							|  |  |  |      unset _libcurl_config | 
					
						
							|  |  |  |      unset _libcurl_feature | 
					
						
							|  |  |  |      unset _libcurl_features | 
					
						
							|  |  |  |      unset _libcurl_protocol | 
					
						
							|  |  |  |      unset _libcurl_protocols | 
					
						
							|  |  |  |      unset _libcurl_version | 
					
						
							|  |  |  |      unset _libcurl_ldflags | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if test x$_libcurl_with = xno || test x$libcurl_cv_lib_curl_usable != xyes ; then | 
					
						
							|  |  |  |      # This is the IF-NO path | 
					
						
							|  |  |  |      ifelse([$4],,:,[$4]) | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |      # This is the IF-YES path | 
					
						
							|  |  |  |      ifelse([$3],,:,[$3]) | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   unset _libcurl_with | 
					
						
							|  |  |  | ])dnl |