mirror of
https://github.com/Relintai/codot.git
synced 2024-11-08 20:22:09 +01:00
105 lines
2.8 KiB
Python
105 lines
2.8 KiB
Python
#!/usr/bin/env python
|
|
|
|
EnsureSConsVersion(0, 98, 1)
|
|
|
|
# System
|
|
import atexit
|
|
import glob
|
|
import os
|
|
import pickle
|
|
import sys
|
|
import time
|
|
from collections import OrderedDict
|
|
|
|
# Local
|
|
import methods
|
|
import gles_builders
|
|
from platform_methods import run_in_subprocess
|
|
|
|
# scan possible build platforms
|
|
|
|
platform_list = [] # list of platforms
|
|
platform_opts = {} # options for each platform
|
|
platform_flags = {} # flags for each platform
|
|
|
|
active_platforms = []
|
|
active_platform_ids = []
|
|
platform_exporters = []
|
|
platform_apis = []
|
|
|
|
time_at_start = time.time()
|
|
|
|
custom_tools = ["default"]
|
|
|
|
# We let SCons build its default ENV as it includes OS-specific things which we don't
|
|
# want to have to pull in manually.
|
|
# Then we prepend PATH to make it take precedence, while preserving SCons' own entries.
|
|
env_base = Environment(tools=custom_tools)
|
|
env_base.PrependENVPath("PATH", os.getenv("PATH"))
|
|
env_base.PrependENVPath("PKG_CONFIG_PATH", os.getenv("PKG_CONFIG_PATH"))
|
|
|
|
if "TERM" in os.environ: # Used for colored output.
|
|
env_base["ENV"]["TERM"] = os.environ["TERM"]
|
|
|
|
env_base.disabled_modules = []
|
|
env_base.use_ptrcall = False
|
|
env_base.module_version_string = ""
|
|
env_base.msvc = False
|
|
|
|
env_base.__class__.disable_module = methods.disable_module
|
|
|
|
env_base.__class__.add_module_version_string = methods.add_module_version_string
|
|
|
|
env_base.__class__.add_source_files = methods.add_source_files
|
|
env_base.__class__.use_windows_spawn_fix = methods.use_windows_spawn_fix
|
|
env_base.__class__.split_lib = methods.split_lib
|
|
|
|
env_base.__class__.add_shared_library = methods.add_shared_library
|
|
env_base.__class__.add_library = methods.add_library
|
|
env_base.__class__.add_program = methods.add_program
|
|
env_base.__class__.CommandNoCache = methods.CommandNoCache
|
|
env_base.__class__.disable_warnings = methods.disable_warnings
|
|
|
|
env_base["x86_libtheora_opt_gcc"] = False
|
|
env_base["x86_libtheora_opt_vc"] = False
|
|
|
|
# avoid issues when building with different versions of python out of the same directory
|
|
env_base.SConsignFile(".sconsign{0}.dblite".format(pickle.HIGHEST_PROTOCOL))
|
|
|
|
env_base.Prepend(CPPPATH=["#"])
|
|
|
|
# Build options
|
|
|
|
env = env_base.Clone()
|
|
|
|
# Environment flags
|
|
CCFLAGS = env.get("CCFLAGS", "")
|
|
env["CCFLAGS"] = ""
|
|
env.Append(CCFLAGS=str(CCFLAGS).split())
|
|
|
|
CFLAGS = env.get("CFLAGS", "")
|
|
env["CFLAGS"] = ""
|
|
env.Append(CFLAGS=str(CFLAGS).split())
|
|
|
|
CXXFLAGS = env.get("CXXFLAGS", "")
|
|
env["CXXFLAGS"] = ""
|
|
env.Append(CXXFLAGS=str(CXXFLAGS).split())
|
|
|
|
LINKFLAGS = env.get("LINKFLAGS", "")
|
|
env["LINKFLAGS"] = "-lm"
|
|
env.Append(LINKFLAGS=str(LINKFLAGS).split())
|
|
|
|
methods.no_verbose(sys, env)
|
|
|
|
scons_cache_path = os.environ.get("SCONS_CACHE")
|
|
if scons_cache_path != None:
|
|
CacheDir(scons_cache_path)
|
|
print("Scons cache enabled... (path: '" + scons_cache_path + "')")
|
|
|
|
Export("env")
|
|
|
|
SConscript("core/SCsub")
|
|
SConscript("main/SCsub")
|
|
|
|
|