All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@gmail.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Volker Rümelin" <vr_qemu@t-online.de>,
	QEMU <qemu-devel@nongnu.org>, "Gerd Hoffman" <kraxel@redhat.com>
Subject: Re: [PATCH 03/24] configure, meson: move audio driver detection to Meson
Date: Fri, 8 Oct 2021 00:42:13 +0400	[thread overview]
Message-ID: <CAJ+F1CKQYCTRcyFpHCsuJ3qy3iHbQY0=sg8_c_ZxpGm5XawJfA@mail.gmail.com> (raw)
In-Reply-To: <20211007130630.632028-4-pbonzini@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 21511 bytes --]

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

> This brings a change that makes audio drivers more similar to all
> other modules.  All drivers are built by default, while
> --audio-drv-list only governs the default choice of the audio driver.
>
> Meson options are added to disable the drivers, and the next patches
> will fix the help messages and command line options, and especially
> make the non-default drivers available via -audiodev.
>
> Cc: Gerd Hoffman <kraxel@redhat.com>
> Cc: Volker Rümelin <vr_qemu@t-online.de>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>

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

---
>  audio/meson.build |  23 +++---
>  configure         | 184 +---------------------------------------------
>  meson.build       | 137 +++++++++++++++++++++++++++++-----
>  meson_options.txt |  18 ++++-
>  4 files changed, 147 insertions(+), 215 deletions(-)
>
> diff --git a/audio/meson.build b/audio/meson.build
> index 9a95c58f18..462533bb8c 100644
> --- a/audio/meson.build
> +++ b/audio/meson.build
> @@ -7,23 +7,22 @@ softmmu_ss.add(files(
>    'wavcapture.c',
>  ))
>
> -softmmu_ss.add(when: [coreaudio, 'CONFIG_AUDIO_COREAUDIO'], if_true:
> files('coreaudio.c'))
> -softmmu_ss.add(when: [dsound, 'CONFIG_AUDIO_DSOUND'],
> -               if_true: files('dsoundaudio.c', 'audio_win_int.c'))
> +softmmu_ss.add(when: coreaudio, if_true: files('coreaudio.c'))
> +softmmu_ss.add(when: dsound, if_true: files('dsoundaudio.c',
> 'audio_win_int.c'))
>
>  audio_modules = {}
>  foreach m : [
> -  ['CONFIG_AUDIO_ALSA', 'alsa', alsa, 'alsaaudio.c'],
> -  ['CONFIG_AUDIO_OSS', 'oss', oss, 'ossaudio.c'],
> -  ['CONFIG_AUDIO_PA', 'pa', pulse, 'paaudio.c'],
> -  ['CONFIG_AUDIO_SDL', 'sdl', sdl, 'sdlaudio.c'],
> -  ['CONFIG_AUDIO_JACK', 'jack', jack, 'jackaudio.c'],
> -  ['CONFIG_SPICE', 'spice', spice, 'spiceaudio.c']
> +  ['alsa', alsa, files('alsaaudio.c')],
> +  ['oss', oss, files('ossaudio.c')],
> +  ['pa', pulse, files('paaudio.c')],
> +  ['sdl', sdl, files('sdlaudio.c')],
> +  ['jack', jack, files('jackaudio.c')],
> +  ['spice', spice, files('spiceaudio.c')]
>  ]
> -  if config_host.has_key(m[0])
> +  if m[1].found()
>      module_ss = ss.source_set()
> -    module_ss.add(when: m[2], if_true: files(m[3]))
> -    audio_modules += {m[1] : module_ss}
> +    module_ss.add(m[1], m[2])
> +    audio_modules += {m[0] : module_ss}
>    endif
>  endforeach
>
> diff --git a/configure b/configure
> index 6a6273ce7b..fcadcf9577 100755
> --- a/configure
> +++ b/configure
> @@ -240,7 +240,7 @@ interp_prefix="/usr/gnemul/qemu-%M"
>  static="no"
>  cross_compile="no"
>  cross_prefix=""
> -audio_drv_list=""
> +audio_drv_list="default"
>  block_drv_rw_whitelist=""
>  block_drv_ro_whitelist=""
>  block_drv_whitelist_tools="no"
> @@ -299,7 +299,6 @@ fdt="auto"
>  netmap="no"
>  sdl="auto"
>  sdl_image="auto"
> -coreaudio="auto"
>  virtiofsd="auto"
>  virtfs="auto"
>  libudev="auto"
> @@ -356,7 +355,6 @@ module_upgrades="no"
>  prefix="/usr/local"
>  qemu_suffix="qemu"
>  slirp="auto"
> -oss_lib=""
>  bsd="no"
>  linux="no"
>  solaris="no"
> @@ -703,54 +701,35 @@ fi
>  case $targetos in
>  MINGW32*)
>    mingw32="yes"
> -  audio_possible_drivers="dsound sdl"
> -  if check_include dsound.h; then
> -    audio_drv_list="dsound"
> -  else
> -    audio_drv_list=""
> -  fi
>    supported_os="yes"
>    plugins="no"
>    pie="no"
>  ;;
>  GNU/kFreeBSD)
>    bsd="yes"
> -  audio_drv_list="oss try-sdl"
> -  audio_possible_drivers="oss sdl pa"
>  ;;
>  FreeBSD)
>    bsd="yes"
>    bsd_user="yes"
>    make="${MAKE-gmake}"
> -  audio_drv_list="oss try-sdl"
> -  audio_possible_drivers="oss sdl pa"
>    # needed for kinfo_getvmmap(3) in libutil.h
>    netmap=""  # enable netmap autodetect
>  ;;
>  DragonFly)
>    bsd="yes"
>    make="${MAKE-gmake}"
> -  audio_drv_list="oss try-sdl"
> -  audio_possible_drivers="oss sdl pa"
>  ;;
>  NetBSD)
>    bsd="yes"
>    make="${MAKE-gmake}"
> -  audio_drv_list="oss try-sdl"
> -  audio_possible_drivers="oss sdl"
> -  oss_lib="-lossaudio"
>  ;;
>  OpenBSD)
>    bsd="yes"
>    make="${MAKE-gmake}"
> -  audio_drv_list="try-sdl"
> -  audio_possible_drivers="sdl"
>  ;;
>  Darwin)
>    bsd="yes"
>    darwin="yes"
> -  audio_drv_list="try-coreaudio try-sdl"
> -  audio_possible_drivers="coreaudio sdl"
>    # Disable attempts to use ObjectiveC features in os/object.h since they
>    # won't work when we're compiling with gcc as a C compiler.
>    QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS"
> @@ -759,10 +738,6 @@ SunOS)
>    solaris="yes"
>    make="${MAKE-gmake}"
>    smbd="${SMBD-/usr/sfw/sbin/smbd}"
> -  if test -f /usr/include/sys/soundcard.h ; then
> -    audio_drv_list="oss try-sdl"
> -  fi
> -  audio_possible_drivers="oss sdl"
>  # needed for CMSG_ macros in sys/socket.h
>    QEMU_CFLAGS="-D_XOPEN_SOURCE=600 $QEMU_CFLAGS"
>  # needed for TIOCWIN* defines in termios.h
> @@ -774,8 +749,6 @@ Haiku)
>    QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE -fPIC
> $QEMU_CFLAGS"
>  ;;
>  Linux)
> -  audio_drv_list="try-pa oss"
> -  audio_possible_drivers="oss alsa sdl pa"
>    linux="yes"
>    linux_user="yes"
>    vhost_user=${default_feature:-yes}
> @@ -1795,7 +1768,6 @@ Advanced options (experts only):
>    --disable-werror         disable compilation abort on warning
>    --disable-stack-protector disable compiler-provided stack protection
>    --audio-drv-list=LIST    set audio drivers list:
> -                           Available drivers: $audio_possible_drivers
>    --block-drv-whitelist=L  Same as --block-drv-rw-whitelist=L
>    --block-drv-rw-whitelist=L
>                             set block driver read-write whitelist
> @@ -2398,12 +2370,6 @@ if test -z "$want_tools"; then
>      fi
>  fi
>
> -##########################################
> -# Disable features only meaningful for system-mode emulation
> -if test "$softmmu" = "no"; then
> -    audio_drv_list=""
> -fi
> -
>  ##########################################
>  # L2TPV3 probe
>
> @@ -2982,130 +2948,6 @@ EOF
>    fi
>  fi
>
> -##########################################
> -# detect CoreAudio
> -if test "$coreaudio" != "no" ; then
> -  coreaudio_libs="-framework CoreAudio"
> -  cat > $TMPC << EOF
> -#include <CoreAudio/CoreAudio.h>
> -int main(void)
> -{
> -  return (int)AudioGetCurrentHostTime();
> -}
> -EOF
> -  if compile_prog "" "$coreaudio_libs" ; then
> -    coreaudio=yes
> -  else
> -    coreaudio=no
> -  fi
> -fi
> -
> -##########################################
> -# Sound support libraries probe
> -
> -audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/,/ /g')
> -for drv in $audio_drv_list; do
> -    case $drv in
> -    alsa | try-alsa)
> -    if $pkg_config alsa --exists; then
> -        alsa_libs=$($pkg_config alsa --libs)
> -        alsa_cflags=$($pkg_config alsa --cflags)
> -        alsa=yes
> -        if test "$drv" = "try-alsa"; then
> -            audio_drv_list=$(echo "$audio_drv_list" | sed -e
> 's/try-alsa/alsa/')
> -        fi
> -    else
> -        if test "$drv" = "try-alsa"; then
> -            audio_drv_list=$(echo "$audio_drv_list" | sed -e
> 's/try-alsa//')
> -        else
> -            error_exit "$drv check failed" \
> -                "Make sure to have the $drv libs and headers installed."
> -        fi
> -    fi
> -    ;;
> -
> -    pa | try-pa)
> -    if $pkg_config libpulse --exists; then
> -        libpulse=yes
> -        pulse_libs=$($pkg_config libpulse --libs)
> -        pulse_cflags=$($pkg_config libpulse --cflags)
> -        if test "$drv" = "try-pa"; then
> -            audio_drv_list=$(echo "$audio_drv_list" | sed -e
> 's/try-pa/pa/')
> -        fi
> -    else
> -        if test "$drv" = "try-pa"; then
> -            audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-pa//')
> -        else
> -            error_exit "$drv check failed" \
> -                "Make sure to have the $drv libs and headers installed."
> -        fi
> -    fi
> -    ;;
> -
> -    sdl)
> -    if test "$sdl" = "no"; then
> -        error_exit "sdl not found or disabled, can not use sdl audio
> driver"
> -    fi
> -    ;;
> -
> -    try-sdl)
> -    if test "$sdl" = "no"; then
> -        audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-sdl//')
> -    else
> -        audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-sdl/sdl/')
> -    fi
> -    ;;
> -
> -    coreaudio | try-coreaudio)
> -    if test "$coreaudio" = "no"; then
> -      if test "$drv" = "try-coreaudio"; then
> -        audio_drv_list=$(echo "$audio_drv_list" | sed -e
> 's/try-coreaudio//')
> -      else
> -        error_exit "$drv check failed" \
> -                "Make sure to have the $drv is available."
> -      fi
> -    else
> -      coreaudio_libs="-framework CoreAudio"
> -      if test "$drv" = "try-coreaudio"; then
> -        audio_drv_list=$(echo "$audio_drv_list" | sed -e
> 's/try-coreaudio/coreaudio/')
> -      fi
> -    fi
> -    ;;
> -
> -    dsound)
> -      dsound_libs="-lole32 -ldxguid"
> -    ;;
> -
> -    oss)
> -      oss_libs="$oss_lib"
> -    ;;
> -
> -    jack | try-jack)
> -    if $pkg_config jack --exists; then
> -        libjack=yes
> -        jack_libs=$($pkg_config jack --libs)
> -        if test "$drv" = "try-jack"; then
> -            audio_drv_list=$(echo "$audio_drv_list" | sed -e
> 's/try-jack/jack/')
> -        fi
> -    else
> -        if test "$drv" = "try-jack"; then
> -            audio_drv_list=$(echo "$audio_drv_list" | sed -e
> 's/try-jack//')
> -        else
> -            error_exit "$drv check failed" \
> -                "Make sure to have the $drv libs and headers installed."
> -        fi
> -    fi
> -    ;;
> -
> -    *)
> -    echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
> -        error_exit "Unknown driver '$drv' selected" \
> -            "Possible drivers are: $audio_possible_drivers"
> -    }
> -    ;;
> -    esac
> -done
> -
>  ##########################################
>  # plugin linker support probe
>
> @@ -4536,28 +4378,6 @@ fi
>  if test "$gprof" = "yes" ; then
>    echo "CONFIG_GPROF=y" >> $config_host_mak
>  fi
> -echo "CONFIG_AUDIO_DRIVERS=$audio_drv_list" >> $config_host_mak
> -for drv in $audio_drv_list; do
> -    def=CONFIG_AUDIO_$(echo $drv | LC_ALL=C tr '[a-z]' '[A-Z]')
> -    echo "$def=y" >> $config_host_mak
> -done
> -if test "$alsa" = "yes" ; then
> -    echo "CONFIG_ALSA=y" >> $config_host_mak
> -fi
> -echo "ALSA_LIBS=$alsa_libs" >> $config_host_mak
> -echo "ALSA_CFLAGS=$alsa_cflags" >> $config_host_mak
> -if test "$libpulse" = "yes" ; then
> -    echo "CONFIG_LIBPULSE=y" >> $config_host_mak
> -fi
> -echo "PULSE_LIBS=$pulse_libs" >> $config_host_mak
> -echo "PULSE_CFLAGS=$pulse_cflags" >> $config_host_mak
> -echo "COREAUDIO_LIBS=$coreaudio_libs" >> $config_host_mak
> -echo "DSOUND_LIBS=$dsound_libs" >> $config_host_mak
> -echo "OSS_LIBS=$oss_libs" >> $config_host_mak
> -if test "$libjack" = "yes" ; then
> -    echo "CONFIG_LIBJACK=y" >> $config_host_mak
> -fi
> -echo "JACK_LIBS=$jack_libs" >> $config_host_mak
>  echo "CONFIG_BDRV_RW_WHITELIST=$block_drv_rw_whitelist" >>
> $config_host_mak
>  echo "CONFIG_BDRV_RO_WHITELIST=$block_drv_ro_whitelist" >>
> $config_host_mak
>  if test "$block_drv_whitelist_tools" = "yes" ; then
> @@ -5195,7 +5015,7 @@ if test "$skip_meson" = no; then
>          -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_feature" = no; then echo
> "-Dauto_features=disabled"; fi) \
> -       -Dtcg_interpreter=$tcg_interpreter \
> +        -Daudio_drv_list=$audio_drv_list
> -Dtcg_interpreter=$tcg_interpreter \
>          $cross_arg \
>          "$PWD" "$source_path"
>
> diff --git a/meson.build b/meson.build
> index 7b596fdcd9..13b725181a 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -430,20 +430,23 @@ vde = not_found
>  if config_host.has_key('CONFIG_VDE')
>    vde = declare_dependency(link_args: config_host['VDE_LIBS'].split())
>  endif
> +
>  pulse = not_found
> -if 'CONFIG_LIBPULSE' in config_host
> -  pulse = declare_dependency(compile_args:
> config_host['PULSE_CFLAGS'].split(),
> -                             link_args: config_host['PULSE_LIBS'].split())
> +if not get_option('pa').auto() or (targetos == 'linux' and have_system)
> +  pulse = dependency('libpulse', required: get_option('pa'),
> +                     method: 'pkg-config', kwargs: static_kwargs)
>  endif
>  alsa = not_found
> -if 'CONFIG_ALSA' in config_host
> -  alsa = declare_dependency(compile_args:
> config_host['ALSA_CFLAGS'].split(),
> -                            link_args: config_host['ALSA_LIBS'].split())
> +if not get_option('alsa').auto() or (targetos == 'linux' and have_system)
> +  alsa = dependency('alsa', required: get_option('alsa'),
> +                    method: 'pkg-config', kwargs: static_kwargs)
>  endif
>  jack = not_found
> -if 'CONFIG_LIBJACK' in config_host
> -  jack = declare_dependency(link_args: config_host['JACK_LIBS'].split())
> +if not get_option('jack').auto() or have_system
> +  jack = dependency('jack', required: get_option('jack'),
> +                    method: 'pkg-config', kwargs: static_kwargs)
>  endif
> +
>  spice = not_found
>  spice_headers = not_found
>  spice_protocol = not_found
> @@ -803,16 +806,59 @@ if liblzfse.found() and not cc.links('''
>  endif
>
>  oss = not_found
> -if 'CONFIG_AUDIO_OSS' in config_host
> -  oss = declare_dependency(link_args: config_host['OSS_LIBS'].split())
> +if not get_option('oss').auto() or have_system
> +  if not cc.has_header('sys/soundcard.h')
> +    # not found
> +  elif targetos == 'netbsd'
> +    oss = cc.find_library('ossaudio', required: get_option('oss'),
> +                          kwargs: static_kwargs)
> +  else
> +    oss = declare_dependency()
> +  endif
> +
> +  if not oss.found()
> +    if get_option('oss').enabled()
> +      error('OSS not found')
> +    else
> +      warning('OSS not found, disabling')
> +    endif
> +  endif
>  endif
>  dsound = not_found
> -if 'CONFIG_AUDIO_DSOUND' in config_host
> -  dsound = declare_dependency(link_args:
> config_host['DSOUND_LIBS'].split())
> +if not get_option('dsound').auto() or (targetos == 'windows' and
> have_system)
> +  if cc.has_header('dsound.h')
> +    dsound = declare_dependency(link_args: ['-lole32', '-ldxguid'])
> +  endif
> +
> +  if not dsound.found()
> +    if get_option('dsound').enabled()
> +      error('DirectSound not found')
> +    else
> +      warning('DirectSound not found, disabling')
> +    endif
> +  endif
>  endif
> +
>  coreaudio = not_found
> -if 'CONFIG_AUDIO_COREAUDIO' in config_host
> -  coreaudio = declare_dependency(link_args:
> config_host['COREAUDIO_LIBS'].split())
> +if not get_option('coreaudio').auto() or (targetos == 'darwin' and
> have_system)
> +  coreaudio = dependency('appleframeworks', modules: 'CoreAudio',
> +                         required: get_option('coreaudio'))
> +  if coreaudio.found() and not cc.links('''
> +    #include <CoreAudio/CoreAudio.h>
> +    int main(void)
> +    {
> +      return (int)AudioGetCurrentHostTime();
> +    }''')
> +    coreaudio = not_found
> +  endif
> +
> +  if not coreaudio.found()
> +    if get_option('coreaudio').enabled()
> +      error('CoreAudio not found')
> +    else
> +      warning('CoreAudio not found, disabling')
> +    endif
> +  endif
>  endif
>
>  opengl = not_found
> @@ -1158,6 +1204,49 @@ if libbpf.found() and not cc.links('''
>    endif
>  endif
>
> +#################
> +# config-host.h #
> +#################
> +
> +audio_drivers_selected = []
> +if have_system
> +  audio_drivers_available = {
> +    'alsa': alsa.found(),
> +    'coreaudio': coreaudio.found(),
> +    'dsound': dsound.found(),
> +    'jack': jack.found(),
> +    'oss': oss.found(),
> +    'pa': pulse.found(),
> +    'sdl': sdl.found(),
> +  }
> +
> +  # Default to native drivers first, OSS second, SDL third
> +  audio_drivers_priority = \
> +    [ 'pa', 'coreaudio', 'dsound', 'oss' ] + \
> +    (targetos == 'linux' ? [] : [ 'sdl' ])
> +  audio_drivers_default = []
> +  foreach k: audio_drivers_priority
> +    if audio_drivers_available[k]
> +      audio_drivers_default += k
> +    endif
> +  endforeach
> +
> +  foreach k: get_option('audio_drv_list')
> +    if k == 'default'
> +      audio_drivers_selected += audio_drivers_default
> +    elif not audio_drivers_available[k]
> +      error('Audio driver "@0@" not available.'.format(k))
> +    else
> +      audio_drivers_selected += k
> +    endif
> +  endforeach
> +endif
> +foreach k: audio_drivers_selected
> +  config_host_data.set('CONFIG_AUDIO_' + k.to_upper(), true)
> +endforeach
> +config_host_data.set('CONFIG_AUDIO_DRIVERS',
> +                     '"' + '", "'.join(audio_drivers_selected) + '", ')
> +
>  if get_option('cfi')
>    cfi_flags=[]
>    # Check for dependency on LTO
> @@ -1201,10 +1290,6 @@ endif
>  have_host_block_device = (targetos != 'darwin' or
>      cc.has_header('IOKit/storage/IOMedia.h'))
>
> -#################
> -# config-host.h #
> -#################
> -
>  have_virtfs = (targetos == 'linux' and
>      have_system and
>      libattr.found() and
> @@ -1449,7 +1534,7 @@ config_host_data.set('HAVE_BROKEN_SIZE_MAX', not
> cc.compiles('''
>
>
>  ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
> -arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST',
> 'CONFIG_BDRV_RO_WHITELIST']
> +arrays = ['CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
>  strings = ['HOST_DSOSUF', 'CONFIG_IASL']
>  foreach k, v: config_host
>    if ignored.contains(k)
> @@ -2885,7 +2970,7 @@ if config_host.has_key('CONFIG_MODULES')
>  endif
>  summary_info += {'fuzzing support':   config_host.has_key('CONFIG_FUZZ')}
>  if have_system
> -  summary_info += {'Audio drivers':
>  config_host['CONFIG_AUDIO_DRIVERS']}
> +  summary_info += {'Audio drivers':     ' '.join(audio_drivers_selected)}
>  endif
>  summary_info += {'Trace backends':    config_host['TRACE_BACKENDS']}
>  if config_host['TRACE_BACKENDS'].split().contains('simple')
> @@ -3073,6 +3158,18 @@ if vnc.found()
>    summary_info += {'VNC JPEG support':  jpeg}
>    summary_info += {'VNC PNG support':   png}
>  endif
> +if targetos not in ['darwin', 'haiku', 'windows']
> +  summary_info += {'OSS support':     oss}
> +elif targetos == 'darwin'
> +  summary_info += {'CoreAudio support': coreaudio}
> +elif targetos == 'windows'
> +  summary_info += {'DirectSound support': dsound}
> +endif
> +if targetos == 'linux'
> +  summary_info += {'ALSA support':    alsa}
> +  summary_info += {'PulseAudio support': pulse}
> +endif
> +summary_info += {'JACK support':      jack}
>  summary_info += {'brlapi support':    brlapi}
>  summary_info += {'vde support':       config_host.has_key('CONFIG_VDE')}
>  summary_info += {'netmap support':
> config_host.has_key('CONFIG_NETMAP')}
> diff --git a/meson_options.txt b/meson_options.txt
> index 2c89e79e8b..052c4f088e 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -6,9 +6,12 @@ option('qemu_firmwarepath', type : 'string', value : '',
>         description: 'search PATH for firmware files')
>  option('sphinx_build', type : 'string', value : '',
>         description: 'Use specified sphinx-build [$sphinx_build] for
> building document (default to be empty)')
> -
>  option('default_devices', type : 'boolean', value : true,
>         description: 'Include a default selection of devices in emulators')
> +option('audio_drv_list', type: 'array', value: ['default'],
> +       choices: ['alsa', 'coreaudio', 'default', 'dsound', 'jack', 'oss',
> 'pa', 'sdl'],
> +       description: 'Set audio driver list')
> +
>  option('docs', type : 'feature', value : 'auto',
>         description: 'Documentations build support')
>  option('gettext', type : 'feature', value : 'auto',
> @@ -139,6 +142,19 @@ option('fuse', type: 'feature', value: 'auto',
>  option('fuse_lseek', type : 'feature', value : 'auto',
>         description: 'SEEK_HOLE/SEEK_DATA support for FUSE exports')
>
> +option('alsa', type: 'feature', value: 'auto',
> +       description: 'ALSA sound support')
> +option('coreaudio', type: 'feature', value: 'auto',
> +       description: 'CoreAudio sound support')
> +option('dsound', type: 'feature', value: 'auto',
> +       description: 'DirectSound sound support')
> +option('jack', type: 'feature', value: 'auto',
> +       description: 'JACK sound support')
> +option('oss', type: 'feature', value: 'auto',
> +       description: 'OSS sound support')
> +option('pa', type: 'feature', value: 'auto',
> +       description: 'PulseAudio sound support')
> +
>  option('vhost_user_blk_server', type: 'feature', value: 'auto',
>         description: 'build vhost-user-blk server')
>  option('virtfs', type: 'feature', value: 'auto',
> --
> 2.31.1
>
>
>
>

-- 
Marc-André Lureau

[-- Attachment #2: Type: text/html, Size: 28166 bytes --]

  reply	other threads:[~2021-10-07 20:55 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-07 13:06 [PATCH 00/24] configure->meson queue for 6.2 Paolo Bonzini
2021-10-07 13:06 ` [PATCH 01/24] configure: remove --oss-lib Paolo Bonzini
2021-10-07 17:32   ` Thomas Huth
2021-10-07 20:42   ` Marc-André Lureau
2021-10-08  9:19     ` Paolo Bonzini
2021-10-07 13:06 ` [PATCH 02/24] audio: remove CONFIG_AUDIO_WIN_INT Paolo Bonzini
2021-10-07 20:42   ` Marc-André Lureau
2021-10-07 13:06 ` [PATCH 03/24] configure, meson: move audio driver detection to Meson Paolo Bonzini
2021-10-07 20:42   ` Marc-André Lureau [this message]
2021-10-07 13:06 ` [PATCH 04/24] meson: define symbols for all available audio drivers Paolo Bonzini
2021-10-07 13:06 ` [PATCH 05/24] configure: add command line options for " Paolo Bonzini
2021-10-07 20:42   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 06/24] kconfig: split CONFIG_SPARSE_MEM from fuzzing Paolo Bonzini
2021-10-07 13:48   ` Philippe Mathieu-Daudé
2021-10-07 20:42   ` Marc-André Lureau
2021-10-08  3:08   ` Alexander Bulekov
2021-10-07 13:08 ` [PATCH 07/24] configure, meson: move fuzzing configuration to Meson Paolo Bonzini
2021-10-08  3:10   ` Alexander Bulekov
2021-10-07 13:08 ` [PATCH 08/24] trace: simple: pass trace_file unmodified to config-host.h Paolo Bonzini
2021-10-07 20:42   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 09/24] trace: move configuration from configure to Meson Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 10/24] configure, meson: move CONFIG_HOST_DSOSUF " Paolo Bonzini
2021-10-07 13:44   ` Philippe Mathieu-Daudé
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 11/24] configure, meson: get HOST_WORDS_BIGENDIAN via the machine object Paolo Bonzini
2021-10-07 13:45   ` Philippe Mathieu-Daudé
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 12/24] configure, meson: remove CONFIG_GCOV from config-host.mak Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 13/24] configure, meson: move remaining HAVE_* compiler tests to Meson Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 14/24] configure, meson: move pthread_setname_np checks " Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 15/24] configure, meson: move libaio check to meson.build Paolo Bonzini
2021-10-07 19:24   ` Richard Henderson
2021-10-08  8:30     ` Paolo Bonzini
2021-10-08  8:47       ` Marc-André Lureau
2021-10-08  9:15         ` Paolo Bonzini
2021-10-07 13:08 ` [PATCH 16/24] configure, meson: move vde detection to meson Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 17/24] configure, meson: move netmap " Paolo Bonzini
2021-10-07 17:55   ` Thomas Huth
2021-10-07 13:08 ` [PATCH 18/24] configure, meson: move Spice configure handling " Paolo Bonzini
2021-10-07 13:08 ` [PATCH 19/24] configure: remove obsolete Solaris ar check Paolo Bonzini
2021-10-07 18:19   ` Thomas Huth
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 20/24] configure, meson: move more compiler checks to Meson Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 21/24] configure: remove deprecated --{enable, disable}-git-update Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 22/24] configure: accept "internal" for --enable-capstone/slirp/fdt Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-07 13:08 ` [PATCH 23/24] configure: prepare for auto-generated option parsing Paolo Bonzini
2021-10-07 16:53   ` Thomas Huth
2021-10-08  8:42     ` Paolo Bonzini
2021-10-07 13:08 ` [PATCH 24/24] configure: automatically parse command line for meson -D options Paolo Bonzini
2021-10-07 20:41   ` Marc-André Lureau
2021-10-08  8:43     ` Paolo Bonzini
2021-10-08  8:46       ` Marc-André Lureau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ+F1CKQYCTRcyFpHCsuJ3qy3iHbQY0=sg8_c_ZxpGm5XawJfA@mail.gmail.com' \
    --to=marcandre.lureau@gmail.com \
    --cc=kraxel@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vr_qemu@t-online.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.