--- origsrc/portaudio/bindings/cpp/example/devs.cxx 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/bindings/cpp/example/devs.cxx 2023-09-10 21:48:19.861539500 +0900 @@ -1,7 +1,7 @@ #include #include "portaudiocpp/PortAudioCpp.hxx" -#ifdef WIN32 +#if PA_USE_ASIO #include "portaudiocpp/AsioDeviceAdapter.hxx" #endif @@ -109,7 +109,7 @@ int main(int, char*[]) std::cout << "Default high input latency = " << (*i).defaultHighInputLatency() << std::endl; // 8.3 std::cout << "Default high output latency = " << (*i).defaultHighOutputLatency() << std::endl; // 8.3 -#ifdef WIN32 +#if PA_USE_ASIO // ASIO specific latency information: if ((*i).hostApi().typeId() == paASIO) { @@ -124,7 +124,7 @@ int main(int, char*[]) else std::cout << "ASIO buffer granularity = " << asioDevice.granularity() << std::endl; } -#endif // WIN32 +#endif // PA_USE_ASIO std::cout << "Default sample rate = " << (*i).defaultSampleRate() << std::endl; // 8.2 --- origsrc/portaudio/configure.in 2023-09-10 21:48:17.909916600 +0900 +++ src/portaudio/configure.in 2023-09-10 21:48:19.864538500 +0900 @@ -114,7 +114,7 @@ AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S -AC_PATH_PROG(AR, ar, no) +AC_PATH_TOOL(AR, ar, no) if [[ $AR = "no" ]] ; then AC_MSG_ERROR("Could not find ar - needed to create a library") fi @@ -281,13 +281,13 @@ case "${host_os}" in PADLL="libportaudio.dylib" ;; - mingw* ) + mingw* | cygwin* ) dnl MingW configuration PADLL="portaudio.dll" THREAD_CFLAGS="-mthreads" - SHARED_FLAGS="-shared" CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/win -DPA_USE_WMME=0 -DPA_USE_ASIO=0 -DPA_USE_WDMKS=0 -DPA_USE_DS=0 -DPA_USE_WASAPI=0" + INCLUDES="$INCLUDES pa_win_waveformat.h" if [[ "x$with_directx" = "xyes" ]]; then DXDIR="$with_dxdir" @@ -303,8 +303,8 @@ case "${host_os}" in if [[ "x$with_asio" = "xyes" ]]; then ASIODIR="$with_asiodir" add_objects src/hostapi/asio/pa_asio.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/hostapi/asio/iasiothiscallresolver.o $ASIODIR/common/asio.o $ASIODIR/host/asiodrivers.o $ASIODIR/host/pc/asiolist.o - LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" - DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid" + LIBS="${LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" + DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -I\$(top_srcdir)/src/hostapi/asio -I$ASIODIR/host/pc -I$ASIODIR/common -I$ASIODIR/host -UPA_USE_ASIO -DPA_USE_ASIO=1 -DWINDOWS" INCLUDES="$INCLUDES pa_asio.h" @@ -320,8 +320,8 @@ case "${host_os}" in if [[ "x$with_wdmks" = "xyes" ]]; then DXDIR="$with_dxdir" add_objects src/hostapi/wdmks/pa_win_wdmks.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_wdmks_utils.o src/os/win/pa_win_waveformat.o - LIBS="${LIBS} -lwinmm -lm -luuid -lsetupapi -lole32" - DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32" + LIBS="${LIBS} -lwinmm -lm /lib/w32api/libuuid.a -lsetupapi -lole32" + DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib /lib/w32api/libuuid.a -lsetupapi -lole32" #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\"" #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO" CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_WDMKS -DPA_USE_WDMKS=1" @@ -330,7 +330,7 @@ case "${host_os}" in if [[ "x$with_wmme" = "xyes" ]]; then add_objects src/hostapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_waveformat.o - LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" + LIBS="${LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" DLL_LIBS="${DLL_LIBS} -lwinmm" CFLAGS="$CFLAGS -UPA_USE_WMME -DPA_USE_WMME=1" INCLUDES="$INCLUDES pa_win_wmme.h pa_win_waveformat.h" @@ -338,7 +338,7 @@ case "${host_os}" in if [[ "x$with_wasapi" = "xyes" ]]; then add_objects src/hostapi/wasapi/pa_win_wasapi.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/os/win/pa_win_waveformat.o - LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" + LIBS="${LIBS} -lwinmm -lm -lole32 /lib/w32api/libuuid.a" DLL_LIBS="${DLL_LIBS} -lwinmm -lole32" CFLAGS="$CFLAGS -UPA_USE_WASAPI -DPA_USE_WASAPI=1" INCLUDES="$INCLUDES pa_win_wasapi.h pa_win_waveformat.h" @@ -350,6 +350,7 @@ case "${host_os}" in OTHER_OBJS="src/hostapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_waveformat.o" CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/win -DPA_USE_DS=0 -DPA_USE_WDMKS=0 -DPA_USE_ASIO=0 -DPA_USE_WASAPI=0 -DPA_USE_WMME=1" + INCLUDES="$INCLUDES pa_win_wmme.h pa_win_waveformat.h" LIBS="-lwinmm -lm" PADLL="portaudio.dll" THREAD_CFLAGS="-mthreads" --- origsrc/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h 2023-09-11 19:54:41.946294800 +0900 @@ -49,10 +49,11 @@ /* on Borland compilers, WIN32 doesn't seem to be defined by default, which breaks dsound.h. Adding the define here fixes the problem. - rossb. */ -#ifdef __BORLANDC__ #if !defined(WIN32) #define WIN32 #endif +#if !defined(_WIN32) +#define _WIN32 #endif /* --- origsrc/portaudio/src/hostapi/wasapi/pa_win_wasapi.c 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/src/hostapi/wasapi/pa_win_wasapi.c 2023-09-10 21:48:19.872519800 +0900 @@ -74,7 +74,7 @@ // using adjustments for MinGW build from @mgeier/MXE // https://github.com/mxe/mxe/commit/f4bbc45682f021948bdaefd9fd476e2a04c4740f #include // must be before other Wasapi headers -#if defined(_MSC_VER) && (_MSC_VER >= 1400) || defined(__MINGW64_VERSION_MAJOR) +#if defined(_MSC_VER) && (_MSC_VER >= 1400) || defined(__MINGW64_VERSION_MAJOR) || defined(__CYGWIN__) #include #define COBJMACROS #include @@ -243,6 +243,10 @@ #endif +#ifdef __CYGWIN__ +#define _snprintf snprintf +#endif + #ifndef GUID_SECT #define GUID_SECT #endif --- origsrc/portaudio/src/hostapi/wdmks/pa_win_wdmks.c 2021-04-01 09:35:42.000000000 +0900 +++ src/portaudio/src/hostapi/wdmks/pa_win_wdmks.c 2023-09-10 21:48:19.876526300 +0900 @@ -63,8 +63,6 @@ of a device for the duration of active s #ifdef __GNUC__ #include -#define _WIN32_WINNT 0x0501 -#define WINVER 0x0501 #endif #include /* strlen() */ @@ -105,6 +103,13 @@ of a device for the duration of active s #define snprintf _snprintf #define vsnprintf _vsnprintf #endif +#ifdef __CYGWIN__ +#define _snprintf snprintf +#define _vsnprintf vsnprintf +#define _snwprintf swprintf +#define _wcsicmp wcscasecmp +#define _wcsnicmp wcsncasecmp +#endif /* The PA_HP_TRACE macro is used in RT parts, so it can be switched off without affecting the rest of the debug tracing */