[Qemu-devel] [PATCH] configure: Let SDL support be optional on OpenBSD

Philippe Mathieu-Daudé posted 1 patch 6 years, 9 months ago
Test asan passed
Test docker-clang@ubuntu passed
Test docker-mingw@fedora passed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190122190503.13627-1-philmd@redhat.com
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Qemu-devel] [PATCH] configure: Let SDL support be optional on OpenBSD
Posted by Philippe Mathieu-Daudé 6 years, 9 months ago
Currently if we try to build QEMU on OpenBSD with SDL disabled, we get:

  $ ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 --disable-sdl

  ERROR: sdl not found or disabled, can not use sdl audio driver

Since SDL is not a requirement for OpenBSD, let it be optional (we remove
it from $audio_drv_list but it stays available in $audio_possible_drivers).
If no audio backends are available, QEMU falls back to the null driver.

This does not change the default behavior:

  $ ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7
  SDL support       yes (1.2.15)

  WARNING: Use of SDL 1.2 is deprecated and will be removed in
  WARNING: future releases. Please switch to using SDL 2.0

  GEN     config-host.h
  ...

but allows to build without SDL:

  $ ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 --disable-sdl
  SDL support       no
  GEN     config-host.h
  ...

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
See https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg02732.html

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index de768e2343..98fc4fa84a 100755
--- a/configure
+++ b/configure
@@ -828,7 +828,7 @@ NetBSD)
 OpenBSD)
   bsd="yes"
   make="${MAKE-gmake}"
-  audio_drv_list="sdl"
+  audio_drv_list=""
   audio_possible_drivers="sdl"
   HOST_VARIANT_DIR="openbsd"
   supported_os="yes"
-- 
2.20.1


Re: [Qemu-devel] [PATCH] configure: Let SDL support be optional on OpenBSD
Posted by Peter Maydell 6 years, 9 months ago
On Tue, 22 Jan 2019 at 19:05, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> Currently if we try to build QEMU on OpenBSD with SDL disabled, we get:
>
>   $ ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 --disable-sdl
>
>   ERROR: sdl not found or disabled, can not use sdl audio driver
>
> Since SDL is not a requirement for OpenBSD, let it be optional (we remove
> it from $audio_drv_list but it stays available in $audio_possible_drivers).
> If no audio backends are available, QEMU falls back to the null driver.

> --- a/configure
> +++ b/configure
> @@ -828,7 +828,7 @@ NetBSD)
>  OpenBSD)
>    bsd="yes"
>    make="${MAKE-gmake}"
> -  audio_drv_list="sdl"
> +  audio_drv_list=""
>    audio_possible_drivers="sdl"
>    HOST_VARIANT_DIR="openbsd"
>    supported_os="yes"

This will mean that configure will by default not enable
a real audio backend, even if we do have sdl.

Looking at the logic, "audio_possible_drivers" is only
used for printing the help message. The thing that drives
which audio drivers to test with is "audio_drv_list",
and the expectation is that you put things on that only
if it's possible to build with them. (For instance
we only add 'dsound' for mingw if the dsound.h header is
present, and so on.)

So we need to do one of:
 (1) only put "sdl" into audio_drv_list if SDL is
     available (this probably doesn't work as we haven't
     probed for SDL at the point where we initialize it)
 (2) have the sdl probe delete "sdl" from audio_drv_list
     if the probe fails
 (3) some more complicated restructuring :-)
     (eg rather than having audio_drv_list be set to an
     initial list based on the host OS, just have a full
     list of drivers, insist that each has a proper probe
     routine, and use whichever ones we can successfully
     probe)

thanks
-- PMM

Re: [Qemu-devel] [PATCH] configure: Let SDL support be optional on OpenBSD
Posted by Daniel P. Berrangé 6 years, 9 months ago
On Tue, Jan 22, 2019 at 07:20:35PM +0000, Peter Maydell wrote:
> On Tue, 22 Jan 2019 at 19:05, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> >
> > Currently if we try to build QEMU on OpenBSD with SDL disabled, we get:
> >
> >   $ ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 --disable-sdl
> >
> >   ERROR: sdl not found or disabled, can not use sdl audio driver
> >
> > Since SDL is not a requirement for OpenBSD, let it be optional (we remove
> > it from $audio_drv_list but it stays available in $audio_possible_drivers).
> > If no audio backends are available, QEMU falls back to the null driver.
> 
> > --- a/configure
> > +++ b/configure
> > @@ -828,7 +828,7 @@ NetBSD)
> >  OpenBSD)
> >    bsd="yes"
> >    make="${MAKE-gmake}"
> > -  audio_drv_list="sdl"
> > +  audio_drv_list=""
> >    audio_possible_drivers="sdl"
> >    HOST_VARIANT_DIR="openbsd"
> >    supported_os="yes"
> 
> This will mean that configure will by default not enable
> a real audio backend, even if we do have sdl.
> 
> Looking at the logic, "audio_possible_drivers" is only
> used for printing the help message. The thing that drives
> which audio drivers to test with is "audio_drv_list",
> and the expectation is that you put things on that only
> if it's possible to build with them. (For instance
> we only add 'dsound' for mingw if the dsound.h header is
> present, and so on.)
> 
> So we need to do one of:
>  (1) only put "sdl" into audio_drv_list if SDL is
>      available (this probably doesn't work as we haven't
>      probed for SDL at the point where we initialize it)
>  (2) have the sdl probe delete "sdl" from audio_drv_list
>      if the probe fails

This one sounds reasonable to me.

>  (3) some more complicated restructuring :-)
>      (eg rather than having audio_drv_list be set to an
>      initial list based on the host OS, just have a full
>      list of drivers, insist that each has a proper probe
>      routine, and use whichever ones we can successfully
>      probe)


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Re: [Qemu-devel] [PATCH] configure: Let SDL support be optional on OpenBSD
Posted by Philippe Mathieu-Daudé 6 years, 9 months ago
On 1/23/19 10:33 AM, Daniel P. Berrangé wrote:
> On Tue, Jan 22, 2019 at 07:20:35PM +0000, Peter Maydell wrote:
>> On Tue, 22 Jan 2019 at 19:05, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>>
>>> Currently if we try to build QEMU on OpenBSD with SDL disabled, we get:
>>>
>>>   $ ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 --disable-sdl
>>>
>>>   ERROR: sdl not found or disabled, can not use sdl audio driver
>>>
>>> Since SDL is not a requirement for OpenBSD, let it be optional (we remove
>>> it from $audio_drv_list but it stays available in $audio_possible_drivers).
>>> If no audio backends are available, QEMU falls back to the null driver.
>>
>>> --- a/configure
>>> +++ b/configure
>>> @@ -828,7 +828,7 @@ NetBSD)
>>>  OpenBSD)
>>>    bsd="yes"
>>>    make="${MAKE-gmake}"
>>> -  audio_drv_list="sdl"
>>> +  audio_drv_list=""
>>>    audio_possible_drivers="sdl"
>>>    HOST_VARIANT_DIR="openbsd"
>>>    supported_os="yes"
>>
>> This will mean that configure will by default not enable
>> a real audio backend, even if we do have sdl.
>>
>> Looking at the logic, "audio_possible_drivers" is only
>> used for printing the help message. The thing that drives
>> which audio drivers to test with is "audio_drv_list",
>> and the expectation is that you put things on that only
>> if it's possible to build with them. (For instance
>> we only add 'dsound' for mingw if the dsound.h header is
>> present, and so on.)

Yes sorry I missed that Peter :S

>> So we need to do one of:
>>  (1) only put "sdl" into audio_drv_list if SDL is
>>      available (this probably doesn't work as we haven't
>>      probed for SDL at the point where we initialize it)
>>  (2) have the sdl probe delete "sdl" from audio_drv_list
>>      if the probe fails
> 
> This one sounds reasonable to me.

I went this way, but encountered unexpected problems, which makes me
wonder who really use OpenBSD... Anyway the discussion deserves another
thread.

>>  (3) some more complicated restructuring :-)
>>      (eg rather than having audio_drv_list be set to an
>>      initial list based on the host OS, just have a full
>>      list of drivers, insist that each has a proper probe
>>      routine, and use whichever ones we can successfully
>>      probe)
> 
> 
> Regards,
> Daniel
>