All of lore.kernel.org
 help / color / mirror / Atom feed
* configure --without-default-features confusion
@ 2021-07-08 19:12 Cole Robinson
  2021-07-13  7:20 ` Thomas Huth
  0 siblings, 1 reply; 3+ messages in thread
From: Cole Robinson @ 2021-07-08 19:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: alex.bennee

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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: configure --without-default-features confusion
  2021-07-08 19:12 configure --without-default-features confusion Cole Robinson
@ 2021-07-13  7:20 ` Thomas Huth
  2021-07-13  9:00   ` Thomas Huth
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2021-07-13  7:20 UTC (permalink / raw)
  To: Cole Robinson, qemu-devel; +Cc: Paolo Bonzini, alex.bennee

On 08/07/2021 21.12, Cole Robinson wrote:
> 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) \

Looks like you've found a bug... Could you please send this as a proper 
patch to the mailing list?

> 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'?

I guess yes, but I think it's still work in progress ... not every feature 
has been revisited since this switch has been introduced.

  Thomas



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: configure --without-default-features confusion
  2021-07-13  7:20 ` Thomas Huth
@ 2021-07-13  9:00   ` Thomas Huth
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Huth @ 2021-07-13  9:00 UTC (permalink / raw)
  To: Cole Robinson, qemu-devel; +Cc: Paolo Bonzini, alex.bennee

On 13/07/2021 09.20, Thomas Huth wrote:
> On 08/07/2021 21.12, Cole Robinson wrote:
>> 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) \
> 
> Looks like you've found a bug... Could you please send this as a proper 
> patch to the mailing list?
> 
>> 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'?
> 
> I guess yes, but I think it's still work in progress ... not every feature 
> has been revisited since this switch has been introduced.

Ok, scratch that sentence. After looking at configure and meson.build in 
more details, these rather seem like bugs to me.
I'm hacking some patches, will post them later today.

  Thomas



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-07-13  9:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-08 19:12 configure --without-default-features confusion Cole Robinson
2021-07-13  7:20 ` Thomas Huth
2021-07-13  9:00   ` Thomas Huth

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.