author | Michael Krelin <hacker@klever.net> | 2008-05-18 18:26:17 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-06-25 20:49:25 (UTC) |
commit | 04aac0e097992df01e17fbbb62a5a7d9682bcea9 (patch) (unidiff) | |
tree | 92407b8314bbbaf51be22601d9231379c8602782 /acinclude.d | |
parent | 7934873589e47f0207916c668ec4a272071e66a0 (diff) | |
download | libopkele-04aac0e097992df01e17fbbb62a5a7d9682bcea9.zip libopkele-04aac0e097992df01e17fbbb62a5a7d9682bcea9.tar.gz libopkele-04aac0e097992df01e17fbbb62a5a7d9682bcea9.tar.bz2 |
update libcurl.m4 to fix breakage with -Wl,--as-needed ld flags
Thanks to Samuli Suominen of Gentoo project for spotting it
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | acinclude.d/libcurl.m4 | 79 |
1 files changed, 55 insertions, 24 deletions
diff --git a/acinclude.d/libcurl.m4 b/acinclude.d/libcurl.m4 index e80c206..f54a5f2 100644 --- a/acinclude.d/libcurl.m4 +++ b/acinclude.d/libcurl.m4 | |||
@@ -3,3 +3,3 @@ | |||
3 | # ---------------------------------------------------------- | 3 | # ---------------------------------------------------------- |
4 | # David Shaw <dshaw@jabberwocky.com> Jan-23-2005 | 4 | # David Shaw <dshaw@jabberwocky.com> May-09-2006 |
5 | # | 5 | # |
@@ -15,6 +15,6 @@ | |||
15 | # | 15 | # |
16 | # This macro defines HAVE_LIBCURL if a working libcurl setup is found, | 16 | # This macro #defines HAVE_LIBCURL if a working libcurl setup is |
17 | # and sets @LIBCURL@ and @LIBCURL_CPPFLAGS@ to the necessary values. | 17 | # found, and sets @LIBCURL@ and @LIBCURL_CPPFLAGS@ to the necessary |
18 | # Other useful defines are LIBCURL_FEATURE_xxx where xxx are the | 18 | # values. Other useful defines are LIBCURL_FEATURE_xxx where xxx are |
19 | # various features supported by libcurl, and LIBCURL_PROTOCOL_yyy | 19 | # the various features supported by libcurl, and LIBCURL_PROTOCOL_yyy |
20 | # where yyy are the various protocols supported by libcurl. Both xxx | 20 | # where yyy are the various protocols supported by libcurl. Both xxx |
@@ -34,9 +34,4 @@ | |||
34 | # packaging binary versions of libcurl to include this script! | 34 | # packaging binary versions of libcurl to include this script! |
35 | # Without curl-config, we can only make educated guesses as to what | 35 | # Without curl-config, we can only guess what protocols are available, |
36 | # protocols are available. Specifically, we assume that all of HTTP, | 36 | # or use curl_version_info to figure it out at runtime. |
37 | # FTP, GOPHER, FILE, TELNET, LDAP, and DICT exist, and (if SSL exists) | ||
38 | # HTTPS is present. All of these protocols existed when libcurl was | ||
39 | # first created in version 7, so this is a safe assumption. If the | ||
40 | # version is 7.11.0 or later, FTPS is assumed to be present as well. | ||
41 | # FTPS existed before then, but was not yet fully standards compliant. | ||
42 | 37 | ||
@@ -49,2 +44,5 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], | |||
49 | AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS]) | 44 | AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS]) |
45 | AH_TEMPLATE([LIBCURL_FEATURE_IDN],[Defined if libcurl supports IDN]) | ||
46 | AH_TEMPLATE([LIBCURL_FEATURE_SSPI],[Defined if libcurl supports SSPI]) | ||
47 | AH_TEMPLATE([LIBCURL_FEATURE_NTLM],[Defined if libcurl supports NTLM]) | ||
50 | 48 | ||
@@ -54,3 +52,2 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], | |||
54 | AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS]) | 52 | AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS]) |
55 | AH_TEMPLATE([LIBCURL_PROTOCOL_GOPHER],[Defined if libcurl supports GOPHER]) | ||
56 | AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE]) | 53 | AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE]) |
@@ -59,2 +56,3 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], | |||
59 | AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT]) | 56 | AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT]) |
57 | AH_TEMPLATE([LIBCURL_PROTOCOL_TFTP],[Defined if libcurl supports TFTP]) | ||
60 | 58 | ||
@@ -73,7 +71,9 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], | |||
73 | if test -d "$_libcurl_with" ; then | 71 | if test -d "$_libcurl_with" ; then |
74 | CPPFLAGS="${CPPFLAGS} -I$withval/include" | 72 | LIBCURL_CPPFLAGS="-I$withval/include" |
75 | LDFLAGS="${LDFLAGS} -L$withval/lib" | 73 | _libcurl_ldflags="-L$withval/lib" |
76 | fi | 74 | AC_PATH_PROG([_libcurl_config],[curl-config],["$withval/bin"], |
77 | 75 | ["$withval/bin"]) | |
76 | else | ||
78 | AC_PATH_PROG([_libcurl_config],[curl-config]) | 77 | AC_PATH_PROG([_libcurl_config],[curl-config]) |
78 | fi | ||
79 | 79 | ||
@@ -105,2 +105,11 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], | |||
105 | LIBCURL=`$_libcurl_config --libs` | 105 | LIBCURL=`$_libcurl_config --libs` |
106 | |||
107 | # This is so silly, but Apple actually has a bug in their | ||
108 | # curl-config script. Fixed in Tiger, but there are still | ||
109 | # lots of Panther installs around. | ||
110 | case "${host}" in | ||
111 | powerpc-apple-darwin7*) | ||
112 | LIBCURL=`echo $LIBCURL | sed -e 's|-arch i386||g'` | ||
113 | ;; | ||
114 | esac | ||
106 | fi | 115 | fi |
@@ -125,3 +134,3 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], | |||
125 | # link line (or failing that, "-lcurl") is enough. | 134 | # link line (or failing that, "-lcurl") is enough. |
126 | LIBCURL=${LIBCURL-"-lcurl"} | 135 | LIBCURL=${LIBCURL-"$_libcurl_ldflags -lcurl"} |
127 | 136 | ||
@@ -131,5 +140,5 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], | |||
131 | _libcurl_save_cppflags=$CPPFLAGS | 140 | _libcurl_save_cppflags=$CPPFLAGS |
132 | CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS" | 141 | CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS" |
133 | _libcurl_save_ldflags=$LDFLAGS | 142 | _libcurl_save_libs=$LIBS |
134 | LDFLAGS="$LDFLAGS $LIBCURL" | 143 | LIBS="$LIBCURL $LIBS" |
135 | 144 | ||
@@ -149,5 +158,5 @@ x=CURLOPT_VERBOSE; | |||
149 | CPPFLAGS=$_libcurl_save_cppflags | 158 | CPPFLAGS=$_libcurl_save_cppflags |
150 | LDFLAGS=$_libcurl_save_ldflags | 159 | LIBS=$_libcurl_save_libs |
151 | unset _libcurl_save_cppflags | 160 | unset _libcurl_save_cppflags |
152 | unset _libcurl_save_ldflags | 161 | unset _libcurl_save_libs |
153 | ]) | 162 | ]) |
@@ -155,2 +164,20 @@ x=CURLOPT_VERBOSE; | |||
155 | if test $libcurl_cv_lib_curl_usable = yes ; then | 164 | if test $libcurl_cv_lib_curl_usable = yes ; then |
165 | |||
166 | # Does curl_free() exist in this version of libcurl? | ||
167 | # If not, fake it with free() | ||
168 | |||
169 | _libcurl_save_cppflags=$CPPFLAGS | ||
170 | CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS" | ||
171 | _libcurl_save_libs=$LIBS | ||
172 | LIBS="$LIBS $LIBCURL" | ||
173 | |||
174 | AC_CHECK_FUNC(curl_free,, | ||
175 | AC_DEFINE(curl_free,free, | ||
176 | [Define curl_free() as free() if our version of curl lacks curl_free.])) | ||
177 | |||
178 | CPPFLAGS=$_libcurl_save_cppflags | ||
179 | LIBS=$_libcurl_save_libs | ||
180 | unset _libcurl_save_cppflags | ||
181 | unset _libcurl_save_libs | ||
182 | |||
156 | AC_DEFINE(HAVE_LIBCURL,1, | 183 | AC_DEFINE(HAVE_LIBCURL,1, |
@@ -169,3 +196,3 @@ x=CURLOPT_VERBOSE; | |||
169 | # protocols are available | 196 | # protocols are available |
170 | _libcurl_protocols="HTTP FTP GOPHER FILE TELNET LDAP DICT" | 197 | _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT" |
171 | 198 | ||
@@ -186,2 +213,5 @@ x=CURLOPT_VERBOSE; | |||
186 | done | 213 | done |
214 | else | ||
215 | unset LIBCURL | ||
216 | unset LIBCURL_CPPFLAGS | ||
187 | fi | 217 | fi |
@@ -197,2 +227,3 @@ x=CURLOPT_VERBOSE; | |||
197 | unset _libcurl_version | 227 | unset _libcurl_version |
228 | unset _libcurl_ldflags | ||
198 | fi | 229 | fi |