godot/drivers/SCsub

#!/usr/bin/env python
from misc.utility.scons_hints import *

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("Target platform '{}' does not support the XAudio2 audio driver. Aborting.".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("Target platform '{}' does not support the D3D12 rendering driver. Aborting.".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("Target platform '{}' does not support the Metal rendering driver. Aborting.".format(env["platform"]))
        Exit(255)
    SConscript("metal/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])