SDL: winrt: Don't reference generic Condition Variables at all.

From 70a501d8ecf6b490aae1d4a0ef6fa19ff1e0910a Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Wed, 26 Apr 2023 14:02:45 -0400
Subject: [PATCH] winrt: Don't reference generic Condition Variables at all.

It always has the SRWLOCK implementation available to it, so let the
linker throw away the generic version if possible.
---
 src/thread/windows/SDL_syscond_cv.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/thread/windows/SDL_syscond_cv.c b/src/thread/windows/SDL_syscond_cv.c
index 3cdd59b30ddc..e0ac306adc81 100644
--- a/src/thread/windows/SDL_syscond_cv.c
+++ b/src/thread/windows/SDL_syscond_cv.c
@@ -194,10 +194,9 @@ static const SDL_cond_impl_t SDL_cond_impl_cv = {
     &SDL_CondWaitTimeoutNS_cv,
 };
 
-/**
- * Generic Condition Variable implementation using SDL_mutex and SDL_sem
- */
 
+#ifndef __WINRT__
+/* Generic Condition Variable implementation using SDL_mutex and SDL_sem */
 static const SDL_cond_impl_t SDL_cond_impl_generic = {
     &SDL_CreateCond_generic,
     &SDL_DestroyCond_generic,
@@ -205,13 +204,13 @@ static const SDL_cond_impl_t SDL_cond_impl_generic = {
     &SDL_CondBroadcast_generic,
     &SDL_CondWaitTimeoutNS_generic,
 };
+#endif
 
 SDL_cond *
 SDL_CreateCond(void)
 {
     if (SDL_cond_impl_active.Create == NULL) {
-        /* Default to generic implementation, works with all mutex implementations */
-        const SDL_cond_impl_t *impl = &SDL_cond_impl_generic;
+        const SDL_cond_impl_t *impl = NULL;
 
         if (SDL_mutex_impl_active.Type == SDL_MUTEX_INVALID) {
             /* The mutex implementation isn't decided yet, trigger it */
@@ -228,6 +227,8 @@ SDL_CreateCond(void)
         /* Link statically on this platform */
         impl = &SDL_cond_impl_cv;
 #else
+        /* Default to generic implementation, works with all mutex implementations */
+        impl = &SDL_cond_impl_generic;
         {
             HMODULE kernel32 = GetModuleHandle(TEXT("kernel32.dll"));
             if (kernel32) {