2016-10-17 08:50:25 +02:00
|
|
|
#!/usr/bin/env python
|
2024-06-11 22:19:07 +02:00
|
|
|
from misc.utility.scons_hints import *
|
2016-10-17 08:50:25 +02:00
|
|
|
|
2024-09-27 19:30:51 +02:00
|
|
|
from methods import print_error
|
|
|
|
|
2020-03-30 08:28:32 +02:00
|
|
|
Import("env")
|
2015-05-03 23:18:56 +02:00
|
|
|
|
2016-10-30 18:57:40 +01:00
|
|
|
env.drivers_sources = []
|
2024-08-21 08:58:18 +02:00
|
|
|
supported = env.get("supported", [])
|
2016-05-22 01:07:32 +02:00
|
|
|
|
2016-10-15 12:39:28 +02:00
|
|
|
# OS drivers
|
2020-03-30 08:28:32 +02:00
|
|
|
SConscript("unix/SCsub")
|
|
|
|
SConscript("windows/SCsub")
|
2016-10-15 12:39:28 +02:00
|
|
|
|
|
|
|
# Sounds drivers
|
2020-03-30 08:28:32 +02:00
|
|
|
SConscript("alsa/SCsub")
|
|
|
|
SConscript("coreaudio/SCsub")
|
|
|
|
SConscript("pulseaudio/SCsub")
|
|
|
|
if env["platform"] == "windows":
|
2017-08-27 19:01:34 +02:00
|
|
|
SConscript("wasapi/SCsub")
|
2022-05-13 14:42:07 +02:00
|
|
|
if not env.msvc:
|
|
|
|
SConscript("backtrace/SCsub")
|
2020-03-30 08:28:32 +02:00
|
|
|
if env["xaudio2"]:
|
2024-08-21 08:58:18 +02:00
|
|
|
if "xaudio2" not in supported:
|
2024-09-27 19:30:51 +02:00
|
|
|
print_error("Target platform '{}' does not support the XAudio2 audio driver".format(env["platform"]))
|
2024-08-21 08:58:18 +02:00
|
|
|
Exit(255)
|
2016-11-01 00:24:30 +01:00
|
|
|
SConscript("xaudio2/SCsub")
|
2016-10-15 12:39:28 +02:00
|
|
|
|
2018-07-14 14:11:28 +02:00
|
|
|
# Midi drivers
|
2020-03-30 08:28:32 +02:00
|
|
|
SConscript("alsamidi/SCsub")
|
|
|
|
SConscript("coremidi/SCsub")
|
|
|
|
SConscript("winmidi/SCsub")
|
2018-07-14 14:11:28 +02:00
|
|
|
|
2016-10-15 12:39:28 +02:00
|
|
|
# Graphics drivers
|
2021-05-25 18:26:38 +02:00
|
|
|
if env["vulkan"]:
|
2020-03-30 08:28:32 +02:00
|
|
|
SConscript("vulkan/SCsub")
|
2023-01-09 16:56:16 +01:00
|
|
|
if env["d3d12"]:
|
2024-08-21 08:58:18 +02:00
|
|
|
if "d3d12" not in supported:
|
2024-09-27 19:30:51 +02:00
|
|
|
print_error("Target platform '{}' does not support the D3D12 rendering driver".format(env["platform"]))
|
2024-08-21 08:58:18 +02:00
|
|
|
Exit(255)
|
2023-01-09 16:56:16 +01:00
|
|
|
SConscript("d3d12/SCsub")
|
2021-10-25 19:16:40 +02:00
|
|
|
if env["opengl3"]:
|
2020-11-18 19:11:30 +01:00
|
|
|
SConscript("gl_context/SCsub")
|
2021-10-25 19:16:40 +02:00
|
|
|
SConscript("gles3/SCsub")
|
2021-11-12 13:49:49 +01:00
|
|
|
SConscript("egl/SCsub")
|
2024-02-19 19:52:00 +01:00
|
|
|
if env["metal"]:
|
2024-08-21 08:58:18 +02:00
|
|
|
if "metal" not in supported:
|
2024-09-27 19:30:51 +02:00
|
|
|
print_error("Target platform '{}' does not support the Metal rendering driver".format(env["platform"]))
|
2024-08-21 08:58:18 +02:00
|
|
|
Exit(255)
|
2024-02-19 19:52:00 +01:00
|
|
|
SConscript("metal/SCsub")
|
2015-05-03 23:18:56 +02:00
|
|
|
|
2016-10-15 12:39:28 +02:00
|
|
|
# Core dependencies
|
2016-11-01 00:24:30 +01:00
|
|
|
SConscript("png/SCsub")
|
2016-10-15 12:39:28 +02:00
|
|
|
|
2019-12-09 19:22:08 +01:00
|
|
|
env.add_source_files(env.drivers_sources, "*.cpp")
|
|
|
|
|
|
|
|
lib = env.add_library("drivers", env.drivers_sources)
|
|
|
|
env.Prepend(LIBS=[lib])
|