[PATCH] meson: always include contrib/libvhost-user

Stefan Hajnoczi posted 1 patch 3 years, 4 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20201106210340.698771-1-stefanha@redhat.com
meson.build | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
[PATCH] meson: always include contrib/libvhost-user
Posted by Stefan Hajnoczi 3 years, 4 months ago
libvhost-user is needed when CONFIG_LINUX is set. The CONFIG_VHOST_USER
check in meson.build is incorrect.

In fact, no explicit check is needed since this dependency is not built
by default. If something declares a dependency on libvhost-user then it
will be built, otherwise it won't be built (i.e. on non-Linux hosts).

This fixes ./configure --disable-vhost-user && make.

Fixes: bc15e44cb2191bbb2318878acdf5038134e56394 ("configure: introduce --enable-vhost-user-blk-server")
Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reported-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 meson.build | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/meson.build b/meson.build
index f5175010df..b473620321 100644
--- a/meson.build
+++ b/meson.build
@@ -1450,11 +1450,7 @@ trace_events_subdirs += [
   'util',
 ]
 
-vhost_user = not_found
-if 'CONFIG_VHOST_USER' in config_host
-  subdir('contrib/libvhost-user')
-endif
-
+subdir('contrib/libvhost-user')
 subdir('qapi')
 subdir('qobject')
 subdir('stubs')
-- 
2.28.0

Re: [PATCH] meson: always include contrib/libvhost-user
Posted by Michael S. Tsirkin 3 years, 4 months ago
On Fri, Nov 06, 2020 at 09:03:40PM +0000, Stefan Hajnoczi wrote:
> libvhost-user is needed when CONFIG_LINUX is set. The CONFIG_VHOST_USER
> check in meson.build is incorrect.
> 
> In fact, no explicit check is needed since this dependency is not built
> by default. If something declares a dependency on libvhost-user then it
> will be built, otherwise it won't be built (i.e. on non-Linux hosts).
> 
> This fixes ./configure --disable-vhost-user && make.
> 
> Fixes: bc15e44cb2191bbb2318878acdf5038134e56394 ("configure: introduce --enable-vhost-user-blk-server")
> Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Reported-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

Applied, thanks!

It's probably time to move libvhost-user out of contrib.


> ---
>  meson.build | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index f5175010df..b473620321 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1450,11 +1450,7 @@ trace_events_subdirs += [
>    'util',
>  ]
>  
> -vhost_user = not_found
> -if 'CONFIG_VHOST_USER' in config_host
> -  subdir('contrib/libvhost-user')
> -endif
> -
> +subdir('contrib/libvhost-user')
>  subdir('qapi')
>  subdir('qobject')
>  subdir('stubs')
> -- 
> 2.28.0
> 


Re: [PATCH] meson: always include contrib/libvhost-user
Posted by Philippe Mathieu-Daudé 3 years, 4 months ago
On 11/6/20 10:03 PM, Stefan Hajnoczi wrote:
> libvhost-user is needed when CONFIG_LINUX is set. The CONFIG_VHOST_USER
> check in meson.build is incorrect.
> 
> In fact, no explicit check is needed since this dependency is not built
> by default. If something declares a dependency on libvhost-user then it
> will be built, otherwise it won't be built (i.e. on non-Linux hosts).
> 
> This fixes ./configure --disable-vhost-user && make.
> 
> Fixes: bc15e44cb2191bbb2318878acdf5038134e56394 ("configure: introduce --enable-vhost-user-blk-server")
> Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Reported-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  meson.build | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index f5175010df..b473620321 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1450,11 +1450,7 @@ trace_events_subdirs += [
>    'util',
>  ]
>  
> -vhost_user = not_found
> -if 'CONFIG_VHOST_USER' in config_host
> -  subdir('contrib/libvhost-user')
> -endif
> -
> +subdir('contrib/libvhost-user')

I haven't reviewed what this code does, but testing it I see:

 $ ../configure --disable-vhost-user

        vhost-user support: YES

which doesn't look correct...

>  subdir('qapi')
>  subdir('qobject')
>  subdir('stubs')
> 


Re: [PATCH] meson: always include contrib/libvhost-user
Posted by Thomas Huth 3 years, 4 months ago
On 08/11/2020 16.54, Philippe Mathieu-Daudé wrote:
> On 11/6/20 10:03 PM, Stefan Hajnoczi wrote:
>> libvhost-user is needed when CONFIG_LINUX is set. The CONFIG_VHOST_USER
>> check in meson.build is incorrect.
>>
>> In fact, no explicit check is needed since this dependency is not built
>> by default. If something declares a dependency on libvhost-user then it
>> will be built, otherwise it won't be built (i.e. on non-Linux hosts).
>>
>> This fixes ./configure --disable-vhost-user && make.
>>
>> Fixes: bc15e44cb2191bbb2318878acdf5038134e56394 ("configure: introduce --enable-vhost-user-blk-server")
>> Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> Reported-by: Michael S. Tsirkin <mst@redhat.com>
>> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>> ---
>>  meson.build | 6 +-----
>>  1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/meson.build b/meson.build
>> index f5175010df..b473620321 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -1450,11 +1450,7 @@ trace_events_subdirs += [
>>    'util',
>>  ]
>>  
>> -vhost_user = not_found
>> -if 'CONFIG_VHOST_USER' in config_host
>> -  subdir('contrib/libvhost-user')
>> -endif
>> -
>> +subdir('contrib/libvhost-user')
> 
> I haven't reviewed what this code does, but testing it I see:
> 
>  $ ../configure --disable-vhost-user
> 
>         vhost-user support: YES
> 
> which doesn't look correct...

I think it's a bug in meson.build: It says "vhost-user" but then uses the
CONFIG_VHOST_KERNEL switch instead. I just sent a patch to fix this.

 Thomas