mirror of
https://github.com/izzy2lost/shinobu.git
synced 2026-03-26 16:50:24 -07:00
7f1b789678
SDL is loaded in the same way other Linux system libraries are loaded by using a wrapped and dlopen. Optionally, SDL can be dynamically linked into the binary. Currently for Linux only since that platform direly needs it, but should be easy to make work on Windows once stable. Proposal at: godotengine/godot-proposals#9000
63 lines
1.6 KiB
Python
63 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
from misc.utility.scons_hints import *
|
|
|
|
from methods import print_error
|
|
|
|
Import("env")
|
|
|
|
env.drivers_sources = []
|
|
supported = env.get("supported", [])
|
|
|
|
# OS drivers
|
|
SConscript("unix/SCsub")
|
|
SConscript("windows/SCsub")
|
|
|
|
# Sounds drivers
|
|
SConscript("alsa/SCsub")
|
|
SConscript("coreaudio/SCsub")
|
|
SConscript("pulseaudio/SCsub")
|
|
if env["platform"] == "windows":
|
|
SConscript("wasapi/SCsub")
|
|
if not env.msvc:
|
|
SConscript("backtrace/SCsub")
|
|
if env["xaudio2"]:
|
|
if "xaudio2" not in supported:
|
|
print_error("Target platform '{}' does not support the XAudio2 audio driver".format(env["platform"]))
|
|
Exit(255)
|
|
SConscript("xaudio2/SCsub")
|
|
|
|
# Midi drivers
|
|
SConscript("alsamidi/SCsub")
|
|
SConscript("coremidi/SCsub")
|
|
SConscript("winmidi/SCsub")
|
|
|
|
# Graphics drivers
|
|
if env["vulkan"]:
|
|
SConscript("vulkan/SCsub")
|
|
if env["d3d12"]:
|
|
if "d3d12" not in supported:
|
|
print_error("Target platform '{}' does not support the D3D12 rendering driver".format(env["platform"]))
|
|
Exit(255)
|
|
SConscript("d3d12/SCsub")
|
|
if env["opengl3"]:
|
|
SConscript("gl_context/SCsub")
|
|
SConscript("gles3/SCsub")
|
|
SConscript("egl/SCsub")
|
|
if env["metal"]:
|
|
if "metal" not in supported:
|
|
print_error("Target platform '{}' does not support the Metal rendering driver".format(env["platform"]))
|
|
Exit(255)
|
|
SConscript("metal/SCsub")
|
|
|
|
# Input drivers
|
|
if env["sdl"]:
|
|
SConscript("sdl/SCsub")
|
|
|
|
# Core dependencies
|
|
SConscript("png/SCsub")
|
|
|
|
env.add_source_files(env.drivers_sources, "*.cpp")
|
|
|
|
lib = env.add_library("drivers", env.drivers_sources)
|
|
env.Prepend(LIBS=[lib])
|