Hi Carlo,

Thank you very much for the patch.
I'll apply your patch and re-release 3.2.28 as SDL3 3.2.28-2.

Please test.

On Tue, 16 Dec 2025 21:15:33 +0100
"Carlo B. via Cygwin-apps" <[email protected]> wrote:
> Hello,
> 
> this is a message for the maintainer of SDL3 package.
> I discovered that support for OpenGL was not working, so I did a check
> on that library.
> I found that there were few bugs:
> - cmake/macros.cmake was failing because CYGWIN uses DLLs like WIN32
> and not .so files.
> - the names of the libraries into src/video/SDL_egl.c are wrong, so I
> fixed them with an additional test on SDL_PLATFORM_CYGWIN.
> - SDL_x11opengl.c uses libGL.so.1 instead of cygGL-1.dll, so a test on
> SDL_PLATFORM_CYGWIN is needed again for loading the right library.
> 
> I attached the patch that needs to be appended to
> SDL3-3.2.28-1.src.patch for fixing these issues.
> BTW, I also suggest to add -DSDL_ALSA=OFF to CYGCMAKE_ARGS into
> SDL3.cygport, for removing the failure when CMake tries to detect
> ALSA.
> 
> The fixes have been tested with TRX, an Open source re-implementation
> of Tomb Raider I and Tomb Raider II and it worked fine after applying
> these changes.
> 
> I hope that you will find this useful.
> Sincerely,
> 
> Carlo Bramini.
> 
> --- origsrc/SDL3-3.2.28/cmake/macros.cmake    2025-01-14
> 01:42:50.000000000 +0100
> +++ src/SDL3-3.2.28/cmake/macros.cmake    2025-12-16 16:45:05.815201900 +0100
> @@ -261,7 +261,7 @@ function(target_get_dynamic_library DEST
>    endif()
>    if(result)
>      string(TOLOWER "${result}" result_lower)
> -    if(WIN32 OR OS2)
> +    if(WIN32 OR OS2 OR CYGWIN)
>        if(NOT result_lower MATCHES ".*dll")
>          message(FATAL_ERROR "\"${result}\" is not a .dll library")
>        endif()
> --- origsrc/SDL3-3.2.28/src/video/SDL_egl.c    2025-09-22
> 20:28:46.000000000 +0200
> +++ src/SDL3-3.2.28/src/video/SDL_egl.c    2025-12-16 16:29:43.552213400 +0100
> @@ -97,6 +97,14 @@
>  #define DEFAULT_OGL_ES_PVR "libGLES_CM.so"
>  #define DEFAULT_OGL_ES     "libGLESv1_CM.so"
> 
> +#elif defined(SDL_PLATFORM_CYGWIN)
> +// CYGWIN
> +#define DEFAULT_OGL        "cygGL-1.dll"
> +#define DEFAULT_EGL        "cygEGL-1.dll"
> +#define DEFAULT_OGL_ES2    "cygGLESv2-2.dll"
> +#define DEFAULT_OGL_ES_PVR "cygGLES_CM-1.dll"
> +#define DEFAULT_OGL_ES     "cygGLESv1_CM-1.dll"
> +
> --- origsrc/SDL3-3.2.28/src/video/x11/SDL_x11opengl.c    2025-01-01
> 16:45:52.000000000 +0100
> +++ src/SDL3-3.2.28/src/video/x11/SDL_x11opengl.c    2025-12-16
> 16:20:08.032562900 +0100
> @@ -40,6 +40,8 @@
>  #define DEFAULT_OPENGL "libGL.so"
>  #elif defined(SDL_PLATFORM_MACOS)
>  #define DEFAULT_OPENGL "/opt/X11/lib/libGL.1.dylib"
> +#elif defined(SDL_PLATFORM_CYGWIN)
> +#define DEFAULT_OPENGL "cygGL-1.dll"
>  #else
>  #define DEFAULT_OPENGL "libGL.so.1"
>  #endif


-- 
Takashi Yano <[email protected]>

Reply via email to