Hi

Thanks for update SDL2. I update my version with your updates except modular, I like more all in same file.
I add SDL_messagebox.h:

Code:
////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////       SDL_messagebox.h       ////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////


const


  //SDL_MessageBoxFlags;
  SDL_MESSAGEBOX_ERROR        = $00000010;   //**< error dialog */
  SDL_MESSAGEBOX_WARNING      = $00000020;   //**< warning dialog */
  SDL_MESSAGEBOX_INFORMATION  = $00000040;   //**< informational dialog */


  //SDL_MessageBoxButtonFlags;
  SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = $00000001;  //**< Marks the default button when return is hit */
  SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = $00000002;  //**< Marks the default button when escape is hit */


function SDL_ShowSimpleMessageBox(flags : Uint32; const title : PAnsiChar; const message : PAnsiChar; window : PSDL_Window): UInt32 cdecl; external {$IFDEF GPC} name 'SDL_ShowSimpleMessageBox' {$ELSE} SDL_LibName {$ENDIF};
And support for load and save BMP in surfaces form TmemoryStream for copy TPicture.TBitmap to surface and viceversa.

I test again to compile for MAC and have same problem:
Code:
dyld: lazy symbol binding failed: Symbol not found: SDL_Init
I search in embarcadero help and I see all functions in OSX need begin with "_".
I rename SDL_Init function to _SDL_Init and WORK OK !!!!
I rename several functions and now I can create windows and renderer in OSX.

But now not compile with win32/win64:
Code:
Not found the procedure entry point _SDL_Init in the dynamic link library.
I do not know how to make function that add "_ " before name function for MACOS.
I would like the name of the function is always "SDL_Init" but when I compile for MACOS renamed for "_SDL_Init"

Thanks.