Skip to content

Commit

Permalink
configury: check mmdeviceapi.h and audioclient.h before enabling wasapi.
Browse files Browse the repository at this point in the history
  • Loading branch information
slouken committed Aug 21, 2017
1 parent f5a38f2 commit a78c20a
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
3 changes: 2 additions & 1 deletion CMakeLists.txt
Expand Up @@ -1153,6 +1153,7 @@ elseif(WINDOWS)
check_include_file(dsound.h HAVE_DSOUND_H)
check_include_file(dinput.h HAVE_DINPUT_H)
check_include_file(xaudio2.h HAVE_XAUDIO2_H)
check_include_file(mmdeviceapi.h HAVE_MMDEVICEAPI_H)
check_include_file(audioclient.h HAVE_AUDIOCLIENT_H)
check_include_file(dxgi.h HAVE_DXGI_H)
if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H OR HAVE_XAUDIO2_H)
Expand Down Expand Up @@ -1184,7 +1185,7 @@ elseif(WINDOWS)
set(SOURCE_FILES ${SOURCE_FILES} ${XAUDIO2_AUDIO_SOURCES})
endif()

if(HAVE_AUDIOCLIENT_H)
if(HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H)
set(SDL_AUDIO_DRIVER_WASAPI 1)
file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c)
set(SOURCE_FILES ${SOURCE_FILES} ${WASAPI_AUDIO_SOURCES})
Expand Down
18 changes: 17 additions & 1 deletion configure
Expand Up @@ -22834,6 +22834,20 @@ if test "x$ac_cv_header_xinput_h" = xyes; then :
fi


ac_fn_c_check_header_mongrel "$LINENO" "mmdeviceapi.h" "ac_cv_header_mmdeviceapi_h" "$ac_includes_default"
if test "x$ac_cv_header_mmdeviceapi_h" = xyes; then :
have_wasapi=yes
fi


ac_fn_c_check_header_mongrel "$LINENO" "audioclient.h" "ac_cv_header_audioclient_h" "$ac_includes_default"
if test "x$ac_cv_header_audioclient_h" = xyes; then :

else
have_wasapi=no
fi


cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

Expand Down Expand Up @@ -23840,10 +23854,12 @@ $as_echo "#define SDL_AUDIO_DRIVER_XAUDIO2 1" >>confdefs.h

SOURCES="$SOURCES $srcdir/src/audio/xaudio2/*.c"
fi
if test x$have_wasapi = xyes; then

$as_echo "#define SDL_AUDIO_DRIVER_WASAPI 1" >>confdefs.h

SOURCES="$SOURCES $srcdir/src/audio/wasapi/*.c"
SOURCES="$SOURCES $srcdir/src/audio/wasapi/*.c"
fi
have_audio=yes
fi
# Set up files for the joystick library
Expand Down
8 changes: 6 additions & 2 deletions configure.in
Expand Up @@ -2876,6 +2876,8 @@ AC_HELP_STRING([--enable-directx], [use DirectX for Windows audio/video [[defaul
AC_CHECK_HEADER(dxgi.h, have_dxgi=yes)
AC_CHECK_HEADER(xaudio2.h, have_xaudio2=yes)
AC_CHECK_HEADER(xinput.h, have_xinput=yes)
AC_CHECK_HEADER(mmdeviceapi.h, have_wasapi=yes)
AC_CHECK_HEADER(audioclient.h,,have_wasapi=no)
AC_TRY_COMPILE([
#include <windows.h>
#include <xinput.h>
Expand Down Expand Up @@ -3405,8 +3407,10 @@ AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
AC_DEFINE(SDL_AUDIO_DRIVER_XAUDIO2, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/xaudio2/*.c"
fi
AC_DEFINE(SDL_AUDIO_DRIVER_WASAPI, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/wasapi/*.c"
if test x$have_wasapi = xyes; then
AC_DEFINE(SDL_AUDIO_DRIVER_WASAPI, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/wasapi/*.c"
fi
have_audio=yes
fi
# Set up files for the joystick library
Expand Down

0 comments on commit a78c20a

Please sign in to comment.