diff mbox series

[v2,1/2] tests/vhost-user-bridge: move to contrib/

Message ID 20200207095412.794912-1-lvivier@redhat.com
State New
Headers show
Series [v2,1/2] tests/vhost-user-bridge: move to contrib/ | expand

Commit Message

Laurent Vivier Feb. 7, 2020, 9:54 a.m. UTC
vhost-user-bridge is not a test. Move it to contrib/ and
add it to the tools list.

It will be built only if tools (--enable-tools) and
vhost-user (--enable-vhost-user) are enabled (both are set
by default).

Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---

Notes:
    v2: update docs

 Makefile                                                      | 3 +++
 Makefile.objs                                                 | 1 +
 configure                                                     | 3 +++
 contrib/vhost-user-bridge/Makefile.objs                       | 1 +
 tests/vhost-user-bridge.c => contrib/vhost-user-bridge/main.c | 0
 docs/devel/migration.rst                                      | 2 +-
 tests/Makefile.include                                        | 1 -
 7 files changed, 9 insertions(+), 2 deletions(-)
 create mode 100644 contrib/vhost-user-bridge/Makefile.objs
 rename tests/vhost-user-bridge.c => contrib/vhost-user-bridge/main.c (100%)

Comments

Juan Quintela Feb. 7, 2020, 11:12 a.m. UTC | #1
Laurent Vivier <lvivier@redhat.com> wrote:
> vhost-user-bridge is not a test. Move it to contrib/ and
> add it to the tools list.
>
> It will be built only if tools (--enable-tools) and
> vhost-user (--enable-vhost-user) are enabled (both are set
> by default).
>
> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>
Stefan Hajnoczi Feb. 10, 2020, 5:02 p.m. UTC | #2
On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
> vhost-user-bridge is not a test. Move it to contrib/ and
> add it to the tools list.
> 
> It will be built only if tools (--enable-tools) and
> vhost-user (--enable-vhost-user) are enabled (both are set
> by default).
> 
> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> 
> Notes:
>     v2: update docs
> 
>  Makefile                                                      | 3 +++
>  Makefile.objs                                                 | 1 +
>  configure                                                     | 3 +++
>  contrib/vhost-user-bridge/Makefile.objs                       | 1 +
>  tests/vhost-user-bridge.c => contrib/vhost-user-bridge/main.c | 0
>  docs/devel/migration.rst                                      | 2 +-
>  tests/Makefile.include                                        | 1 -
>  7 files changed, 9 insertions(+), 2 deletions(-)
>  create mode 100644 contrib/vhost-user-bridge/Makefile.objs
>  rename tests/vhost-user-bridge.c => contrib/vhost-user-bridge/main.c (100%)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Michael S. Tsirkin March 1, 2020, 12:12 p.m. UTC | #3
On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
> vhost-user-bridge is not a test. Move it to contrib/ and
> add it to the tools list.
> 
> It will be built only if tools (--enable-tools) and
> vhost-user (--enable-vhost-user) are enabled (both are set
> by default).
> 
> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


I had to drop this series from my tree since it cause failures
on OSX. Pls use something like travis CI to test when you repost
a fixed version. Thanks!


> ---
> 
> Notes:
>     v2: update docs
> 
>  Makefile                                                      | 3 +++
>  Makefile.objs                                                 | 1 +
>  configure                                                     | 3 +++
>  contrib/vhost-user-bridge/Makefile.objs                       | 1 +
>  tests/vhost-user-bridge.c => contrib/vhost-user-bridge/main.c | 0
>  docs/devel/migration.rst                                      | 2 +-
>  tests/Makefile.include                                        | 1 -
>  7 files changed, 9 insertions(+), 2 deletions(-)
>  create mode 100644 contrib/vhost-user-bridge/Makefile.objs
>  rename tests/vhost-user-bridge.c => contrib/vhost-user-bridge/main.c (100%)
> 
> diff --git a/Makefile b/Makefile
> index 461d40bea6c2..23342a433e11 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -442,6 +442,7 @@ dummy := $(call unnest-vars,, \
>                  libvhost-user-obj-y \
>                  vhost-user-scsi-obj-y \
>                  vhost-user-blk-obj-y \
> +                vhost-user-bridge-obj-y \
>                  vhost-user-input-obj-y \
>                  vhost-user-gpu-obj-y \
>                  qga-vss-dll-obj-y \
> @@ -672,6 +673,8 @@ vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) libvhost-user.a
>  	$(call LINK, $^)
>  vhost-user-blk$(EXESUF): $(vhost-user-blk-obj-y) libvhost-user.a
>  	$(call LINK, $^)
> +vhost-user-bridge$(EXESUF): $(vhost-user-bridge-obj-y) libvhost-user.a
> +	$(call LINK, $^)
>  
>  rdmacm-mux$(EXESUF): LIBS += "-libumad"
>  rdmacm-mux$(EXESUF): $(rdmacm-mux-obj-y) $(COMMON_LDADDS)
> diff --git a/Makefile.objs b/Makefile.objs
> index 26b9cff95436..0240100b9a17 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -109,6 +109,7 @@ vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
>  vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
>  vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
>  vhost-user-blk-obj-y = contrib/vhost-user-blk/
> +vhost-user-bridge-obj-y = contrib/vhost-user-bridge/
>  rdmacm-mux-obj-y = contrib/rdmacm-mux/
>  vhost-user-input-obj-y = contrib/vhost-user-input/
>  vhost-user-gpu-obj-y = contrib/vhost-user-gpu/
> diff --git a/configure b/configure
> index 115dc38085f3..0415eb5c99d3 100755
> --- a/configure
> +++ b/configure
> @@ -6223,6 +6223,9 @@ if test "$want_tools" = "yes" ; then
>    if [ "$curl" = "yes" ]; then
>        tools="elf2dmp\$(EXESUF) $tools"
>    fi
> +  if [ "$vhost_user" = "yes" ]; then
> +      tools="vhost-user-bridge\$(EXESUF) $tools"
> +  fi
>  fi
>  if test "$softmmu" = yes ; then
>    if test "$linux" = yes; then
> diff --git a/contrib/vhost-user-bridge/Makefile.objs b/contrib/vhost-user-bridge/Makefile.objs
> new file mode 100644
> index 000000000000..36a8d9b49a05
> --- /dev/null
> +++ b/contrib/vhost-user-bridge/Makefile.objs
> @@ -0,0 +1 @@
> +vhost-user-bridge-obj-y = main.o
> diff --git a/tests/vhost-user-bridge.c b/contrib/vhost-user-bridge/main.c
> similarity index 100%
> rename from tests/vhost-user-bridge.c
> rename to contrib/vhost-user-bridge/main.c
> diff --git a/docs/devel/migration.rst b/docs/devel/migration.rst
> index e88918f7639e..d00424460e23 100644
> --- a/docs/devel/migration.rst
> +++ b/docs/devel/migration.rst
> @@ -807,7 +807,7 @@ The Linux kernel userfault support works on `/dev/shm` memory and on `hugetlbfs`
>  for hugetlbfs which may be a problem in some configurations).
>  
>  The vhost-user code in QEMU supports clients that have Postcopy support,
> -and the `vhost-user-bridge` (in `tests/`) and the DPDK package have changes
> +and the `vhost-user-bridge` (in `contrib/`) and the DPDK package have changes
>  to support postcopy.
>  
>  The client needs to open a userfaultfd and register the areas
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 2f1cafed720d..78cdbe91aed5 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -586,7 +586,6 @@ include $(SRC_PATH)/tests/qtest/Makefile.include
>  
>  tests/test-qga$(EXESUF): qemu-ga$(EXESUF)
>  tests/test-qga$(EXESUF): tests/test-qga.o $(qtest-obj-y)
> -tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o $(test-util-obj-y) libvhost-user.a
>  
>  SPEED = quick
>  
> -- 
> 2.24.1
Laurent Vivier March 2, 2020, 9:50 a.m. UTC | #4
On 01/03/2020 13:12, Michael S. Tsirkin wrote:
> On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
>> vhost-user-bridge is not a test. Move it to contrib/ and
>> add it to the tools list.
>>
>> It will be built only if tools (--enable-tools) and
>> vhost-user (--enable-vhost-user) are enabled (both are set
>> by default).
>>
>> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> 
> I had to drop this series from my tree since it cause failures
> on OSX. Pls use something like travis CI to test when you repost
> a fixed version. Thanks!
> 

Do you have a link to the error logs?

Thanks,
Laurent
Michael S. Tsirkin March 2, 2020, 10:53 a.m. UTC | #5
On Mon, Mar 02, 2020 at 10:50:16AM +0100, Laurent Vivier wrote:
> On 01/03/2020 13:12, Michael S. Tsirkin wrote:
> > On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
> >> vhost-user-bridge is not a test. Move it to contrib/ and
> >> add it to the tools list.
> >>
> >> It will be built only if tools (--enable-tools) and
> >> vhost-user (--enable-vhost-user) are enabled (both are set
> >> by default).
> >>
> >> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> >> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> >> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > 
> > 
> > I had to drop this series from my tree since it cause failures
> > on OSX. Pls use something like travis CI to test when you repost
> > a fixed version. Thanks!
> > 
> 
> Do you have a link to the error logs?
> 
> Thanks,
> Laurent


Peter sent me this:


Hi; this fails to build on OSX:

  CC      contrib/libvhost-user/libvhost-user.o
/Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.c:27:10:
fatal error: 'sys/eventfd.h' file not found
#include <sys/eventfd.h>
         ^~~~~~~~~~~~~~~
In file included from
/Users/pm215/src/qemu-for-merges/contrib/vhost-user-bridge/main.c:37:
/Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.h:21:10:
fatal error: 'linux/vhost.h' file not found
#include <linux/vhost.h>
         ^~~~~~~~~~~~~~~
1 error generated.

thanks
-- PMM

But pls do test on OSX before reposting.
Laurent Vivier March 2, 2020, 11:19 a.m. UTC | #6
On 02/03/2020 11:53, Michael S. Tsirkin wrote:
> On Mon, Mar 02, 2020 at 10:50:16AM +0100, Laurent Vivier wrote:
>> On 01/03/2020 13:12, Michael S. Tsirkin wrote:
>>> On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
>>>> vhost-user-bridge is not a test. Move it to contrib/ and
>>>> add it to the tools list.
>>>>
>>>> It will be built only if tools (--enable-tools) and
>>>> vhost-user (--enable-vhost-user) are enabled (both are set
>>>> by default).
>>>>
>>>> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>>>> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
>>>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>
>>>
>>> I had to drop this series from my tree since it cause failures
>>> on OSX. Pls use something like travis CI to test when you repost
>>> a fixed version. Thanks!
>>>
>>
>> Do you have a link to the error logs?
>>
>> Thanks,
>> Laurent
> 
> 
> Peter sent me this:
> 
> 
> Hi; this fails to build on OSX:
> 
>   CC      contrib/libvhost-user/libvhost-user.o
> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.c:27:10:
> fatal error: 'sys/eventfd.h' file not found
> #include <sys/eventfd.h>
>          ^~~~~~~~~~~~~~~
> In file included from
> /Users/pm215/src/qemu-for-merges/contrib/vhost-user-bridge/main.c:37:
> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.h:21:10:
> fatal error: 'linux/vhost.h' file not found
> #include <linux/vhost.h>
>          ^~~~~~~~~~~~~~~
> 1 error generated.
> 
> thanks
> -- PMM
> 
> But pls do test on OSX before reposting.
> 

Thank you.

I will fix and test the new patch with Travis CI.

Laurent
Laurent Vivier March 2, 2020, 12:30 p.m. UTC | #7
On 02/03/2020 12:19, Laurent Vivier wrote:
> On 02/03/2020 11:53, Michael S. Tsirkin wrote:
>> On Mon, Mar 02, 2020 at 10:50:16AM +0100, Laurent Vivier wrote:
>>> On 01/03/2020 13:12, Michael S. Tsirkin wrote:
>>>> On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
>>>>> vhost-user-bridge is not a test. Move it to contrib/ and
>>>>> add it to the tools list.
>>>>>
>>>>> It will be built only if tools (--enable-tools) and
>>>>> vhost-user (--enable-vhost-user) are enabled (both are set
>>>>> by default).
>>>>>
>>>>> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>>>>> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
>>>>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>
>>>>
>>>> I had to drop this series from my tree since it cause failures
>>>> on OSX. Pls use something like travis CI to test when you repost
>>>> a fixed version. Thanks!
>>>>
>>>
>>> Do you have a link to the error logs?
>>>
>>> Thanks,
>>> Laurent
>>
>>
>> Peter sent me this:
>>
>>
>> Hi; this fails to build on OSX:
>>
>>   CC      contrib/libvhost-user/libvhost-user.o
>> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.c:27:10:
>> fatal error: 'sys/eventfd.h' file not found
>> #include <sys/eventfd.h>
>>          ^~~~~~~~~~~~~~~
>> In file included from
>> /Users/pm215/src/qemu-for-merges/contrib/vhost-user-bridge/main.c:37:
>> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.h:21:10:
>> fatal error: 'linux/vhost.h' file not found
>> #include <linux/vhost.h>
>>          ^~~~~~~~~~~~~~~
>> 1 error generated.
>>
>> thanks
>> -- PMM
>>
>> But pls do test on OSX before reposting.
>>
> 
> Thank you.
> 
> I will fix and test the new patch with Travis CI.

In fact, travis was enabled when I sent the series but the QEMU
.travis.yml disables the tools so the vhost-user-bridge was not built.

Thanks,
Laurent
Philippe Mathieu-Daudé March 2, 2020, 1:12 p.m. UTC | #8
On 3/2/20 1:30 PM, Laurent Vivier wrote:
> On 02/03/2020 12:19, Laurent Vivier wrote:
>> On 02/03/2020 11:53, Michael S. Tsirkin wrote:
>>> On Mon, Mar 02, 2020 at 10:50:16AM +0100, Laurent Vivier wrote:
>>>> On 01/03/2020 13:12, Michael S. Tsirkin wrote:
>>>>> On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
>>>>>> vhost-user-bridge is not a test. Move it to contrib/ and
>>>>>> add it to the tools list.
>>>>>>
>>>>>> It will be built only if tools (--enable-tools) and
>>>>>> vhost-user (--enable-vhost-user) are enabled (both are set
>>>>>> by default).
>>>>>>
>>>>>> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>>>>>> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
>>>>>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>>
>>>>>
>>>>> I had to drop this series from my tree since it cause failures
>>>>> on OSX. Pls use something like travis CI to test when you repost
>>>>> a fixed version. Thanks!
>>>>>
>>>>
>>>> Do you have a link to the error logs?
>>>>
>>>> Thanks,
>>>> Laurent
>>>
>>>
>>> Peter sent me this:
>>>
>>>
>>> Hi; this fails to build on OSX:
>>>
>>>    CC      contrib/libvhost-user/libvhost-user.o
>>> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.c:27:10:
>>> fatal error: 'sys/eventfd.h' file not found
>>> #include <sys/eventfd.h>
>>>           ^~~~~~~~~~~~~~~
>>> In file included from
>>> /Users/pm215/src/qemu-for-merges/contrib/vhost-user-bridge/main.c:37:
>>> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.h:21:10:
>>> fatal error: 'linux/vhost.h' file not found
>>> #include <linux/vhost.h>
>>>           ^~~~~~~~~~~~~~~
>>> 1 error generated.
>>>
>>> thanks
>>> -- PMM
>>>
>>> But pls do test on OSX before reposting.
>>>
>>
>> Thank you.
>>
>> I will fix and test the new patch with Travis CI.
> 
> In fact, travis was enabled when I sent the series but the QEMU
> .travis.yml disables the tools so the vhost-user-bridge was not built.

Can you send a patch to enable them?

> 
> Thanks,
> Laurent
>
Laurent Vivier March 2, 2020, 1:25 p.m. UTC | #9
On 02/03/2020 14:12, Philippe Mathieu-Daudé wrote:
> On 3/2/20 1:30 PM, Laurent Vivier wrote:
>> On 02/03/2020 12:19, Laurent Vivier wrote:
>>> On 02/03/2020 11:53, Michael S. Tsirkin wrote:
>>>> On Mon, Mar 02, 2020 at 10:50:16AM +0100, Laurent Vivier wrote:
>>>>> On 01/03/2020 13:12, Michael S. Tsirkin wrote:
>>>>>> On Fri, Feb 07, 2020 at 10:54:11AM +0100, Laurent Vivier wrote:
>>>>>>> vhost-user-bridge is not a test. Move it to contrib/ and
>>>>>>> add it to the tools list.
>>>>>>>
>>>>>>> It will be built only if tools (--enable-tools) and
>>>>>>> vhost-user (--enable-vhost-user) are enabled (both are set
>>>>>>> by default).
>>>>>>>
>>>>>>> Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>>>>>>> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
>>>>>>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>>>
>>>>>>
>>>>>> I had to drop this series from my tree since it cause failures
>>>>>> on OSX. Pls use something like travis CI to test when you repost
>>>>>> a fixed version. Thanks!
>>>>>>
>>>>>
>>>>> Do you have a link to the error logs?
>>>>>
>>>>> Thanks,
>>>>> Laurent
>>>>
>>>>
>>>> Peter sent me this:
>>>>
>>>>
>>>> Hi; this fails to build on OSX:
>>>>
>>>>    CC      contrib/libvhost-user/libvhost-user.o
>>>> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.c:27:10:
>>>>
>>>> fatal error: 'sys/eventfd.h' file not found
>>>> #include <sys/eventfd.h>
>>>>           ^~~~~~~~~~~~~~~
>>>> In file included from
>>>> /Users/pm215/src/qemu-for-merges/contrib/vhost-user-bridge/main.c:37:
>>>> /Users/pm215/src/qemu-for-merges/contrib/libvhost-user/libvhost-user.h:21:10:
>>>>
>>>> fatal error: 'linux/vhost.h' file not found
>>>> #include <linux/vhost.h>
>>>>           ^~~~~~~~~~~~~~~
>>>> 1 error generated.
>>>>
>>>> thanks
>>>> -- PMM
>>>>
>>>> But pls do test on OSX before reposting.
>>>>
>>>
>>> Thank you.
>>>
>>> I will fix and test the new patch with Travis CI.
>>
>> In fact, travis was enabled when I sent the series but the QEMU
>> .travis.yml disables the tools so the vhost-user-bridge was not built.
> 
> Can you send a patch to enable them?

I don't know the best way to do that.

Perhaps to define a BASE_CONFIG with --enable-tools in "OSX Xcode 10.3"
section?

Thanks,
Laurent
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 461d40bea6c2..23342a433e11 100644
--- a/Makefile
+++ b/Makefile
@@ -442,6 +442,7 @@  dummy := $(call unnest-vars,, \
                 libvhost-user-obj-y \
                 vhost-user-scsi-obj-y \
                 vhost-user-blk-obj-y \
+                vhost-user-bridge-obj-y \
                 vhost-user-input-obj-y \
                 vhost-user-gpu-obj-y \
                 qga-vss-dll-obj-y \
@@ -672,6 +673,8 @@  vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) libvhost-user.a
 	$(call LINK, $^)
 vhost-user-blk$(EXESUF): $(vhost-user-blk-obj-y) libvhost-user.a
 	$(call LINK, $^)
+vhost-user-bridge$(EXESUF): $(vhost-user-bridge-obj-y) libvhost-user.a
+	$(call LINK, $^)
 
 rdmacm-mux$(EXESUF): LIBS += "-libumad"
 rdmacm-mux$(EXESUF): $(rdmacm-mux-obj-y) $(COMMON_LDADDS)
diff --git a/Makefile.objs b/Makefile.objs
index 26b9cff95436..0240100b9a17 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -109,6 +109,7 @@  vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
 vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
 vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
 vhost-user-blk-obj-y = contrib/vhost-user-blk/
+vhost-user-bridge-obj-y = contrib/vhost-user-bridge/
 rdmacm-mux-obj-y = contrib/rdmacm-mux/
 vhost-user-input-obj-y = contrib/vhost-user-input/
 vhost-user-gpu-obj-y = contrib/vhost-user-gpu/
diff --git a/configure b/configure
index 115dc38085f3..0415eb5c99d3 100755
--- a/configure
+++ b/configure
@@ -6223,6 +6223,9 @@  if test "$want_tools" = "yes" ; then
   if [ "$curl" = "yes" ]; then
       tools="elf2dmp\$(EXESUF) $tools"
   fi
+  if [ "$vhost_user" = "yes" ]; then
+      tools="vhost-user-bridge\$(EXESUF) $tools"
+  fi
 fi
 if test "$softmmu" = yes ; then
   if test "$linux" = yes; then
diff --git a/contrib/vhost-user-bridge/Makefile.objs b/contrib/vhost-user-bridge/Makefile.objs
new file mode 100644
index 000000000000..36a8d9b49a05
--- /dev/null
+++ b/contrib/vhost-user-bridge/Makefile.objs
@@ -0,0 +1 @@ 
+vhost-user-bridge-obj-y = main.o
diff --git a/tests/vhost-user-bridge.c b/contrib/vhost-user-bridge/main.c
similarity index 100%
rename from tests/vhost-user-bridge.c
rename to contrib/vhost-user-bridge/main.c
diff --git a/docs/devel/migration.rst b/docs/devel/migration.rst
index e88918f7639e..d00424460e23 100644
--- a/docs/devel/migration.rst
+++ b/docs/devel/migration.rst
@@ -807,7 +807,7 @@  The Linux kernel userfault support works on `/dev/shm` memory and on `hugetlbfs`
 for hugetlbfs which may be a problem in some configurations).
 
 The vhost-user code in QEMU supports clients that have Postcopy support,
-and the `vhost-user-bridge` (in `tests/`) and the DPDK package have changes
+and the `vhost-user-bridge` (in `contrib/`) and the DPDK package have changes
 to support postcopy.
 
 The client needs to open a userfaultfd and register the areas
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 2f1cafed720d..78cdbe91aed5 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -586,7 +586,6 @@  include $(SRC_PATH)/tests/qtest/Makefile.include
 
 tests/test-qga$(EXESUF): qemu-ga$(EXESUF)
 tests/test-qga$(EXESUF): tests/test-qga.o $(qtest-obj-y)
-tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o $(test-util-obj-y) libvhost-user.a
 
 SPEED = quick