aboutsummaryrefslogtreecommitdiff
path: root/drivers/SCsub
diff options
context:
space:
mode:
authorRémi Verschelde2016-10-15 12:39:28 +0200
committerRémi Verschelde2016-10-30 14:51:34 +0100
commitaa1367595e6fc296fc42c95dfbf23f70de5528c2 (patch)
treea19be35dd67eff6b49104e52b6d9bdcab4bd5ec8 /drivers/SCsub
parentd96842b80ebf0a590b2a200d298c4440aef5fbd9 (diff)
downloadgodot-aa1367595e6fc296fc42c95dfbf23f70de5528c2.tar.gz
godot-aa1367595e6fc296fc42c95dfbf23f70de5528c2.tar.zst
godot-aa1367595e6fc296fc42c95dfbf23f70de5528c2.zip
drivers: Refactor SCsub and drop redundant env_drivers clone
The reordering of the SConscript includes allows to ensure that stuff like the builtin zlib headers will be available for libpng. Also moved glew back into global env, otherwise windows seems not to find it... Kind of shooting in the dark with this multi-env setup. (cherry picked from commit 248bc9159c0b515e3e276db644744161283881ef)
Diffstat (limited to 'drivers/SCsub')
-rw-r--r--drivers/SCsub59
1 files changed, 32 insertions, 27 deletions
diff --git a/drivers/SCsub b/drivers/SCsub
index 2ad924ad1..c496f46a1 100644
--- a/drivers/SCsub
+++ b/drivers/SCsub
@@ -1,42 +1,47 @@
Import('env')
-env_drivers = env.Clone()
-
env.drivers_sources=[]
-#env.add_source_files(env.drivers_sources,"*.cpp")
-Export('env_drivers')
+if ("builtin_zlib" in env and env["builtin_zlib"] == "yes"):
+ SConscript("zlib/SCsub");
+# OS drivers
SConscript('unix/SCsub');
+SConscript('windows/SCsub');
+
+# Sounds drivers
SConscript('alsa/SCsub');
SConscript('pulseaudio/SCsub');
-SConscript('windows/SCsub');
+if (env["platform"] == "windows"):
+ SConscript("rtaudio/SCsub");
+
+# Graphics drivers
SConscript('gles2/SCsub');
SConscript('gl_context/SCsub');
+# Core dependencies
SConscript("png/SCsub");
-if ("builtin_zlib" in env and env["builtin_zlib"] == "yes"):
- SConscript("zlib/SCsub");
-
-if (env["platform"] == "windows"):
- SConscript("rtaudio/SCsub");
SConscript("nrex/SCsub");
+
+# Tools override
+# FIXME: Should likely be integrated in the tools/ codebase
if (env["tools"]=="yes"):
SConscript("convex_decomp/SCsub");
-num = 0
-cur_base = ""
-total = len(env.drivers_sources)
-max_src = 64
-list = []
-lib_list = []
-
-import string
-
if env['vsproj']=="yes":
env.AddToVSProject(env.drivers_sources)
-if (env.split_drivers): #split drivers, this used to be needed for windows until separate builders for windows were created
+
+# Split drivers, this used to be needed for windows until separate builders for windows were created
+# FIXME: Check if still needed now that the drivers were made more lightweight
+if (env.split_drivers):
+ import string
+
+ num = 0
+ cur_base = ""
+ max_src = 64
+ list = []
+ lib_list = []
for f in env.drivers_sources:
fname = ""
@@ -48,14 +53,14 @@ if (env.split_drivers): #split drivers, this used to be needed for windows until
base = string.join(fname.split("/")[:2], "/")
if base != cur_base and len(list) > max_src:
if num > 0:
- lib = env_drivers.Library("drivers"+str(num), list)
+ lib = env.Library("drivers"+str(num), list)
lib_list.append(lib)
list = []
num = num+1
cur_base = base
list.append(f)
- lib = env_drivers.Library("drivers"+str(num), list)
+ lib = env.Library("drivers"+str(num), list)
lib_list.append(lib)
if len(lib_list) > 0:
@@ -63,15 +68,15 @@ if (env.split_drivers): #split drivers, this used to be needed for windows until
if os.name=='posix' and sys.platform=='msys':
env.Replace(ARFLAGS=['rcsT'])
- lib = env_drivers.Library("drivers_collated", lib_list)
+ lib = env.Library("drivers_collated", lib_list)
lib_list = [lib]
drivers_base=[]
- env_drivers.add_source_files(drivers_base,"*.cpp")
- lib_list.insert(0, env_drivers.Library("drivers", drivers_base))
+ env.add_source_files(drivers_base,"*.cpp")
+ lib_list.insert(0, env.Library("drivers", drivers_base))
env.Prepend(LIBS=lib_list)
else:
- env_drivers.add_source_files(env.drivers_sources,"*.cpp")
- lib = env_drivers.Library("drivers",env.drivers_sources)
+ env.add_source_files(env.drivers_sources,"*.cpp")
+ lib = env.Library("drivers",env.drivers_sources)
env.Prepend(LIBS=[lib])