diff options
Diffstat (limited to 'SConstruct')
-rw-r--r-- | SConstruct | 61 |
1 files changed, 23 insertions, 38 deletions
diff --git a/SConstruct b/SConstruct index 55b061a6f7..88bb43fbc7 100644 --- a/SConstruct +++ b/SConstruct @@ -5,7 +5,6 @@ EnsureSConsVersion(0, 98, 1) # System import glob import os -import string import sys # Local @@ -67,20 +66,6 @@ if 'TERM' in os.environ: env_base['ENV']['TERM'] = os.environ['TERM'] env_base.AppendENVPath('PATH', os.getenv('PATH')) env_base.AppendENVPath('PKG_CONFIG_PATH', os.getenv('PKG_CONFIG_PATH')) -env_base.android_maven_repos = [] -env_base.android_flat_dirs = [] -env_base.android_dependencies = [] -env_base.android_gradle_plugins = [] -env_base.android_gradle_classpath = [] -env_base.android_java_dirs = [] -env_base.android_res_dirs = [] -env_base.android_asset_dirs = [] -env_base.android_aidl_dirs = [] -env_base.android_jni_dirs = [] -env_base.android_default_config = [] -env_base.android_manifest_chunk = "" -env_base.android_permission_chunk = "" -env_base.android_appattributes_chunk = "" env_base.disabled_modules = [] env_base.use_ptrcall = False env_base.split_drivers = False @@ -88,20 +73,6 @@ env_base.split_modules = False env_base.module_version_string = "" env_base.msvc = False -env_base.__class__.android_add_maven_repository = methods.android_add_maven_repository -env_base.__class__.android_add_flat_dir = methods.android_add_flat_dir -env_base.__class__.android_add_dependency = methods.android_add_dependency -env_base.__class__.android_add_java_dir = methods.android_add_java_dir -env_base.__class__.android_add_res_dir = methods.android_add_res_dir -env_base.__class__.android_add_asset_dir = methods.android_add_asset_dir -env_base.__class__.android_add_aidl_dir = methods.android_add_aidl_dir -env_base.__class__.android_add_jni_dir = methods.android_add_jni_dir -env_base.__class__.android_add_default_config = methods.android_add_default_config -env_base.__class__.android_add_to_manifest = methods.android_add_to_manifest -env_base.__class__.android_add_to_permissions = methods.android_add_to_permissions -env_base.__class__.android_add_to_attributes = methods.android_add_to_attributes -env_base.__class__.android_add_gradle_plugin = methods.android_add_gradle_plugin -env_base.__class__.android_add_gradle_classpath = methods.android_add_gradle_classpath env_base.__class__.disable_module = methods.disable_module env_base.__class__.add_module_version_string = methods.add_module_version_string @@ -181,7 +152,6 @@ opts.Add(BoolVariable('builtin_opus', "Use the built-in Opus library", True)) opts.Add(BoolVariable('builtin_pcre2', "Use the built-in PCRE2 library)", True)) opts.Add(BoolVariable('builtin_recast', "Use the built-in Recast library", True)) opts.Add(BoolVariable('builtin_squish', "Use the built-in squish library", True)) -opts.Add(BoolVariable('builtin_thekla_atlas', "Use the built-in thekla_altas library", True)) opts.Add(BoolVariable('builtin_xatlas', "Use the built-in xatlas library", True)) opts.Add(BoolVariable('builtin_zlib', "Use the built-in zlib library", True)) opts.Add(BoolVariable('builtin_zstd', "Use the built-in Zstd library", True)) @@ -191,8 +161,8 @@ opts.Add("CXX", "C++ compiler") opts.Add("CC", "C compiler") opts.Add("LINK", "Linker") opts.Add("CCFLAGS", "Custom flags for both the C and C++ compilers") -opts.Add("CXXFLAGS", "Custom flags for the C++ compiler") opts.Add("CFLAGS", "Custom flags for the C compiler") +opts.Add("CXXFLAGS", "Custom flags for the C++ compiler") opts.Add("LINKFLAGS", "Custom flags for the linker") # add platform specific options @@ -219,7 +189,7 @@ Help(opts.GenerateHelpText(env_base)) # generate help # add default include paths -env_base.Append(CPPPATH=['#editor', '#']) +env_base.Prepend(CPPPATH=['#', '#editor']) # configure ENV for platform env_base.platform_exporters = platform_exporters @@ -301,17 +271,18 @@ if selected_platform in platform_list: 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'] = '' - env.Append(LINKFLAGS=str(LINKFLAGS).split()) flag_list = platform_flags[selected_platform] @@ -342,12 +313,26 @@ if selected_platform in platform_list: shadow_local_warning = [] all_plus_warnings = ['-Wwrite-strings'] - if methods.use_gcc(env): + if methods.using_gcc(env): version = methods.get_compiler_version(env) if version != None and version[0] >= '7': shadow_local_warning = ['-Wshadow-local'] + if (env["warnings"] == 'extra'): - env.Append(CCFLAGS=['-Wall', '-Wextra'] + all_plus_warnings + shadow_local_warning) + # FIXME: enable -Wclobbered once #26351 is fixed + # FIXME: enable -Wduplicated-branches once #27594 is merged + # Note: enable -Wimplicit-fallthrough for Clang (already part of -Wextra for GCC) + # once we switch to C++11 or later (necessary for our FALLTHROUGH macro). + env.Append(CCFLAGS=['-Wall', '-Wextra', '-Wno-unused-parameter'] + + all_plus_warnings + shadow_local_warning) + env.Append(CXXFLAGS=['-Wctor-dtor-privacy', '-Wnon-virtual-dtor']) + if methods.using_gcc(env): + env.Append(CCFLAGS=['-Wno-clobbered', '-Walloc-zero', + '-Wduplicated-cond', '-Wstringop-overflow=4', '-Wlogical-op']) + env.Append(CXXFLAGS=['-Wnoexcept', '-Wplacement-new=1']) + version = methods.get_compiler_version(env) + if version != None and version[0] >= '9': + env.Append(CCFLAGS=['-Wattribute-alias=2']) elif (env["warnings"] == 'all'): env.Append(CCFLAGS=['-Wall'] + shadow_local_warning) elif (env["warnings"] == 'moderate'): @@ -577,7 +562,7 @@ if 'env' in locals(): # (filename, size, weight). current_time = time.time() file_stat = [(x[0], x[1][0], (current_time - x[1][1])) for x in file_stat] - # Sort by the most resently accessed files (most sensible to keep) first + # Sort by the most recently accessed files (most sensible to keep) first file_stat.sort(key=lambda x: x[2]) # Search for the first entry where the storage limit is # reached |