All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cole Robinson <crobinso@redhat.com>
To: qemu-devel <qemu-devel@nongnu.org>
Cc: alex.bennee@linaro.org
Subject: configure --without-default-features confusion
Date: Thu, 8 Jul 2021 15:12:51 -0400	[thread overview]
Message-ID: <d7cb1c8f-036d-1be8-e259-cd71ce8a1649@redhat.com> (raw)

Hi all,

I'm a bit confused about the intended scope of ./configure
--without-default-features. When I try it here there's still lots of
stuff enabled:

$ ./configure --without-default-features
    ...
    VNC support                  : YES
    VNC SASL support             : YES
    VNC JPEG support             : YES
    VNC PNG support              : YES
    brlapi support               : YES
    vde support                  : NO
    netmap support               : NO
    Linux AIO support            : NO
    Linux io_uring support       : YES
    ATTR/XATTR support           : YES
    RDMA support                 : NO
    PVRDMA support               : NO
    ...

So rdma/pvrdma, which I have libs for, are disabled, but brlapi, which I
have libs for, is auto enabled. VNC is not dependent on any external
libraries, but it's still enabled. Etc.

...okay now that I poke at this a bit, the brlapi bit and most (but not
all) other features are disabled if I fix this:

> diff --git a/configure b/configure
> index 650d9c0735..a71ebe10ff 100755
> --- a/configure
> +++ b/configure
> @@ -5189,7 +5189,7 @@ if test "$skip_meson" = no; then
>          -Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \
>          -Dvhost_user_blk_server=$vhost_user_blk_server -Dmultiprocess=$multiprocess \
>          -Dfuse=$fuse -Dfuse_lseek=$fuse_lseek -Dguest_agent_msi=$guest_agent_msi -Dbpf=$bpf\
> -        $(if test "$default_features" = no; then echo "-Dauto_features=disabled"; fi) \
> +        $(if test "$default_feature" = no; then echo "-Dauto_features=disabled"; fi) \
>         -Dtcg_interpreter=$tcg_interpreter \
>          $cross_arg \
>          "$PWD" "$source_path"

But there's still a handful of things that are left enabled, for example
 VNC, xen, vhost-vdpa, ...

Is the intention for this knob to be a 'disable everything'? If so maybe
it should be renamed to --disable-everything to make it less ambiguous,
and make it trigger every single --disable-XXX knob. That would be
useful for Fedora + RHEL qemu building where we enumerate every
--disable-XXX knob already, then build the configure invocation back up
with everything we explicitly want to --enable.

There would need to be some extra work done like adding --enable-XXX
counterparts for things that lack them, like --enable-blobs. Also it's
unclear if we would want it to trigger stuff like --disable-strip,
--disable-werror, etc

Thanks,
Cole



             reply	other threads:[~2021-07-08 19:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08 19:12 Cole Robinson [this message]
2021-07-13  7:20 ` configure --without-default-features confusion Thomas Huth
2021-07-13  9:00   ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d7cb1c8f-036d-1be8-e259-cd71ce8a1649@redhat.com \
    --to=crobinso@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.