SDL: cmake: use 'LINKER:SHELL:' prefix for detecting version script support

From 9228b91da27225859c3889d0b8506432d455ce80 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Wed, 17 Jun 2026 11:23:32 +0200
Subject: [PATCH] cmake: use 'LINKER:SHELL:' prefix for detecting version
 script support

---
 CMakeLists.txt     | 2 +-
 cmake/macros.cmake | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 99962e327d235..dab406e3f6bd9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -558,7 +558,7 @@ endif()
 
 check_linker_supports_version_file(HAVE_WL_VERSION_SCRIPT)
 if(HAVE_WL_VERSION_SCRIPT)
-  sdl_shared_link_options("-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/src/dynapi/SDL_dynapi.sym")
+  sdl_shared_link_options("LINKER:SHELL:--version-script \"${CMAKE_CURRENT_SOURCE_DIR}/src/dynapi/SDL_dynapi.sym\"")
 else()
    # When building with tcc on Linux+glibc or Android, avoid emitting an error
    # for lack of support of the version-script linker flag: the option will be
diff --git a/cmake/macros.cmake b/cmake/macros.cmake
index 3a651fcb91c18..f7c8b53145977 100644
--- a/cmake/macros.cmake
+++ b/cmake/macros.cmake
@@ -316,7 +316,7 @@ function(check_linker_supports_version_file VAR)
   else()
     cmake_push_check_state(RESET)
     file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/dummy.sym" "n_0 {\n global:\n  func;\n local: *;\n};\n")
-    list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/dummy.sym")
+    list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "LINKER:SHELL:--version-script \"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/dummy.sym\"")
     check_c_source_compiles("int func(void) {return 0;} int main(int argc,char*argv[]){(void)argc;(void)argv;return func();}" ${VAR} FAIL_REGEX "(unsupported|syntax error|unrecognized option)")
     cmake_pop_check_state()
   endif()