248bc9159c
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.
82 lines
1.9 KiB
Text
Vendored
82 lines
1.9 KiB
Text
Vendored
Import('env')
|
|
|
|
env.drivers_sources=[]
|
|
|
|
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');
|
|
if (env["platform"] == "windows"):
|
|
SConscript("rtaudio/SCsub");
|
|
|
|
# Graphics drivers
|
|
SConscript('gles2/SCsub');
|
|
SConscript('gl_context/SCsub');
|
|
|
|
# Core dependencies
|
|
SConscript("png/SCsub");
|
|
SConscript("nrex/SCsub");
|
|
|
|
# Tools override
|
|
# FIXME: Should likely be integrated in the tools/ codebase
|
|
if (env["tools"]=="yes"):
|
|
SConscript("convex_decomp/SCsub");
|
|
|
|
if env['vsproj']=="yes":
|
|
env.AddToVSProject(env.drivers_sources)
|
|
|
|
|
|
# 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 = ""
|
|
if type(f) == type(""):
|
|
fname = env.File(f).path
|
|
else:
|
|
fname = env.File(f)[0].path
|
|
fname = fname.replace("\\", "/")
|
|
base = string.join(fname.split("/")[:2], "/")
|
|
if base != cur_base and len(list) > max_src:
|
|
if num > 0:
|
|
lib = env.Library("drivers"+str(num), list)
|
|
lib_list.append(lib)
|
|
list = []
|
|
num = num+1
|
|
cur_base = base
|
|
list.append(f)
|
|
|
|
lib = env.Library("drivers"+str(num), list)
|
|
lib_list.append(lib)
|
|
|
|
if len(lib_list) > 0:
|
|
import os, sys
|
|
if os.name=='posix' and sys.platform=='msys':
|
|
env.Replace(ARFLAGS=['rcsT'])
|
|
|
|
lib = env.Library("drivers_collated", lib_list)
|
|
lib_list = [lib]
|
|
|
|
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.add_source_files(env.drivers_sources,"*.cpp")
|
|
lib = env.Library("drivers",env.drivers_sources)
|
|
env.Prepend(LIBS=[lib])
|