aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-11-17 12:43:15 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-01-02 21:03:37 +0100
commitf9cd86fe72be3cd89ef7f7dfe490155d67e88b57 (patch)
treea033551e527936be015cb4f6085cb7e910e3418f
parent8e4e2b551d6d526c6f949f01e2a5e15df7feee6d (diff)
curl: convert to meson
Reviewed-by: Daniel Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-xconfigure31
-rw-r--r--contrib/elf2dmp/meson.build2
-rw-r--r--meson.build11
-rw-r--r--meson_options.txt2
4 files changed, 14 insertions, 32 deletions
diff --git a/configure b/configure
index 617456676d..eb87adb1c4 100755
--- a/configure
+++ b/configure
@@ -306,7 +306,7 @@ for opt do
done
brlapi="auto"
-curl="$default_feature"
+curl="auto"
iconv="auto"
curses="auto"
docs="auto"
@@ -1215,9 +1215,9 @@ for opt do
;;
--enable-iconv) iconv="enabled"
;;
- --disable-curl) curl="no"
+ --disable-curl) curl="disabled"
;;
- --enable-curl) curl="yes"
+ --enable-curl) curl="enabled"
;;
--disable-fdt) fdt="disabled"
;;
@@ -3425,25 +3425,6 @@ for drv in $audio_drv_list; do
done
##########################################
-# curl probe
-if test "$curl" != "no" ; then
- cat > $TMPC << EOF
-#include <curl/curl.h>
-int main(void) { curl_easy_init(); curl_multi_setopt(0, 0, 0); return 0; }
-EOF
- 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
- if test "$curl" = "yes" ; then
- feature_not_found "curl" "Install libcurl devel"
- fi
- curl=no
- fi
-fi # test "$curl"
-
-##########################################
# glib support probe
glib_req_ver=2.48
@@ -6103,11 +6084,6 @@ fi
if test "$bswap_h" = "yes" ; then
echo "CONFIG_MACHINE_BSWAP_H=y" >> $config_host_mak
fi
-if test "$curl" = "yes" ; then
- echo "CONFIG_CURL=y" >> $config_host_mak
- echo "CURL_CFLAGS=$curl_cflags" >> $config_host_mak
- echo "CURL_LIBS=$curl_libs" >> $config_host_mak
-fi
if test "$gtk" = "yes" ; then
echo "CONFIG_GTK=y" >> $config_host_mak
echo "GTK_CFLAGS=$gtk_cflags" >> $config_host_mak
@@ -6947,6 +6923,7 @@ NINJA=$ninja $meson setup \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
+ -Dcurl=$curl \
-Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
-Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \
-Dvhost_user_blk_server=$vhost_user_blk_server \
diff --git a/contrib/elf2dmp/meson.build b/contrib/elf2dmp/meson.build
index b3de173316..4d86cb390a 100644
--- a/contrib/elf2dmp/meson.build
+++ b/contrib/elf2dmp/meson.build
@@ -1,4 +1,4 @@
-if 'CONFIG_CURL' in config_host
+if curl.found()
executable('elf2dmp', files('main.c', 'addrspace.c', 'download.c', 'pdb.c', 'qemu_elf.c'),
dependencies: [glib, curl],
install: true)
diff --git a/meson.build b/meson.build
index 2bc667721d..8bf77acc8d 100644
--- a/meson.build
+++ b/meson.build
@@ -396,9 +396,11 @@ if 'CONFIG_VIRGL' in config_host
link_args: config_host['VIRGL_LIBS'].split())
endif
curl = not_found
-if 'CONFIG_CURL' in config_host
- curl = declare_dependency(compile_args: config_host['CURL_CFLAGS'].split(),
- link_args: config_host['CURL_LIBS'].split())
+if not get_option('curl').auto() or have_block
+ curl = dependency('libcurl', version: '>=7.29.0',
+ method: 'pkg-config',
+ required: get_option('curl'),
+ static: enable_static)
endif
libudev = not_found
if targetos == 'linux' and (have_system or have_tools)
@@ -876,6 +878,7 @@ config_host_data.set('CONFIG_COCOA', cocoa.found())
config_host_data.set('CONFIG_LIBUDEV', libudev.found())
config_host_data.set('CONFIG_MPATH', mpathpersist.found())
config_host_data.set('CONFIG_MPATH_NEW_API', mpathpersist_new_api)
+config_host_data.set('CONFIG_CURL', curl.found())
config_host_data.set('CONFIG_CURSES', curses.found())
config_host_data.set('CONFIG_SDL', sdl.found())
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
@@ -2165,7 +2168,7 @@ summary_info += {'iconv support': iconv.found()}
summary_info += {'curses support': curses.found()}
# TODO: add back version
summary_info += {'virgl support': config_host.has_key('CONFIG_VIRGL')}
-summary_info += {'curl support': config_host.has_key('CONFIG_CURL')}
+summary_info += {'curl support': curl.found()}
summary_info += {'mingw32 support': targetos == 'windows'}
summary_info += {'Audio drivers': config_host['CONFIG_AUDIO_DRIVERS']}
summary_info += {'Block whitelist (rw)': config_host['CONFIG_BDRV_RW_WHITELIST']}
diff --git a/meson_options.txt b/meson_options.txt
index 62efe96a91..2b845ac62b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -44,6 +44,8 @@ option('brlapi', type : 'feature', value : 'auto',
description: 'brlapi character device driver')
option('cocoa', type : 'feature', value : 'auto',
description: 'Cocoa user interface (macOS only)')
+option('curl', type : 'feature', value : 'auto',
+ description: 'CURL block device driver')
option('mpath', type : 'feature', value : 'auto',
description: 'Multipath persistent reservation passthrough')
option('iconv', type : 'feature', value : 'auto',