diff options
Diffstat (limited to 'scripts/src/osd/sdl.lua')
-rw-r--r-- | scripts/src/osd/sdl.lua | 123 |
1 files changed, 81 insertions, 42 deletions
diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua index b89a25814ad..6acb5a2d262 100644 --- a/scripts/src/osd/sdl.lua +++ b/scripts/src/osd/sdl.lua @@ -39,23 +39,29 @@ function maintargetosdoptions(_target,_subtarget) end if BASE_TARGETOS=="unix" and _OPTIONS["targetos"]~="macosx" then - links { - "SDL2_ttf", - } + if _OPTIONS["SDL_LIBVER"]=="sdl2" then + links { + "SDL2_ttf", + } + else + links { + "SDL_ttf", + } + end local str = backtick("pkg-config --libs fontconfig") addlibfromstring(str) addoptionsfromstring(str) end if _OPTIONS["targetos"]=="windows" then - if _OPTIONS["USE_LIBSDL"]~="1" then + if _OPTIONS["SDL_LIBVER"]=="sdl2" then links { "SDL2.dll", } else - local str = backtick(sdlconfigcmd() .. " --libs | sed 's/ -lSDLmain//'") - addlibfromstring(str) - addoptionsfromstring(str) + links { + "SDL.dll", + } end links { "psapi", @@ -87,21 +93,16 @@ function maintargetosdoptions(_target,_subtarget) configuration { "mingw*" or "vs*" } targetprefix "sdl" - links { - "psapi" - } configuration { } end function sdlconfigcmd() - if _OPTIONS["targetos"]=="asmjs" then - return "sdl2-config" - elseif not _OPTIONS["SDL_INSTALL_ROOT"] then - return _OPTIONS['TOOLCHAIN'] .. "pkg-config sdl2" + if not _OPTIONS["SDL_INSTALL_ROOT"] then + return _OPTIONS["SDL_LIBVER"] .. "-config" else - return path.join(_OPTIONS["SDL_INSTALL_ROOT"],"bin","sdl2") .. "-config" + return path.join(_OPTIONS["SDL_INSTALL_ROOT"],"bin",_OPTIONS["SDL_LIBVER"]) .. "-config" end end @@ -147,6 +148,23 @@ if not _OPTIONS["NO_USE_XINPUT"] then end newoption { + trigger = "SDL_LIBVER", + description = "Choose SDL version", + allowed = { + { "sdl", "SDL" }, + { "sdl2", "SDL 2" }, + }, +} + +if not _OPTIONS["SDL_LIBVER"] then + if _OPTIONS["targetos"]=="os2" then + _OPTIONS["SDL_LIBVER"] = "sdl" + else + _OPTIONS["SDL_LIBVER"] = "sdl2" + end +end + +newoption { trigger = "SDL2_MULTIAPI", description = "Use couriersud's multi-keyboard patch for SDL 2.1? (this API was removed prior to the 2.0 release)", allowed = { @@ -174,16 +192,16 @@ if not _OPTIONS["SDL_FRAMEWORK_PATH"] then end newoption { - trigger = "USE_LIBSDL", - description = "Use SDL library on OS (rather than framework/dll)", + trigger = "MACOSX_USE_LIBSDL", + description = "Use SDL library on OS (rather than framework)", allowed = { - { "0", "Use framework/dll" }, + { "0", "Use framework" }, { "1", "Use library" }, }, } -if not _OPTIONS["USE_LIBSDL"] then - _OPTIONS["USE_LIBSDL"] = "0" +if not _OPTIONS["MACOSX_USE_LIBSDL"] then + _OPTIONS["MACOSX_USE_LIBSDL"] = "0" end @@ -217,6 +235,10 @@ elseif _OPTIONS["targetos"]=="os2" then SYNC_IMPLEMENTATION = "os2" end +if _OPTIONS["SDL_LIBVER"]=="sdl" then + USE_BGFX = 0 +end + if BASE_TARGETOS=="unix" then if _OPTIONS["targetos"]=="macosx" then local os_version = str_to_version(backtick("sw_vers -productVersion")) @@ -233,27 +255,39 @@ if BASE_TARGETOS=="unix" then "-weak_framework Metal", } end - if _OPTIONS["USE_LIBSDL"]~="1" then + if _OPTIONS["MACOSX_USE_LIBSDL"]~="1" then linkoptions { "-F" .. _OPTIONS["SDL_FRAMEWORK_PATH"], } - links { - "SDL2.framework", - } + if _OPTIONS["SDL_LIBVER"]=="sdl2" then + links { + "SDL2.framework", + } + else + links { + "SDL.framework", + } + end else - local str = backtick(sdlconfigcmd() .. " --libs --static | sed 's/-lSDLmain//'") + local str = backtick(sdlconfigcmd() .. " --libs | sed 's/-lSDLmain//'") addlibfromstring(str) addoptionsfromstring(str) end else if _OPTIONS["NO_X11"]=="1" then _OPTIONS["USE_QTDEBUG"] = "0" + USE_BGFX = 0 else libdirs { "/usr/X11/lib", "/usr/X11R6/lib", "/usr/openwin/lib", } + if _OPTIONS["SDL_LIBVER"]=="sdl" then + links { + "X11", + } + end end local str = backtick(sdlconfigcmd() .. " --libs") addlibfromstring(str) @@ -370,6 +404,13 @@ project ("osd_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.h", MAME_DIR .. "src/osd/modules/debugger/osx/debugosx.h", } + if _OPTIONS["SDL_LIBVER"]=="sdl" then + -- SDLMain_tmpl isn't necessary for SDL2 + files { + MAME_DIR .. "src/osd/sdl/SDLMain_tmpl.mm", + MAME_DIR .. "src/osd/sdl/SDLMain_tmpl.h", + } + end end files { @@ -390,10 +431,12 @@ project ("osd_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/sdl/watchdog.h", MAME_DIR .. "src/osd/modules/render/drawsdl.cpp", } - files { - MAME_DIR .. "src/osd/modules/render/draw13.cpp", - MAME_DIR .. "src/osd/modules/render/blit13.h", - } + if _OPTIONS["SDL_LIBVER"]=="sdl2" then + files { + MAME_DIR .. "src/osd/modules/render/draw13.cpp", + MAME_DIR .. "src/osd/modules/render/blit13.h", + } + end project ("ocore_" .. _OPTIONS["osd"]) @@ -486,14 +529,14 @@ if _OPTIONS["with-tools"] then } if _OPTIONS["targetos"] == "windows" then - if _OPTIONS["USE_LIBSDL"]~="1" then + if _OPTIONS["SDL_LIBVER"] == "sdl2" then links { "SDL2.dll", } else - local str = backtick(sdlconfigcmd() .. " --libs | sed 's/ -lSDLmain//'") - addlibfromstring(str) - addoptionsfromstring(str) + links { + "SDL.dll", + } end links { "psapi", @@ -504,14 +547,12 @@ if _OPTIONS["with-tools"] then files { MAME_DIR .. "src/osd/sdl/main.cpp", } + elseif _OPTIONS["targetos"] == "macosx" and _OPTIONS["SDL_LIBVER"] == "sdl" then + -- SDLMain_tmpl isn't necessary for SDL2 + files { + MAME_DIR .. "src/osd/sdl/SDLMain_tmpl.mm", + } end - - configuration { "mingw*" or "vs*" } - targetextension ".exe" - - configuration { } - - strip() end @@ -553,6 +594,4 @@ if _OPTIONS["targetos"] == "macosx" and _OPTIONS["with-tools"] then files { MAME_DIR .. "src/osd/sdl/aueffectutil.mm", } - - strip() end |