From 4c24ec7b1712d560deec68f793a460c0a2e1497a Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 22 Aug 2011 14:56:46 -0400 Subject: [PATCH] Further XAudio2 build test cleanups. --- src/audio/xaudio2/SDL_xaudio2.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/audio/xaudio2/SDL_xaudio2.c b/src/audio/xaudio2/SDL_xaudio2.c index 4db1ac032..5287586e8 100644 --- a/src/audio/xaudio2/SDL_xaudio2.c +++ b/src/audio/xaudio2/SDL_xaudio2.c @@ -22,18 +22,19 @@ #include "../../core/windows/SDL_windows.h" #include "SDL_audio.h" #include "../SDL_audio_c.h" -#include "SDL_assert.h" - #include "../SDL_sysaudio.h" +#include "SDL_assert.h" #if SDL_AUDIO_DRIVER_XAUDIO2 + #include /* XAudio2 exists as of the March 2008 DirectX SDK */ -#if (defined(_DXSDK_BUILD_MAJOR) && (_DXSDK_BUILD_MAJOR >= 1284)) -# define SDL_HAVE_XAUDIO2_H 1 -#endif +#if (!defined(_DXSDK_BUILD_MAJOR) || (_DXSDK_BUILD_MAJOR < 1284)) +# warning Your DirectX SDK is too old. Disabling XAudio2 support. +#else +# define SDL_XAUDIO2_HAS_SDK 1 #endif -#ifdef SDL_HAVE_XAUDIO2_H +#ifdef SDL_XAUDIO2_HAS_SDK #define INITGUID 1 #include @@ -396,13 +397,14 @@ XAUDIO2_Deinitialize(void) WIN_CoUninitialize(); } -#endif /* SDL_HAVE_XAUDIO2_H */ +#endif /* SDL_XAUDIO2_HAS_SDK */ static int XAUDIO2_Init(SDL_AudioDriverImpl * impl) { -#if !SDL_HAVE_XAUDIO2_H +#ifndef SDL_XAUDIO2_HAS_SDK + SDL_SetError("XAudio2: SDL was built without XAudio2 support (old DirectX SDK)."); return 0; /* no XAudio2 support, ever. Update your SDK! */ #else /* XAudio2Create() is a macro that uses COM; we don't load the .dll */ @@ -437,4 +439,6 @@ AudioBootStrap XAUDIO2_bootstrap = { "xaudio2", "XAudio2", XAUDIO2_Init, 0 }; +#endif /* SDL_AUDIO_DRIVER_XAUDIO2 */ + /* vi: set ts=4 sw=4 expandtab: */