621 lines
11 KiB
Lua
621 lines
11 KiB
Lua
local WITH_SDL = 0
|
|
local WITH_SDL2 = 0
|
|
local WITH_SDL_STATIC = 0
|
|
local WITH_SDL2_STATIC = 0
|
|
local WITH_PORTAUDIO = 0
|
|
local WITH_OPENAL = 0
|
|
local WITH_XAUDIO2 = 0
|
|
local WITH_WINMM = 0
|
|
local WITH_WASAPI = 0
|
|
local WITH_ALSA = 0
|
|
local WITH_JACK = 0
|
|
local WITH_OSS = 0
|
|
local WITH_COREAUDIO = 0
|
|
local WITH_VITA_HOMEBREW = 0
|
|
local WITH_NOSOUND = 0
|
|
local WITH_MINIAUDIO = 0
|
|
local WITH_NULL = 1
|
|
local WITH_TOOLS = 0
|
|
|
|
if (os.is("Windows")) then
|
|
WITH_WINMM = 1
|
|
elseif (os.is("macosx")) then
|
|
WITH_COREAUDIO = 1
|
|
else
|
|
WITH_ALSA = 1
|
|
WITH_OSS = 1
|
|
end
|
|
|
|
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
|
|
|
|
local sdl_root = "/libraries/sdl"
|
|
local sdl2_root = "/libraries/sdl2"
|
|
local dxsdk_root = os.getenv("DXSDK_DIR") and os.getenv("DXSDK_DIR") or "C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)"
|
|
local portaudio_root = "/libraries/portaudio"
|
|
local openal_root = "/libraries/openal"
|
|
|
|
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
|
|
|
|
local sdl_include = sdl_root .. "/include"
|
|
local sdl2_include = sdl2_root .. "/include"
|
|
local sdl2_lib_x86 = sdl2_root .. "/lib/x86"
|
|
local sdl2_lib_x64 = sdl2_root .. "/lib/x64"
|
|
local dxsdk_include = dxsdk_root .. "/include"
|
|
local portaudio_include = portaudio_root .. "/include"
|
|
local openal_include = openal_root .. "/include"
|
|
|
|
local buildroot = ""
|
|
if _ACTION then buildroot = _ACTION end
|
|
|
|
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
|
|
|
|
newoption {
|
|
trigger = "with-common-backends",
|
|
description = "Includes common backends in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-openal",
|
|
description = "Include OpenAL backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-sdl",
|
|
description = "Include SDL backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-sdl2",
|
|
description = "Include SDL2 backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-portaudio",
|
|
description = "Include PortAudio backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-wasapi",
|
|
description = "Include WASAPI backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-xaudio2",
|
|
description = "Include XAudio2 backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-native-only",
|
|
description = "Only native backends (winmm/oss) in build (default)"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-sdl-only",
|
|
description = "Only include sdl in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-sdlstatic-only",
|
|
description = "Only include sdl that doesn't use dyndll in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-sdl2-only",
|
|
description = "Only include sdl2 in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-sdl2static-only",
|
|
description = "Only include sdl2 that doesn't use dyndll in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-coreaudio",
|
|
description = "Include OS X CoreAudio backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-vita-homebrew-only",
|
|
description = "Only include PS Vita homebrew backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-tools",
|
|
description = "Include (optional) tools in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "soloud-devel",
|
|
description = "Shorthand for options used while developing SoLoud"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-nosound",
|
|
description = "Include nosound backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-jack",
|
|
description = "Include JACK backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-jack-only",
|
|
description = "Only include JACK backend in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-miniaudio",
|
|
description = "Include MiniAudio in build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-miniaudio-only",
|
|
description = "Only include MiniAudio in build"
|
|
}
|
|
|
|
if _OPTIONS["soloud-devel"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 1
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 1
|
|
WITH_OPENAL = 1
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_MINIAUDIO = 1
|
|
WITH_OSS = 1
|
|
WITH_NOSOUND = 1
|
|
if (os.is("Windows")) then
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 1
|
|
WITH_WASAPI = 1
|
|
WITH_OSS = 0
|
|
end
|
|
WITH_TOOLS = 1
|
|
end
|
|
|
|
if _OPTIONS["with-common-backends"] then
|
|
WITH_SDL = 1
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 1
|
|
WITH_OPENAL = 1
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 1
|
|
WITH_NOSOUND = 1
|
|
WITH_MINIAUDIO = 0
|
|
|
|
if (os.is("Windows")) then
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 1
|
|
WITH_WASAPI = 1
|
|
WITH_OSS = 0
|
|
end
|
|
end
|
|
|
|
if _OPTIONS["with-xaudio2"] then
|
|
WITH_XAUDIO2 = 1
|
|
end
|
|
|
|
if _OPTIONS["with-openal"] then
|
|
WITH_OPENAL = 1
|
|
end
|
|
|
|
if _OPTIONS["with-portaudio"] then
|
|
WITH_PORTAUDIO = 1
|
|
end
|
|
|
|
if _OPTIONS["with-coreaudio"] then
|
|
WITH_COREAUDIO = 1
|
|
end
|
|
|
|
if _OPTIONS["with-sdl"] then
|
|
WITH_SDL = 1
|
|
end
|
|
|
|
if _OPTIONS["with-sdl2"] then
|
|
WITH_SDL2 = 1
|
|
end
|
|
|
|
if _OPTIONS["with-wasapi"] then
|
|
WITH_WASAPI = 1
|
|
end
|
|
|
|
if _OPTIONS["with-nosound"] then
|
|
WITH_NOSOUND = 1
|
|
end
|
|
|
|
if _OPTIONS["with-sdl-only"] then
|
|
WITH_SDL = 1
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 0
|
|
end
|
|
|
|
if _OPTIONS["with-sdl2-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 1
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 0
|
|
end
|
|
|
|
if _OPTIONS["with-sdlstatic-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 1
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 0
|
|
end
|
|
|
|
if _OPTIONS["with-sdl2static-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 1
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 0
|
|
end
|
|
|
|
if _OPTIONS["with-sdl2static-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 1
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 0
|
|
end
|
|
|
|
if _OPTIONS["with-vita-homebrew-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_ALSA = 0
|
|
WITH_VITA_HOMEBREW = 1
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 0
|
|
|
|
premake.gcc.cc = "arm-vita-eabi-gcc"
|
|
premake.gcc.cxx = "arm-vita-eabi-g++"
|
|
premake.gcc.ar = "arm-vita-eabi-ar"
|
|
end
|
|
|
|
if _OPTIONS["with-jack"] then
|
|
WITH_JACK = 1
|
|
end
|
|
|
|
if _OPTIONS["with-jack-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_ALSA = 0
|
|
WITH_VITA_HOMEBREW = 0
|
|
WITH_COREAUDIO = 0
|
|
WITH_JACK = 1
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 0
|
|
end
|
|
|
|
if _OPTIONS["with-miniaudio"] then
|
|
WITH_MINIAUDIO = 1
|
|
end
|
|
|
|
if _OPTIONS["with-miniaudio-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_ALSA = 0
|
|
WITH_VITA_HOMEBREW = 0
|
|
WITH_COREAUDIO = 0
|
|
WITH_JACK = 0
|
|
WITH_NOSOUND = 0
|
|
WITH_MINIAUDIO = 1
|
|
end
|
|
|
|
if _OPTIONS["with-native-only"] then
|
|
WITH_SDL = 0
|
|
WITH_SDL2 = 0
|
|
WITH_SDL_STATIC = 0
|
|
WITH_SDL2_STATIC = 0
|
|
WITH_PORTAUDIO = 0
|
|
WITH_OPENAL = 0
|
|
WITH_XAUDIO2 = 0
|
|
WITH_WINMM = 0
|
|
WITH_WASAPI = 0
|
|
WITH_OSS = 0
|
|
WITH_MINIAUDIO = 0
|
|
WITH_NOSOUND = 0
|
|
if (os.is("Windows")) then
|
|
WITH_WINMM = 1
|
|
elseif (os.is("macosx")) then
|
|
WITH_COREAUDIO = 1
|
|
else
|
|
WITH_OSS = 1
|
|
end
|
|
end
|
|
|
|
if _OPTIONS["with-tools"] then
|
|
WITH_TOOLS = 1
|
|
end
|
|
|
|
print ("")
|
|
print ("Active options:")
|
|
print ("WITH_SDL = ", WITH_SDL)
|
|
print ("WITH_SDL2 = ", WITH_SDL2)
|
|
print ("WITH_PORTAUDIO = ", WITH_PORTAUDIO)
|
|
print ("WITH_OPENAL = ", WITH_OPENAL)
|
|
print ("WITH_XAUDIO2 = ", WITH_XAUDIO2)
|
|
print ("WITH_WINMM = ", WITH_WINMM)
|
|
print ("WITH_WASAPI = ", WITH_WASAPI)
|
|
print ("WITH_ALSA = ", WITH_ALSA)
|
|
print ("WITH_JACK = ", WITH_JACK)
|
|
print ("WITH_OSS = ", WITH_OSS)
|
|
print ("WITH_MINIAUDIO = ", WITH_MINIAUDIO)
|
|
print ("WITH_NOSOUND = ", WITH_NOSOUND)
|
|
print ("WITH_COREAUDIO = ", WITH_COREAUDIO)
|
|
print ("WITH_VITA_HOMEBREW = ", WITH_VITA_HOMEBREW)
|
|
print ("WITH_TOOLS = ", WITH_TOOLS)
|
|
print ("")
|
|
|
|
|
|
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
|
|
|
|
|
|
project "SoloudStatic"
|
|
kind "StaticLib"
|
|
targetdir "soloud/lib"
|
|
language "C++"
|
|
|
|
files
|
|
{
|
|
"soloud/src/audiosource/**.c*",
|
|
"soloud/src/filter/**.c*",
|
|
"soloud/src/core/**.c*"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"soloud/src/**",
|
|
"soloud/include"
|
|
}
|
|
if (WITH_OPENAL == 1) then
|
|
defines {"WITH_OPENAL"}
|
|
files {
|
|
"soloud/src/backend/openal/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include",
|
|
openal_include
|
|
}
|
|
end
|
|
|
|
if (WITH_ALSA == 1) then
|
|
defines {"WITH_ALSA"}
|
|
files {
|
|
"soloud/src/backend/alsa/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include"
|
|
}
|
|
end
|
|
|
|
if (WITH_OSS == 1) then
|
|
defines {"WITH_OSS"}
|
|
files {
|
|
"soloud/src/backend/oss/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include"
|
|
}
|
|
end
|
|
|
|
if (WITH_MINIAUDIO == 1) then
|
|
defines {"WITH_MINIAUDIO"}
|
|
files {
|
|
"soloud/src/backend/miniaudio/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include"
|
|
}
|
|
end
|
|
|
|
if (WITH_NOSOUND == 1) then
|
|
defines {"WITH_NOSOUND"}
|
|
files {
|
|
"soloud/src/backend/nosound/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include"
|
|
}
|
|
end
|
|
|
|
if (WITH_COREAUDIO == 1) then
|
|
defines {"WITH_COREAUDIO"}
|
|
files {
|
|
"soloud/src/backend/coreaudio/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include"
|
|
}
|
|
end
|
|
|
|
if (WITH_PORTAUDIO == 1) then
|
|
defines {"WITH_PORTAUDIO"}
|
|
|
|
files {
|
|
"../src/backend/portaudio/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include",
|
|
portaudio_include
|
|
}
|
|
end
|
|
|
|
if (WITH_SDL == 1) then
|
|
defines { "WITH_SDL" }
|
|
files {
|
|
"soloud/src/backend/sdl/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include",
|
|
sdl2_include
|
|
}
|
|
end
|
|
|
|
if (WITH_SDL2 == 1) then
|
|
defines { "WITH_SDL2" }
|
|
files {
|
|
"soloud/src/backend/sdl/**.c*"
|
|
}
|
|
includedirs {
|
|
"soloud/include",
|
|
sdl2_include
|
|
}
|
|
end
|
|
|
|
if (WITH_SDL_STATIC == 1) then
|
|
defines { "WITH_SDL_STATIC" }
|
|
files {
|
|
"../src/backend/sdl_static/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include",
|
|
sdl_include
|
|
}
|
|
end
|
|
|
|
if (WITH_SDL2_STATIC == 1) then
|
|
defines { "WITH_SDL2_STATIC" }
|
|
files {
|
|
"../src/backend/sdl2_static/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include",
|
|
sdl2_include
|
|
}
|
|
end
|
|
|
|
if (WITH_WASAPI == 1) then
|
|
defines { "WITH_WASAPI" }
|
|
files {
|
|
"../src/backend/wasapi/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include"
|
|
}
|
|
end
|
|
|
|
if (WITH_XAUDIO2 == 1) then
|
|
defines {"WITH_XAUDIO2"}
|
|
files {
|
|
"../src/backend/xaudio2/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include",
|
|
dxsdk_include
|
|
}
|
|
end
|
|
|
|
if (WITH_WINMM == 1) then
|
|
defines { "WITH_WINMM" }
|
|
files {
|
|
"../src/backend/winmm/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include"
|
|
}
|
|
end
|
|
|
|
if (WITH_VITA_HOMEBREW == 1) then
|
|
defines { "WITH_VITA_HOMEBREW", "usleep=sceKernelDelayThread" }
|
|
files {
|
|
"../src/backend/vita_homebrew/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include"
|
|
}
|
|
end
|
|
|
|
|
|
if (WITH_JACK == 1) then
|
|
defines { "WITH_JACK" }
|
|
links { "jack" }
|
|
files {
|
|
"../src/backend/jack/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include"
|
|
}
|
|
end
|
|
|
|
if (WITH_NULL == 1) then
|
|
defines { "WITH_NULL" }
|
|
files {
|
|
"../src/backend/null/**.c*"
|
|
}
|
|
includedirs {
|
|
"../include"
|
|
}
|
|
end
|
|
|
|
targetname "soloud_static"
|
|
|