On Thu, Dec 17, 2020 at 1:40 PM Paolo Bonzini <pbonz...@redhat.com> wrote:
> cURL 7.16.0 was released in October 2006. Just remove code that is > in all likelihood not being used anywhere, and require the oldest version > found in currently supported distros, which is 7.29.0 from CentOS 7. > > pkg-config is enough for QEMU, since it does not need extra information > such as the path for certicate authorities. All supported platforms > today will all have pkg-config for curl, so we can drop curl-config. > > Suggested-by: Daniel Berrangé <berra...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- > block/curl.c | 28 ---------------------------- > configure | 9 ++------- > 2 files changed, 2 insertions(+), 35 deletions(-) > > diff --git a/block/curl.c b/block/curl.c > index d24a4c5897..4ff895df8f 100644 > --- a/block/curl.c > +++ b/block/curl.c > @@ -37,26 +37,6 @@ > > // #define DEBUG_VERBOSE > > -#if LIBCURL_VERSION_NUM >= 0x071000 > -/* The multi interface timer callback was introduced in 7.16.0 */ > -#define NEED_CURL_TIMER_CALLBACK > -#define HAVE_SOCKET_ACTION > -#endif > - > -#ifndef HAVE_SOCKET_ACTION > -/* If curl_multi_socket_action isn't available, define it statically here > in > - * terms of curl_multi_socket. Note that ev_bitmask will be ignored, > which is > - * less efficient but still safe. */ > -static CURLMcode __curl_multi_socket_action(CURLM *multi_handle, > - curl_socket_t sockfd, > - int ev_bitmask, > - int *running_handles) > -{ > - return curl_multi_socket(multi_handle, sockfd, running_handles); > -} > -#define curl_multi_socket_action __curl_multi_socket_action > -#endif > - > #define PROTOCOLS (CURLPROTO_HTTP | CURLPROTO_HTTPS | \ > CURLPROTO_FTP | CURLPROTO_FTPS) > > @@ -140,7 +120,6 @@ typedef struct BDRVCURLState { > static void curl_clean_state(CURLState *s); > static void curl_multi_do(void *arg); > > -#ifdef NEED_CURL_TIMER_CALLBACK > /* Called from curl_multi_do_locked, with s->mutex held. */ > static int curl_timer_cb(CURLM *multi, long timeout_ms, void *opaque) > { > @@ -156,7 +135,6 @@ static int curl_timer_cb(CURLM *multi, long > timeout_ms, void *opaque) > } > return 0; > } > -#endif > > /* Called from curl_multi_do_locked, with s->mutex held. */ > static int curl_sock_cb(CURL *curl, curl_socket_t fd, int action, > @@ -433,7 +411,6 @@ static void curl_multi_do(void *arg) > > static void curl_multi_timeout_do(void *arg) > { > -#ifdef NEED_CURL_TIMER_CALLBACK > BDRVCURLState *s = (BDRVCURLState *)arg; > int running; > > @@ -446,9 +423,6 @@ static void curl_multi_timeout_do(void *arg) > > curl_multi_check_completion(s); > qemu_mutex_unlock(&s->mutex); > -#else > - abort(); > -#endif > } > > /* Called with s->mutex held. */ > @@ -598,10 +572,8 @@ static void curl_attach_aio_context(BlockDriverState > *bs, > s->multi = curl_multi_init(); > s->aio_context = new_context; > curl_multi_setopt(s->multi, CURLMOPT_SOCKETFUNCTION, curl_sock_cb); > -#ifdef NEED_CURL_TIMER_CALLBACK > curl_multi_setopt(s->multi, CURLMOPT_TIMERDATA, s); > curl_multi_setopt(s->multi, CURLMOPT_TIMERFUNCTION, curl_timer_cb); > -#endif > } > > static QemuOptsList runtime_opts = { > diff --git a/configure b/configure > index 42b39544d4..c0a3e1556b 100755 > --- a/configure > +++ b/configure > @@ -3428,17 +3428,12 @@ done > ########################################## > # curl probe > if test "$curl" != "no" ; then > - if $pkg_config libcurl --exists; then > - curlconfig="$pkg_config libcurl" > - else > - curlconfig=curl-config > - fi > cat > $TMPC << EOF > #include <curl/curl.h> > int main(void) { curl_easy_init(); curl_multi_setopt(0, 0, 0); return 0; } > EOF > - curl_cflags=$($curlconfig --cflags 2>/dev/null) > - curl_libs=$($curlconfig --libs 2>/dev/null) > + curl_cflags=$($pkg_config libcurl --cflags 2>/dev/null) > + curl_libs=$($pkg_config libcurl --libs 2>/dev/null) > if compile_prog "$curl_cflags" "$curl_libs" ; then > curl=yes > else > -- > 2.29.2 > > >