Hi

On Thu, Dec 17, 2020 at 1:40 PM Paolo Bonzini <pbonz...@redhat.com> wrote:

> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
>
---
>  configure                   | 31 ++++---------------------------
>  contrib/elf2dmp/meson.build |  2 +-
>  meson.build                 | 11 +++++++----
>  meson_options.txt           |  2 ++
>  4 files changed, 14 insertions(+), 32 deletions(-)
>
> diff --git a/configure b/configure
> index c0a3e1556b..71196b1fe7 100755
> --- a/configure
> +++ b/configure
> @@ -307,7 +307,7 @@ for opt do
>  done
>
>  brlapi="auto"
> -curl="$default_feature"
> +curl="auto"
>

What about default_feature=no ?

 iconv="auto"
>  curses="auto"
>  docs="auto"
> @@ -1216,9 +1216,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
>      esac
>  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
>
> @@ -6104,11 +6085,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
> @@ -6943,6 +6919,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 70f81121d7..83dbc61acd 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -392,9 +392,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)
> @@ -872,6 +874,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())
> @@ -2160,7 +2163,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',
> --
> 2.29.2
>
>
>

Reply via email to