diff mbox series

[01/24] configure: remove --oss-lib

Message ID 20211007130630.632028-2-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show
Series configure->meson queue for 6.2 | expand

Commit Message

Paolo Bonzini Oct. 7, 2021, 1:06 p.m. UTC
OSS is a kernel API, so the option should not be needed.  The library
is used on NetBSD, where OSS is emulated, so keep the variable.

Cc: Gerd Hoffman <kraxel@redhat.com>
Cc: Volker Rümelin <vr_qemu@t-online.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 3 ---
 1 file changed, 3 deletions(-)

Comments

Thomas Huth Oct. 7, 2021, 5:32 p.m. UTC | #1
On 07/10/2021 15.06, Paolo Bonzini wrote:
> OSS is a kernel API, so the option should not be needed.  The library
> is used on NetBSD, where OSS is emulated, so keep the variable.
> 
> Cc: Gerd Hoffman <kraxel@redhat.com>
> Cc: Volker Rümelin <vr_qemu@t-online.de>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   configure | 3 ---
>   1 file changed, 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 877bf3d76a..ab6bc0c994 100755
> --- a/configure
> +++ b/configure
> @@ -1007,8 +1007,6 @@ for opt do
>     ;;
>     --enable-gettext) gettext="enabled"
>     ;;
> -  --oss-lib=*) oss_lib="$optarg"
> -  ;;
>     --audio-drv-list=*) audio_drv_list="$optarg"
>     ;;
>     --block-drv-rw-whitelist=*|--block-drv-whitelist=*) block_drv_rw_whitelist=$(echo "$optarg" | sed -e 's/,/ /g')
> @@ -1815,7 +1813,6 @@ Advanced options (experts only):
>     --disable-slirp          disable SLIRP userspace network connectivity
>     --enable-tcg-interpreter enable TCI (TCG with bytecode interpreter, experimental and slow)
>     --enable-malloc-trim     enable libc malloc_trim() for memory optimization
> -  --oss-lib                path to OSS library
>     --cpu=CPU                Build for host CPU [$cpu]
>     --with-coroutine=BACKEND coroutine backend. Supported options:
>                              ucontext, sigaltstack, windows
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>
Marc-André Lureau Oct. 7, 2021, 8:42 p.m. UTC | #2
Hi

On Thu, Oct 7, 2021 at 5:11 PM Paolo Bonzini <pbonzini@redhat.com> wrote:

> OSS is a kernel API, so the option should not be needed.  The library
> is used on NetBSD, where OSS is emulated, so keep the variable.
>
> Cc: Gerd Hoffman <kraxel@redhat.com>
> Cc: Volker Rümelin <vr_qemu@t-online.de>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>

Not just NetBSD. You could --audio-drv-list=oss and --oss-lib= to specify
the library to link with.

However, I am not sure this is still needed. It was introduced in:
commit 2f6a1ab038eefd6e5a9cfc8ec49435f6ad025812
Author: Blue Swirl <blauwirbel@gmail.com>
Date:   Thu Aug 21 18:00:53 2008 +0000

    Fix OSS on OpenBSD

    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5045
c046a42c-6fe2-441c-8c8c-71466251a162

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
>  configure | 3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/configure b/configure
> index 877bf3d76a..ab6bc0c994 100755
> --- a/configure
> +++ b/configure
> @@ -1007,8 +1007,6 @@ for opt do
>    ;;
>    --enable-gettext) gettext="enabled"
>    ;;
> -  --oss-lib=*) oss_lib="$optarg"
> -  ;;
>    --audio-drv-list=*) audio_drv_list="$optarg"
>    ;;
>    --block-drv-rw-whitelist=*|--block-drv-whitelist=*)
> block_drv_rw_whitelist=$(echo "$optarg" | sed -e 's/,/ /g')
> @@ -1815,7 +1813,6 @@ Advanced options (experts only):
>    --disable-slirp          disable SLIRP userspace network connectivity
>    --enable-tcg-interpreter enable TCI (TCG with bytecode interpreter,
> experimental and slow)
>    --enable-malloc-trim     enable libc malloc_trim() for memory
> optimization
> -  --oss-lib                path to OSS library
>    --cpu=CPU                Build for host CPU [$cpu]
>    --with-coroutine=BACKEND coroutine backend. Supported options:
>                             ucontext, sigaltstack, windows
> --
> 2.31.1
>
>
>
>
Paolo Bonzini Oct. 8, 2021, 9:19 a.m. UTC | #3
On 07/10/21 22:42, Marc-André Lureau wrote:
> 
>     Cc: Gerd Hoffman <kraxel@redhat.com <mailto:kraxel@redhat.com>>
>     Cc: Volker Rümelin <vr_qemu@t-online.de <mailto:vr_qemu@t-online.de>>
>     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com
>     <mailto:pbonzini@redhat.com>>
> 
> Not just NetBSD. You could --audio-drv-list=oss and --oss-lib= to 
> specify the library to link with.

Yes, but the question is who would use --oss-lib.  And secondarily, if 
the answer is not "no one", whether they would be accomodated better by 
a change to QEMU itself.

For example OpenBSD support was removed in 2013:

     Remove OSS support for OpenBSD

     Remove the OSS support for OpenBSD. The OSS API has not been usable
     for quite some time.

     Signed-off-by: Brad Smith <brad@comstyle.com>
     Reviewed-by: Laszlo Ersek <lersek@redhat.com>
     Reviewed-by: Andreas Färber <afaerber@suse.de>
     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

However, if it came back from the dead, one could just

    if not cc.has_header('sys/soundcard.h')
      # not found
-  elif targetos == 'netbsd'
+  elif targetos in ['netbsd', 'openbsd']
      oss = cc.find_library('ossaudio', required: get_option('oss'),
                            kwargs: static_kwargs)
    else

instead of using something like --oss-lib.

Paolo
diff mbox series

Patch

diff --git a/configure b/configure
index 877bf3d76a..ab6bc0c994 100755
--- a/configure
+++ b/configure
@@ -1007,8 +1007,6 @@  for opt do
   ;;
   --enable-gettext) gettext="enabled"
   ;;
-  --oss-lib=*) oss_lib="$optarg"
-  ;;
   --audio-drv-list=*) audio_drv_list="$optarg"
   ;;
   --block-drv-rw-whitelist=*|--block-drv-whitelist=*) block_drv_rw_whitelist=$(echo "$optarg" | sed -e 's/,/ /g')
@@ -1815,7 +1813,6 @@  Advanced options (experts only):
   --disable-slirp          disable SLIRP userspace network connectivity
   --enable-tcg-interpreter enable TCI (TCG with bytecode interpreter, experimental and slow)
   --enable-malloc-trim     enable libc malloc_trim() for memory optimization
-  --oss-lib                path to OSS library
   --cpu=CPU                Build for host CPU [$cpu]
   --with-coroutine=BACKEND coroutine backend. Supported options:
                            ucontext, sigaltstack, windows