[RFC PATCH 4/5] xaudio2_7: Build with msvcrt.

Rémi Bernon rbernon at codeweavers.com
Wed Jun 23 07:37:26 CDT 2021


Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 configure.ac                      | 55 -----------------------
 dlls/x3daudio1_0/Makefile.in      |  3 +-
 dlls/x3daudio1_1/Makefile.in      |  3 +-
 dlls/x3daudio1_2/Makefile.in      |  3 +-
 dlls/x3daudio1_3/Makefile.in      |  3 +-
 dlls/x3daudio1_4/Makefile.in      |  3 +-
 dlls/x3daudio1_5/Makefile.in      |  3 +-
 dlls/x3daudio1_6/Makefile.in      |  3 +-
 dlls/x3daudio1_7/Makefile.in      |  3 +-
 dlls/xactengine2_0/Makefile.in    |  3 +-
 dlls/xactengine2_4/Makefile.in    |  3 +-
 dlls/xactengine2_7/Makefile.in    |  3 +-
 dlls/xactengine2_9/Makefile.in    |  3 +-
 dlls/xactengine3_0/Makefile.in    |  3 +-
 dlls/xactengine3_1/Makefile.in    |  3 +-
 dlls/xactengine3_2/Makefile.in    |  3 +-
 dlls/xactengine3_3/Makefile.in    |  3 +-
 dlls/xactengine3_4/Makefile.in    |  3 +-
 dlls/xactengine3_5/Makefile.in    |  3 +-
 dlls/xactengine3_6/Makefile.in    |  3 +-
 dlls/xactengine3_7/Makefile.in    |  3 +-
 dlls/xapofx1_1/Makefile.in        |  3 +-
 dlls/xapofx1_2/Makefile.in        |  3 +-
 dlls/xapofx1_3/Makefile.in        |  3 +-
 dlls/xapofx1_4/Makefile.in        |  3 +-
 dlls/xapofx1_5/Makefile.in        |  3 +-
 dlls/xaudio2_0/Makefile.in        |  3 +-
 dlls/xaudio2_1/Makefile.in        |  3 +-
 dlls/xaudio2_2/Makefile.in        |  3 +-
 dlls/xaudio2_3/Makefile.in        |  3 +-
 dlls/xaudio2_4/Makefile.in        |  3 +-
 dlls/xaudio2_5/Makefile.in        |  3 +-
 dlls/xaudio2_6/Makefile.in        |  3 +-
 dlls/xaudio2_7/Makefile.in        |  3 +-
 dlls/xaudio2_7/compat.c           | 42 ------------------
 dlls/xaudio2_7/faudio.c           | 65 ++++++++++------------------
 dlls/xaudio2_7/x3daudio.c         |  9 ----
 dlls/xaudio2_7/xact_dll.c         |  7 ---
 dlls/xaudio2_7/xapo.c             |  8 +---
 dlls/xaudio2_7/xapofx.c           |  2 -
 dlls/xaudio2_7/xaudio_allocator.c |  2 -
 dlls/xaudio2_7/xaudio_dll.c       | 72 -------------------------------
 dlls/xaudio2_7/xaudio_private.h   | 32 ++++----------
 dlls/xaudio2_8/Makefile.in        |  3 +-
 dlls/xaudio2_9/Makefile.in        |  3 +-
 45 files changed, 67 insertions(+), 332 deletions(-)

diff --git a/configure.ac b/configure.ac
index f76dd047825..ff323920af6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,6 @@ AC_ARG_WITH(coreaudio, AS_HELP_STRING([--without-coreaudio],[do not use the Core
             [if test "x$withval" = "xno"; then ac_cv_header_CoreAudio_CoreAudio_h=no; fi])
 AC_ARG_WITH(cups,      AS_HELP_STRING([--without-cups],[do not use CUPS]))
 AC_ARG_WITH(dbus,      AS_HELP_STRING([--without-dbus],[do not use DBus (dynamic device support)]))
-AC_ARG_WITH(faudio,    AS_HELP_STRING([--without-faudio],[do not use FAudio (XAudio2 support)]))
 AC_ARG_WITH(float-abi, AS_HELP_STRING([--with-float-abi=abi],[specify the ABI (soft|softfp|hard) for ARM platforms]))
 AC_ARG_WITH(fontconfig,AS_HELP_STRING([--without-fontconfig],[do not use fontconfig]))
 AC_ARG_WITH(freetype,  AS_HELP_STRING([--without-freetype],[do not use the FreeType library]))
@@ -1705,21 +1704,6 @@ fi
 WINE_NOTICE_WITH(sdl,[test "x$ac_cv_lib_soname_SDL2" = "x"],
                  [libSDL2 ${notice_platform}development files not found, SDL2 won't be supported.])
 
-dnl **** Check for FAudio ****
-if test "x$with_faudio" != "xno"
-then
-    WINE_PACKAGE_FLAGS(FAUDIO,[FAudio],[-lFAudio],,,
-        [AC_CHECK_HEADERS([FAudio.h],
-            [WINE_CHECK_SONAME(FAudio,FAudioCreate,,,[$FAUDIO_LIBS],[[libFAudio*]])])
-             WINE_CHECK_LIB_FUNCS([FAudio_CommitOperationSet \
-                                   F3DAudioInitialize8 \
-                                   FAudioLinkedVersion \
-                                   FAudioCreateReverb9WithCustomAllocatorEXT], [$FAUDIO_LIBS])
-            ])
-fi
-WINE_NOTICE_WITH(faudio,[test "x$ac_cv_lib_soname_FAudio" = "x"],
-                 [libFAudio ${notice_platform}development files not found, XAudio2 won't be supported.])
-
 dnl **** Check for capi4linux ****
 if test "x$with_capi" != "xno"
 then
@@ -1898,45 +1882,6 @@ WINE_NOTICE_WITH(openal,[test "x$ac_cv_lib_openal" != xyes],
                  [libopenal ${notice_platform}development files not found (or too old), OpenAL won't be supported.],
                  [enable_openal32])
 
-if test "x$ac_cv_lib_soname_FAudio" = "x"
-then
-    enable_x3daudio1_0=${enable_x3daudio1_0:-no}
-    enable_x3daudio1_1=${enable_x3daudio1_1:-no}
-    enable_x3daudio1_2=${enable_x3daudio1_2:-no}
-    enable_x3daudio1_3=${enable_x3daudio1_3:-no}
-    enable_x3daudio1_4=${enable_x3daudio1_4:-no}
-    enable_x3daudio1_5=${enable_x3daudio1_5:-no}
-    enable_x3daudio1_6=${enable_x3daudio1_6:-no}
-    enable_x3daudio1_7=${enable_x3daudio1_7:-no}
-    enable_xactengine2_0=${enable_xactengine2_0:-no}
-    enable_xactengine2_4=${enable_xactengine2_4:-no}
-    enable_xactengine2_7=${enable_xactengine2_7:-no}
-    enable_xactengine2_9=${enable_xactengine2_9:-no}
-    enable_xactengine3_0=${enable_xactengine3_0:-no}
-    enable_xactengine3_1=${enable_xactengine3_1:-no}
-    enable_xactengine3_2=${enable_xactengine3_2:-no}
-    enable_xactengine3_3=${enable_xactengine3_3:-no}
-    enable_xactengine3_4=${enable_xactengine3_4:-no}
-    enable_xactengine3_5=${enable_xactengine3_5:-no}
-    enable_xactengine3_6=${enable_xactengine3_6:-no}
-    enable_xactengine3_7=${enable_xactengine3_7:-no}
-    enable_xapofx1_1=${enable_xapofx1_1:-no}
-    enable_xapofx1_2=${enable_xapofx1_2:-no}
-    enable_xapofx1_3=${enable_xapofx1_3:-no}
-    enable_xapofx1_4=${enable_xapofx1_4:-no}
-    enable_xapofx1_5=${enable_xapofx1_5:-no}
-    enable_xaudio2_0=${enable_xaudio2_0:-no}
-    enable_xaudio2_1=${enable_xaudio2_1:-no}
-    enable_xaudio2_2=${enable_xaudio2_2:-no}
-    enable_xaudio2_3=${enable_xaudio2_3:-no}
-    enable_xaudio2_4=${enable_xaudio2_4:-no}
-    enable_xaudio2_5=${enable_xaudio2_5:-no}
-    enable_xaudio2_6=${enable_xaudio2_6:-no}
-    enable_xaudio2_7=${enable_xaudio2_7:-no}
-    enable_xaudio2_8=${enable_xaudio2_8:-no}
-    enable_xaudio2_9=${enable_xaudio2_9:-no}
-fi
-
 dnl **** Check for libkstat ****
 if test "$ac_cv_header_kstat_h" = "yes"
 then
diff --git a/dlls/x3daudio1_0/Makefile.in b/dlls/x3daudio1_0/Makefile.in
index 1fc804116be..58ac6cf62e5 100644
--- a/dlls/x3daudio1_0/Makefile.in
+++ b/dlls/x3daudio1_0/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=0 -DXAUDIO2_VER=0
 MODULE    = x3daudio1_0.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/x3daudio1_1/Makefile.in b/dlls/x3daudio1_1/Makefile.in
index 75cacbbdb27..763a9d937fc 100644
--- a/dlls/x3daudio1_1/Makefile.in
+++ b/dlls/x3daudio1_1/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=1 -DXAUDIO2_VER=1
 MODULE    = x3daudio1_1.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/x3daudio1_2/Makefile.in b/dlls/x3daudio1_2/Makefile.in
index c621ba9bfe9..51233a4ccc3 100644
--- a/dlls/x3daudio1_2/Makefile.in
+++ b/dlls/x3daudio1_2/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=2 -DXAUDIO2_VER=2
 MODULE    = x3daudio1_2.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/x3daudio1_3/Makefile.in b/dlls/x3daudio1_3/Makefile.in
index fb678cf19a3..3d16a3a4ff8 100644
--- a/dlls/x3daudio1_3/Makefile.in
+++ b/dlls/x3daudio1_3/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=3 -DXAUDIO2_VER=3
 MODULE    = x3daudio1_3.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/x3daudio1_4/Makefile.in b/dlls/x3daudio1_4/Makefile.in
index 66805bfc845..e2be41d7b09 100644
--- a/dlls/x3daudio1_4/Makefile.in
+++ b/dlls/x3daudio1_4/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=4 -DXAUDIO2_VER=4
 MODULE    = x3daudio1_4.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/x3daudio1_5/Makefile.in b/dlls/x3daudio1_5/Makefile.in
index 3180ac41b17..5dd086c70d2 100644
--- a/dlls/x3daudio1_5/Makefile.in
+++ b/dlls/x3daudio1_5/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=5 -DXAUDIO2_VER=5
 MODULE    = x3daudio1_5.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/x3daudio1_6/Makefile.in b/dlls/x3daudio1_6/Makefile.in
index 54f46236d62..742c2600a59 100644
--- a/dlls/x3daudio1_6/Makefile.in
+++ b/dlls/x3daudio1_6/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=6 -DXAUDIO2_VER=6
 MODULE    = x3daudio1_6.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/x3daudio1_7/Makefile.in b/dlls/x3daudio1_7/Makefile.in
index a53a993019e..d83d74ed961 100644
--- a/dlls/x3daudio1_7/Makefile.in
+++ b/dlls/x3daudio1_7/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DX3DAUDIO1_VER=7 -DXAUDIO2_VER=7
 MODULE    = x3daudio1_7.dll
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine2_0/Makefile.in b/dlls/xactengine2_0/Makefile.in
index 6a98d4df558..109b22d0f28 100644
--- a/dlls/xactengine2_0/Makefile.in
+++ b/dlls/xactengine2_0/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine2_0.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0200
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine2_4/Makefile.in b/dlls/xactengine2_4/Makefile.in
index eef48ed32ea..8f3e7d4c18b 100644
--- a/dlls/xactengine2_4/Makefile.in
+++ b/dlls/xactengine2_4/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine2_4.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0204
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine2_7/Makefile.in b/dlls/xactengine2_7/Makefile.in
index bdc0c5565e3..2238abdaab8 100644
--- a/dlls/xactengine2_7/Makefile.in
+++ b/dlls/xactengine2_7/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine2_7.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0207
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine2_9/Makefile.in b/dlls/xactengine2_9/Makefile.in
index 035b6276e37..00300f15f43 100644
--- a/dlls/xactengine2_9/Makefile.in
+++ b/dlls/xactengine2_9/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine2_9.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0209
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_0/Makefile.in b/dlls/xactengine3_0/Makefile.in
index 940d33560e2..ed4234c631a 100644
--- a/dlls/xactengine3_0/Makefile.in
+++ b/dlls/xactengine3_0/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_0.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0300
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_1/Makefile.in b/dlls/xactengine3_1/Makefile.in
index 683be88529e..0e38f117d23 100644
--- a/dlls/xactengine3_1/Makefile.in
+++ b/dlls/xactengine3_1/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_1.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0301
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_2/Makefile.in b/dlls/xactengine3_2/Makefile.in
index f8c0d9cec89..270ebd91ae2 100644
--- a/dlls/xactengine3_2/Makefile.in
+++ b/dlls/xactengine3_2/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_2.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0302
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_3/Makefile.in b/dlls/xactengine3_3/Makefile.in
index 8a5854a0813..64f869f9da7 100644
--- a/dlls/xactengine3_3/Makefile.in
+++ b/dlls/xactengine3_3/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_3.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0303
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_4/Makefile.in b/dlls/xactengine3_4/Makefile.in
index 024e96c3a17..121a540b968 100644
--- a/dlls/xactengine3_4/Makefile.in
+++ b/dlls/xactengine3_4/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_4.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0304
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_5/Makefile.in b/dlls/xactengine3_5/Makefile.in
index 9a1d7813b13..0966775a67e 100644
--- a/dlls/xactengine3_5/Makefile.in
+++ b/dlls/xactengine3_5/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_5.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0305
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_6/Makefile.in b/dlls/xactengine3_6/Makefile.in
index 859fb906571..3d7a0aec12a 100644
--- a/dlls/xactengine3_6/Makefile.in
+++ b/dlls/xactengine3_6/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_6.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0306
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xactengine3_7/Makefile.in b/dlls/xactengine3_7/Makefile.in
index 4e606ad5a49..652b0f69106 100644
--- a/dlls/xactengine3_7/Makefile.in
+++ b/dlls/xactengine3_7/Makefile.in
@@ -2,8 +2,7 @@ MODULE    = xactengine3_7.dll
 IMPORTS   = ole32 uuid
 EXTRADEFS = -DXACT3_VER=0x0307
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xapofx1_1/Makefile.in b/dlls/xapofx1_1/Makefile.in
index 58e07c94af8..8c20c941c6c 100644
--- a/dlls/xapofx1_1/Makefile.in
+++ b/dlls/xapofx1_1/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAPOFX1_VER=1 -DXAUDIO2_VER=2
 MODULE    = xapofx1_1.dll
 IMPORTS   = ole32
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xapofx1_2/Makefile.in b/dlls/xapofx1_2/Makefile.in
index 146a679ceff..6a0f6863919 100644
--- a/dlls/xapofx1_2/Makefile.in
+++ b/dlls/xapofx1_2/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAPOFX1_VER=2 -DXAUDIO2_VER=3
 MODULE    = xapofx1_2.dll
 IMPORTS   = ole32
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xapofx1_3/Makefile.in b/dlls/xapofx1_3/Makefile.in
index c9f4bd80d92..fbe4b696a59 100644
--- a/dlls/xapofx1_3/Makefile.in
+++ b/dlls/xapofx1_3/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAPOFX1_VER=3 -DXAUDIO2_VER=4
 MODULE    = xapofx1_3.dll
 IMPORTS   = ole32
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xapofx1_4/Makefile.in b/dlls/xapofx1_4/Makefile.in
index bd71b614bad..812e9be52d4 100644
--- a/dlls/xapofx1_4/Makefile.in
+++ b/dlls/xapofx1_4/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAPOFX1_VER=4 -DXAUDIO2_VER=6
 MODULE    = xapofx1_4.dll
 IMPORTS   = ole32
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xapofx1_5/Makefile.in b/dlls/xapofx1_5/Makefile.in
index 42eadd12614..4e57d1e1015 100644
--- a/dlls/xapofx1_5/Makefile.in
+++ b/dlls/xapofx1_5/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAPOFX1_VER=5 -DXAUDIO2_VER=7
 MODULE    = xapofx1_5.dll
 IMPORTS   = ole32
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	faudio.c \
diff --git a/dlls/xaudio2_0/Makefile.in b/dlls/xaudio2_0/Makefile.in
index 9e981603db4..fb5a2a955c2 100644
--- a/dlls/xaudio2_0/Makefile.in
+++ b/dlls/xaudio2_0/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=0
 MODULE    = xaudio2_0.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_1/Makefile.in b/dlls/xaudio2_1/Makefile.in
index fc81d653ab3..e801e19c9f5 100644
--- a/dlls/xaudio2_1/Makefile.in
+++ b/dlls/xaudio2_1/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=1
 MODULE    = xaudio2_1.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_2/Makefile.in b/dlls/xaudio2_2/Makefile.in
index f4b0e4578b8..73a9df2f471 100644
--- a/dlls/xaudio2_2/Makefile.in
+++ b/dlls/xaudio2_2/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=2
 MODULE    = xaudio2_2.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_3/Makefile.in b/dlls/xaudio2_3/Makefile.in
index d9337240350..dc0f39788b1 100644
--- a/dlls/xaudio2_3/Makefile.in
+++ b/dlls/xaudio2_3/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=3
 MODULE    = xaudio2_3.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_4/Makefile.in b/dlls/xaudio2_4/Makefile.in
index 0a8b6277b8e..d7e99b2d347 100644
--- a/dlls/xaudio2_4/Makefile.in
+++ b/dlls/xaudio2_4/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=4
 MODULE    = xaudio2_4.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_5/Makefile.in b/dlls/xaudio2_5/Makefile.in
index 5805a4d7629..63a36db7bda 100644
--- a/dlls/xaudio2_5/Makefile.in
+++ b/dlls/xaudio2_5/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=5
 MODULE    = xaudio2_5.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_6/Makefile.in b/dlls/xaudio2_6/Makefile.in
index 3dd582e512e..ab10021fc02 100644
--- a/dlls/xaudio2_6/Makefile.in
+++ b/dlls/xaudio2_6/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=6
 MODULE    = xaudio2_6.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_7/Makefile.in b/dlls/xaudio2_7/Makefile.in
index 26ced808cc6..22d991cacc9 100644
--- a/dlls/xaudio2_7/Makefile.in
+++ b/dlls/xaudio2_7/Makefile.in
@@ -1,8 +1,7 @@
 EXTRADEFS = -DXAUDIO2_VER=7
 MODULE    = xaudio2_7.dll
 IMPORTS   = advapi32 ole32 user32 uuid
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_7/compat.c b/dlls/xaudio2_7/compat.c
index e756736e23f..45adcd41407 100644
--- a/dlls/xaudio2_7/compat.c
+++ b/dlls/xaudio2_7/compat.c
@@ -89,8 +89,6 @@
  *     Add SideDelay member to XAUDIO2FX_REVERB_PARAMETERS
  */
 
-#include "config.h"
-
 #define NONAMELESSUNION
 #define NONAMELESSSTRUCT
 #define COBJMACROS
@@ -2162,16 +2160,6 @@ static HRESULT WINAPI XA20_CreateMasteringVoice(IXAudio20 *iface,
 
     This->mst.effect_chain = wrap_effect_chain(pEffectChain);
 
-    pthread_mutex_lock(&This->mst.engine_lock);
-
-    This->mst.engine_thread = CreateThread(NULL, 0, &engine_thread, &This->mst, 0, NULL);
-
-    pthread_cond_wait(&This->mst.engine_done, &This->mst.engine_lock);
-
-    pthread_mutex_unlock(&This->mst.engine_lock);
-
-    pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
-
     pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels,
             inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
 
@@ -2397,16 +2385,6 @@ static HRESULT WINAPI XA22_CreateMasteringVoice(IXAudio22 *iface,
 
     This->mst.effect_chain = wrap_effect_chain(pEffectChain);
 
-    pthread_mutex_lock(&This->mst.engine_lock);
-
-    This->mst.engine_thread = CreateThread(NULL, 0, &engine_thread, &This->mst, 0, NULL);
-
-    pthread_cond_wait(&This->mst.engine_done, &This->mst.engine_lock);
-
-    pthread_mutex_unlock(&This->mst.engine_lock);
-
-    pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
-
     pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels,
             inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
 
@@ -2631,16 +2609,6 @@ static HRESULT WINAPI XA23_CreateMasteringVoice(IXAudio23 *iface,
 
     This->mst.effect_chain = wrap_effect_chain(pEffectChain);
 
-    pthread_mutex_lock(&This->mst.engine_lock);
-
-    This->mst.engine_thread = CreateThread(NULL, 0, &engine_thread, &This->mst, 0, NULL);
-
-    pthread_cond_wait(&This->mst.engine_done, &This->mst.engine_lock);
-
-    pthread_mutex_unlock(&This->mst.engine_lock);
-
-    pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
-
     pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels,
             inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
 
@@ -2819,16 +2787,6 @@ static HRESULT WINAPI XA27_CreateMasteringVoice(IXAudio27 *iface,
 
     This->mst.effect_chain = wrap_effect_chain(pEffectChain);
 
-    pthread_mutex_lock(&This->mst.engine_lock);
-
-    This->mst.engine_thread = CreateThread(NULL, 0, &engine_thread, &This->mst, 0, NULL);
-
-    pthread_cond_wait(&This->mst.engine_done, &This->mst.engine_lock);
-
-    pthread_mutex_unlock(&This->mst.engine_lock);
-
-    pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
-
     pFAudio_CreateMasteringVoice(This->faudio, &This->mst.faudio_voice, inputChannels,
             inputSampleRate, flags, deviceIndex, This->mst.effect_chain);
 
diff --git a/dlls/xaudio2_7/faudio.c b/dlls/xaudio2_7/faudio.c
index 0858b79d973..064769d0d17 100644
--- a/dlls/xaudio2_7/faudio.c
+++ b/dlls/xaudio2_7/faudio.c
@@ -16,10 +16,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-
 #include <stdarg.h>
-#include <dlfcn.h>
 
 #define NONAMELESSUNION
 #define COBJMACROS
@@ -31,11 +28,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(xaudio2);
 
 #define MAKE_FUNCPTR(f) typeof(f) * p##f = NULL;
 MAKE_FUNCPTR(FAudio_AddRef)
-#ifdef HAVE_FAUDIO_COMMITOPERATIONSET
 MAKE_FUNCPTR(FAudio_CommitOperationSet)
-#else
-MAKE_FUNCPTR(FAudio_CommitChanges)
-#endif
 MAKE_FUNCPTR(FAudio_CreateMasteringVoice)
 MAKE_FUNCPTR(FAudio_CreateMasteringVoice8)
 MAKE_FUNCPTR(FAudio_CreateSourceVoice)
@@ -87,21 +80,15 @@ MAKE_FUNCPTR(FAudioCOMConstructWithCustomAllocatorEXT)
 MAKE_FUNCPTR(FAudioCreate)
 MAKE_FUNCPTR(FAudioCreateReverb)
 MAKE_FUNCPTR(FAudioCreateReverb9)
-#ifdef HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT
 MAKE_FUNCPTR(FAudioCreateReverb9WithCustomAllocatorEXT)
-#endif
 MAKE_FUNCPTR(FAudioCreateReverbWithCustomAllocatorEXT)
 MAKE_FUNCPTR(FAudioCreateVolumeMeter)
 MAKE_FUNCPTR(FAudioCreateVolumeMeterWithCustomAllocatorEXT)
-#ifdef HAVE_FAUDIOLINKEDVERSION
 MAKE_FUNCPTR(FAudioLinkedVersion)
-#endif
 
 MAKE_FUNCPTR(F3DAudioCalculate)
 MAKE_FUNCPTR(F3DAudioInitialize)
-#ifdef HAVE_F3DAUDIOINITIALIZE8
 MAKE_FUNCPTR(F3DAudioInitialize8)
-#endif
 
 MAKE_FUNCPTR(FACTAudioEngine_AddRef)
 MAKE_FUNCPTR(FACTAudioEngine_CreateInMemoryWaveBank)
@@ -169,31 +156,39 @@ MAKE_FUNCPTR(FACTWaveBank_Stop)
 MAKE_FUNCPTR(FAPOFX_CreateFXWithCustomAllocatorEXT)
 #undef MAKE_FUNCPTR
 
-#ifdef SONAME_LIBFAUDIO
+static HMODULE sdl2;
+static HMODULE faudio;
 
 BOOL load_faudio(void)
 {
-    void *faudio;
+    if (!(faudio = LoadLibraryA( "FAudio" )))
+    {
+#ifdef _WIN64
+#define ARCH_SUFFIX "-x86_64"
+#else
+#define ARCH_SUFFIX "-x86"
+#endif
+        sdl2 = LoadLibraryA( "C:\\Windows\\Mono\\Mono-2.0\\lib\\SDL2" ARCH_SUFFIX ".dll" );
+        faudio = LoadLibraryA( "C:\\Windows\\Mono\\Mono-2.0\\lib\\FAudio" ARCH_SUFFIX ".dll" );
+#undef ARCH_SUFFIX
+    }
 
-    if (!(faudio = dlopen( SONAME_LIBFAUDIO, RTLD_NOW )))
+    if (!faudio)
     {
-        ERR( "FAudio library %s not found.\n", SONAME_LIBFAUDIO );
+        ERR( "FAudio library not found.\n" );
         return FALSE;
     }
 
 #define LOAD_FUNCPTR(f) \
-    if (!(p##f = dlsym( faudio, #f )))                \
-    {                                                 \
-        ERR( "FAudio function %s not found\n", #f );  \
-        dlclose( faudio );                            \
-        return FALSE;                                 \
+    if (!(p##f = (void *)GetProcAddress( faudio, #f )))  \
+    {                                                    \
+        ERR( "FAudio function %s not found\n", #f );     \
+        FreeLibrary( faudio );                           \
+        faudio = NULL;                                   \
+        return FALSE;                                    \
     }
 LOAD_FUNCPTR(FAudio_AddRef)
-#ifdef HAVE_FAUDIO_COMMITOPERATIONSET
 LOAD_FUNCPTR(FAudio_CommitOperationSet)
-#else
-LOAD_FUNCPTR(FAudio_CommitChanges)
-#endif
 LOAD_FUNCPTR(FAudio_CreateMasteringVoice)
 LOAD_FUNCPTR(FAudio_CreateMasteringVoice8)
 LOAD_FUNCPTR(FAudio_CreateSourceVoice)
@@ -245,21 +240,15 @@ LOAD_FUNCPTR(FAudioCOMConstructWithCustomAllocatorEXT)
 LOAD_FUNCPTR(FAudioCreate)
 LOAD_FUNCPTR(FAudioCreateReverb)
 LOAD_FUNCPTR(FAudioCreateReverb9)
-#ifdef HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT
 LOAD_FUNCPTR(FAudioCreateReverb9WithCustomAllocatorEXT)
-#endif
 LOAD_FUNCPTR(FAudioCreateReverbWithCustomAllocatorEXT)
 LOAD_FUNCPTR(FAudioCreateVolumeMeter)
 LOAD_FUNCPTR(FAudioCreateVolumeMeterWithCustomAllocatorEXT)
-#ifdef HAVE_FAUDIOLINKEDVERSION
 LOAD_FUNCPTR(FAudioLinkedVersion)
-#endif
 
 LOAD_FUNCPTR(F3DAudioCalculate)
 LOAD_FUNCPTR(F3DAudioInitialize)
-#ifdef HAVE_F3DAUDIOINITIALIZE8
 LOAD_FUNCPTR(F3DAudioInitialize8)
-#endif
 
 LOAD_FUNCPTR(FACTAudioEngine_AddRef)
 LOAD_FUNCPTR(FACTAudioEngine_CreateInMemoryWaveBank)
@@ -330,16 +319,8 @@ LOAD_FUNCPTR(FAPOFX_CreateFXWithCustomAllocatorEXT)
     return TRUE;
 }
 
-#else /* SONAME_LIBFAUDIO */
-
-BOOL load_faudio(void)
-{
-    ERR( "FAudio support not compiled in.\n" );
-    return FALSE;
-}
-
-#endif /* SONAME_LIBFAUDIO */
-
 void unload_faudio(void)
 {
+    if (faudio) FreeLibrary(faudio);
+    if (sdl2) FreeLibrary(sdl2);
 }
diff --git a/dlls/xaudio2_7/x3daudio.c b/dlls/xaudio2_7/x3daudio.c
index f07a1282150..450016f7b95 100644
--- a/dlls/xaudio2_7/x3daudio.c
+++ b/dlls/xaudio2_7/x3daudio.c
@@ -17,8 +17,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-
 #include <stdarg.h>
 
 #include "windef.h"
@@ -28,8 +26,6 @@
 
 #include "wine/debug.h"
 
-#include <F3DAudio.h>
-
 #if XAUDIO2_VER >= 8 || defined X3DAUDIO1_VER
 WINE_DEFAULT_DEBUG_CHANNEL(xaudio2);
 #endif
@@ -58,12 +54,7 @@ HRESULT CDECL X3DAudioInitialize(UINT32 chanmask, float speedofsound,
         X3DAUDIO_HANDLE handle)
 {
     TRACE("0x%x, %f, %p\n", chanmask, speedofsound, handle);
-#ifdef HAVE_F3DAUDIOINITIALIZE8
     return pF3DAudioInitialize8(chanmask, speedofsound, handle);
-#else
-    pF3DAudioInitialize(chanmask, speedofsound, handle);
-    return S_OK;
-#endif
 }
 #endif /* XAUDIO2_VER >= 8 */
 
diff --git a/dlls/xaudio2_7/xact_dll.c b/dlls/xaudio2_7/xact_dll.c
index 229980216f7..59ef6ab740d 100644
--- a/dlls/xaudio2_7/xact_dll.c
+++ b/dlls/xaudio2_7/xact_dll.c
@@ -16,10 +16,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-
 #include <stdarg.h>
-#include <FACT.h>
 
 #define NONAMELESSUNION
 #define COBJMACROS
@@ -1466,11 +1463,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved)
     case DLL_PROCESS_ATTACH:
         DisableThreadLibraryCalls( hinstDLL );
         if (!load_faudio()) return FALSE;
-
-#ifdef HAVE_FAUDIOLINKEDVERSION
         TRACE("Using FAudio version %d\n", pFAudioLinkedVersion() );
-#endif
-
         break;
     case DLL_PROCESS_DETACH:
         unload_faudio();
diff --git a/dlls/xaudio2_7/xapo.c b/dlls/xaudio2_7/xapo.c
index 7972f01a994..1b0ae8639cf 100644
--- a/dlls/xaudio2_7/xapo.c
+++ b/dlls/xaudio2_7/xapo.c
@@ -18,8 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-
 #include <stdarg.h>
 
 #define NONAMELESSUNION
@@ -32,10 +30,6 @@
 #include "wine/debug.h"
 #include "wine/heap.h"
 
-#include <FAPO.h>
-#include <FAPOFX.h>
-#include <FAudioFX.h>
-
 WINE_DEFAULT_DEBUG_CHANNEL(xaudio2);
 
 static XA2XAPOFXImpl *impl_from_IXAPO(IXAPO *iface)
@@ -313,7 +307,7 @@ static inline HRESULT get_fapo_from_clsid(REFCLSID clsid, FAPO **fapo)
             XAudio_Internal_Free,
             XAudio_Internal_Realloc
         );
-#if XAUDIO2_VER >= 9 && HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT
+#if XAUDIO2_VER >= 9
     if(IsEqualGUID(clsid, &CLSID_AudioReverb27))
         return pFAudioCreateReverb9WithCustomAllocatorEXT(
             fapo,
diff --git a/dlls/xaudio2_7/xapofx.c b/dlls/xaudio2_7/xapofx.c
index 4cbc2816bc8..e6c488bb8b8 100644
--- a/dlls/xaudio2_7/xapofx.c
+++ b/dlls/xaudio2_7/xapofx.c
@@ -17,8 +17,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-
 #include <stdarg.h>
 
 #define NONAMELESSUNION
diff --git a/dlls/xaudio2_7/xaudio_allocator.c b/dlls/xaudio2_7/xaudio_allocator.c
index 41be48a80f3..7a86e25f06b 100644
--- a/dlls/xaudio2_7/xaudio_allocator.c
+++ b/dlls/xaudio2_7/xaudio_allocator.c
@@ -16,8 +16,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-
 #include <stdarg.h>
 
 #define NONAMELESSUNION
diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
index eb3cae7ad62..21bd57b4587 100644
--- a/dlls/xaudio2_7/xaudio_dll.c
+++ b/dlls/xaudio2_7/xaudio_dll.c
@@ -18,8 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-
 #include <stdarg.h>
 
 #define NONAMELESSUNION
@@ -88,9 +86,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved)
     case DLL_PROCESS_ATTACH:
         DisableThreadLibraryCalls( hinstDLL );
         if (!load_faudio()) return FALSE;
-#ifdef HAVE_FAUDIOLINKEDVERSION
         TRACE("Using FAudio version %d\n", pFAudioLinkedVersion() );
-#endif
         break;
     case DLL_PROCESS_DETACH:
         unload_faudio();
@@ -1287,13 +1283,6 @@ static void WINAPI XA2M_DestroyVoice(IXAudio2MasteringVoice *iface)
     EnterCriticalSection(&This->lock);
 
     destroy_voice(This);
-    pthread_mutex_lock(&This->engine_lock);
-    This->engine_params.proc = NULL;
-    pthread_cond_broadcast(&This->engine_ready);
-    pthread_mutex_unlock(&This->engine_lock);
-
-    WaitForSingleObject(This->engine_thread, INFINITE);
-    This->engine_thread = NULL;
 
     LeaveCriticalSection(&This->lock);
 }
@@ -1664,49 +1653,6 @@ static HRESULT WINAPI IXAudio2Impl_CreateSubmixVoice(IXAudio2 *iface,
     return S_OK;
 }
 
-/* called thread created by SDL, must not access Wine TEB */
-void engine_cb(FAudioEngineCallEXT proc, FAudio *faudio, float *stream, void *user)
-{
-    XA2VoiceImpl *This = user;
-
-    pthread_mutex_lock(&This->engine_lock);
-
-    This->engine_params.proc = proc;
-    This->engine_params.stream = stream;
-    This->engine_params.faudio = faudio;
-
-    pthread_cond_broadcast(&This->engine_ready);
-
-    while(This->engine_params.proc)
-        pthread_cond_wait(&This->engine_done, &This->engine_lock);
-
-    pthread_mutex_unlock(&This->engine_lock);
-}
-
-/* wine thread, OK to access TEB, invoke client code, etc */
-DWORD WINAPI engine_thread(void *user)
-{
-    XA2VoiceImpl *This = user;
-
-    pthread_mutex_lock(&This->engine_lock);
-
-    pthread_cond_broadcast(&This->engine_done);
-
-    do{
-        pthread_cond_wait(&This->engine_ready, &This->engine_lock);
-
-        if(This->engine_params.proc){
-            This->engine_params.proc(This->engine_params.faudio, This->engine_params.stream);
-            This->engine_params.proc = NULL;
-            pthread_cond_broadcast(&This->engine_done);
-        }
-    }while(This->in_use);
-
-    pthread_mutex_unlock(&This->engine_lock);
-
-    return 0;
-}
-
 static HRESULT WINAPI IXAudio2Impl_CreateMasteringVoice(IXAudio2 *iface,
         IXAudio2MasteringVoice **ppMasteringVoice, UINT32 inputChannels,
         UINT32 inputSampleRate, UINT32 flags, const WCHAR *deviceId,
@@ -1740,16 +1686,6 @@ static HRESULT WINAPI IXAudio2Impl_CreateMasteringVoice(IXAudio2 *iface,
 
     This->mst.effect_chain = wrap_effect_chain(pEffectChain);
 
-    pthread_mutex_lock(&This->mst.engine_lock);
-
-    This->mst.engine_thread = CreateThread(NULL, 0, &engine_thread, &This->mst, 0, NULL);
-
-    pthread_cond_wait(&This->mst.engine_done, &This->mst.engine_lock);
-
-    pthread_mutex_unlock(&This->mst.engine_lock);
-
-    pFAudio_SetEngineProcedureEXT(This->faudio, &engine_cb, &This->mst);
-
     pFAudio_CreateMasteringVoice8(This->faudio, &This->mst.faudio_voice, inputChannels,
             inputSampleRate, flags, NULL /* TODO: (uint16_t*)deviceId */,
             This->mst.effect_chain, (FAudioStreamCategory)streamCategory);
@@ -1786,11 +1722,7 @@ static HRESULT WINAPI IXAudio2Impl_CommitChanges(IXAudio2 *iface,
 
     TRACE("(%p)->(0x%x)\n", This, operationSet);
 
-#ifdef HAVE_FAUDIO_COMMITOPERATIONSET
     return pFAudio_CommitOperationSet(This->faudio, operationSet);
-#else
-    return pFAudio_CommitChanges(This->faudio);
-#endif
 }
 
 static void WINAPI IXAudio2Impl_GetPerformanceData(IXAudio2 *iface,
@@ -1927,10 +1859,6 @@ static HRESULT WINAPI XAudio2CF_CreateInstance(IClassFactory *iface, IUnknown *p
     InitializeCriticalSection(&object->mst.lock);
     object->mst.lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": XA2MasteringVoice.lock");
 
-    pthread_mutex_init(&object->mst.engine_lock, NULL);
-    pthread_cond_init(&object->mst.engine_done, NULL);
-    pthread_cond_init(&object->mst.engine_ready, NULL);
-
     pFAudioCOMConstructWithCustomAllocatorEXT(
         &object->faudio,
         XAUDIO2_VER,
diff --git a/dlls/xaudio2_7/xaudio_private.h b/dlls/xaudio2_7/xaudio_private.h
index 35d0410f60f..908ea577725 100644
--- a/dlls/xaudio2_7/xaudio_private.h
+++ b/dlls/xaudio2_7/xaudio_private.h
@@ -23,24 +23,18 @@
 #include "xaudio2.h"
 #include "xapo.h"
 
-#include <F3DAudio.h>
-#include <FACT.h>
-#include <FACT3D.h>
-#include <FAPO.h>
-#include <FAPOBase.h>
-#include <FAPOFX.h>
-#include <FAudio.h>
-#include <FAudioFX.h>
-
-#include <pthread.h>
+#include "FAudio/F3DAudio.h"
+#include "FAudio/FACT.h"
+#include "FAudio/FACT3D.h"
+#include "FAudio/FAPO.h"
+#include "FAudio/FAPOBase.h"
+#include "FAudio/FAPOFX.h"
+#include "FAudio/FAudio.h"
+#include "FAudio/FAudioFX.h"
 
 #define MAKE_FUNCPTR(f) extern typeof(f) * p##f DECLSPEC_HIDDEN;
 MAKE_FUNCPTR(FAudio_AddRef)
-#ifdef HAVE_FAUDIO_COMMITOPERATIONSET
 MAKE_FUNCPTR(FAudio_CommitOperationSet)
-#else
-MAKE_FUNCPTR(FAudio_CommitChanges)
-#endif
 MAKE_FUNCPTR(FAudio_CreateMasteringVoice)
 MAKE_FUNCPTR(FAudio_CreateMasteringVoice8)
 MAKE_FUNCPTR(FAudio_CreateSourceVoice)
@@ -92,21 +86,15 @@ MAKE_FUNCPTR(FAudioCOMConstructWithCustomAllocatorEXT)
 MAKE_FUNCPTR(FAudioCreate)
 MAKE_FUNCPTR(FAudioCreateReverb)
 MAKE_FUNCPTR(FAudioCreateReverb9)
-#ifdef HAVE_FAUDIOCREATEREVERB9WITHCUSTOMALLOCATOREXT
 MAKE_FUNCPTR(FAudioCreateReverb9WithCustomAllocatorEXT)
-#endif
 MAKE_FUNCPTR(FAudioCreateReverbWithCustomAllocatorEXT)
 MAKE_FUNCPTR(FAudioCreateVolumeMeter)
 MAKE_FUNCPTR(FAudioCreateVolumeMeterWithCustomAllocatorEXT)
-#ifdef HAVE_FAUDIOLINKEDVERSION
 MAKE_FUNCPTR(FAudioLinkedVersion)
-#endif
 
 MAKE_FUNCPTR(F3DAudioCalculate)
 MAKE_FUNCPTR(F3DAudioInitialize)
-#ifdef HAVE_F3DAUDIOINITIALIZE8
 MAKE_FUNCPTR(F3DAudioInitialize8)
-#endif
 
 MAKE_FUNCPTR(FACTAudioEngine_AddRef)
 MAKE_FUNCPTR(FACTAudioEngine_CreateInMemoryWaveBank)
@@ -246,10 +234,6 @@ typedef struct _XA2VoiceImpl {
         float *stream;
     } engine_params;
 
-    HANDLE engine_thread;
-    pthread_cond_t engine_done, engine_ready;
-    pthread_mutex_t engine_lock;
-
     struct list entry;
 } XA2VoiceImpl;
 
diff --git a/dlls/xaudio2_8/Makefile.in b/dlls/xaudio2_8/Makefile.in
index 69aa0d42b81..27c90eba408 100644
--- a/dlls/xaudio2_8/Makefile.in
+++ b/dlls/xaudio2_8/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=8
 MODULE    = xaudio2_8.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
diff --git a/dlls/xaudio2_9/Makefile.in b/dlls/xaudio2_9/Makefile.in
index b3256636f4d..682f68c76b0 100644
--- a/dlls/xaudio2_9/Makefile.in
+++ b/dlls/xaudio2_9/Makefile.in
@@ -2,8 +2,7 @@ EXTRADEFS = -DXAUDIO2_VER=9
 MODULE    = xaudio2_9.dll
 IMPORTS   = advapi32 ole32 user32 uuid
 PARENTSRC = ../xaudio2_7
-EXTRALIBS = $(DL_LIBS)
-EXTRAINCL = $(FAUDIO_CFLAGS)
+EXTRADLLFLAGS = -mno-cygwin
 
 C_SRCS = \
 	compat.c \
-- 
2.31.0




More information about the wine-devel mailing list