Merge branch 'gens-sdl-libW32U' into gens-sdl-basic-frontend
authorDavid Korth <gerbilsoft@gerbilsoft.com>
Sat, 15 Aug 2015 20:28:08 +0000 (16:28 -0400)
committerDavid Korth <gerbilsoft@gerbilsoft.com>
Sat, 15 Aug 2015 20:28:08 +0000 (16:28 -0400)
commit41315273bfa61407f41575022ecb732347ae2129
treee0abd387f6158f03e54eb2d31571a811e0892420
parenta3f85eee7535e7dcbd340037a59ae88f67ee5807
parentb0eee05c6dd75d2fa149ef1c2e5bff5b6c3abc58
Merge branch 'gens-sdl-libW32U' into gens-sdl-basic-frontend

Major changes:
- Split W32U from libgens into a separate library, libcompat.
  (Originally libW32U until I added some other stuff.)
- Removed W32U_Init() and W32U_End(). Each W32U function will call
  W32U_IsUnicode(), which checks if the system supports Unicode.
- Added argv and envp conversion for main().
- Check for Windows NT instead of GetModuleHandleW() to determine
  if the system is Unicode.
- Improved Windows subsystem selection.
- Set ${CMAKE_CREATE_CONSOLE_EXE} for MinGW builds.
- New header reentrant.h that defines inline reentrant functions
  for platforms that don't have them.
- Large File Support on Unix, Linux, and Windows.
  - Use fseeko() and ftello() instead of fseek() and ftell()
    where possible.

Among other things, gens-sdl now runs on Windows 98SE, with
a few caveats:
- KernelEx is required for gcc-4.8+ (possibly 4.7) due to its
  usage of GetModuleHandleExW().
- SDL2.dll must be compiled with Unicode disabled and with
  AttachConsole() commented out. (KernelEx doesn't handle this
  function yet.)

Conflicts:
src/CMakeLists.txt
src/libzomg/Metadata_win32.cpp
src/gens-sdl/CMakeLists.txt
src/gens-sdl/Config.cpp
src/gens-sdl/gens-sdl.cpp
src/libzomg/CMakeLists.txt
src/libzomg/Metadata_win32.cpp