diff --git a/SConstruct b/SConstruct index 0cfbf84eb24..8eccce9d382 100644 --- a/SConstruct +++ b/SConstruct @@ -297,11 +297,19 @@ env_base.Prepend(CPPPATH=["#"]) env_base.platform_exporters = platform_exporters env_base.platform_apis = platform_apis -if env_base["use_precise_math_checks"]: - env_base.Append(CPPDEFINES=["PRECISE_MATH_CHECKS"]) +# Build type defines - more platform-specific ones can be in detect.py. +if env_base["target"] == "release_debug" or env_base["target"] == "debug": + # DEBUG_ENABLED enables debugging *features* and debug-only code, which is intended + # to give *users* extra debugging information for their game development. + env_base.Append(CPPDEFINES=["DEBUG_ENABLED"]) if env_base["target"] == "debug": - env_base.Append(CPPDEFINES=["DEBUG_MEMORY_ALLOC", "DISABLE_FORCED_INLINE"]) + # DEV_ENABLED enables *engine developer* code which should only be compiled for those + # working on the engine itself. + env_base.Append(CPPDEFINES=["DEV_ENABLED"]) + +if env_base["use_precise_math_checks"]: + env_base.Append(CPPDEFINES=["PRECISE_MATH_CHECKS"]) if env_base["no_editor_splash"]: env_base.Append(CPPDEFINES=["NO_EDITOR_SPLASH"]) diff --git a/core/typedefs.h b/core/typedefs.h index 355d6af50ca..e7dc583a62a 100644 --- a/core/typedefs.h +++ b/core/typedefs.h @@ -59,10 +59,9 @@ #endif -//should always inline, except in some cases because it makes debugging harder +// Should always inline, except in dev builds because it makes debugging harder. #ifndef _FORCE_INLINE_ - -#ifdef DISABLE_FORCED_INLINE +#ifdef DEV_ENABLED #define _FORCE_INLINE_ inline #else #define _FORCE_INLINE_ _ALWAYS_INLINE_ diff --git a/platform/android/detect.py b/platform/android/detect.py index 8aa9e83d210..4befd84dff9 100644 --- a/platform/android/detect.py +++ b/platform/android/detect.py @@ -202,12 +202,10 @@ def configure(env): env.Append(CPPDEFINES=["NDEBUG"]) if can_vectorize: env.Append(CCFLAGS=["-ftree-vectorize"]) - if env["target"] == "release_debug": - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) elif env["target"] == "debug": env.Append(LINKFLAGS=["-O0"]) env.Append(CCFLAGS=["-O0", "-g", "-fno-limit-debug-info"]) - env.Append(CPPDEFINES=["_DEBUG", "DEBUG_ENABLED", "DEV_ENABLED"]) + env.Append(CPPDEFINES=["_DEBUG"]) env.Append(CPPFLAGS=["-UNDEBUG"]) # Compiler configuration diff --git a/platform/iphone/detect.py b/platform/iphone/detect.py index 77517b0fca0..e292d6a514f 100644 --- a/platform/iphone/detect.py +++ b/platform/iphone/detect.py @@ -57,12 +57,9 @@ def configure(env): env.Append(CCFLAGS=["-Os", "-ftree-vectorize"]) env.Append(LINKFLAGS=["-Os"]) - if env["target"] == "release_debug": - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) - elif env["target"] == "debug": env.Append(CCFLAGS=["-gdwarf-2", "-O0"]) - env.Append(CPPDEFINES=["_DEBUG", ("DEBUG", 1), "DEBUG_ENABLED", "DEV_ENABLED"]) + env.Append(CPPDEFINES=["_DEBUG", ("DEBUG", 1)]) if env["use_lto"]: env.Append(CCFLAGS=["-flto"]) diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index 4ba88db1ef4..344c20d698c 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -76,12 +76,9 @@ def configure(env): env.Append(LINKFLAGS=["-Os"]) if env["target"] == "release_debug": - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) # Retain function names for backtraces at the cost of file size. env.Append(LINKFLAGS=["--profiling-funcs"]) else: # "debug" - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) - env.Append(CPPDEFINES=["DEV_ENABLED"]) env.Append(CCFLAGS=["-O1", "-g"]) env.Append(LINKFLAGS=["-O1", "-g"]) env["use_assertions"] = True diff --git a/platform/osx/detect.py b/platform/osx/detect.py index 49b41a91e88..e37d57a7581 100644 --- a/platform/osx/detect.py +++ b/platform/osx/detect.py @@ -58,15 +58,11 @@ def configure(env): elif env["optimize"] == "size": # optimize for size env.Prepend(CCFLAGS=["-Os"]) - env.Prepend(CPPDEFINES=["DEBUG_ENABLED"]) - if env["debug_symbols"]: env.Prepend(CCFLAGS=["-g2"]) elif env["target"] == "debug": env.Prepend(CCFLAGS=["-g3"]) - env.Prepend(CPPDEFINES=["DEBUG_ENABLED"]) - env.Prepend(CPPDEFINES=["DEV_ENABLED"]) env.Prepend(LINKFLAGS=["-Xlinker", "-no_deduplicate"]) ## Architecture diff --git a/platform/server/detect.py b/platform/server/detect.py index f479fcc9e87..717f28bb218 100644 --- a/platform/server/detect.py +++ b/platform/server/detect.py @@ -66,15 +66,12 @@ def configure(env): env.Prepend(CCFLAGS=["-O2"]) elif env["optimize"] == "size": # optimize for size env.Prepend(CCFLAGS=["-Os"]) - env.Prepend(CPPDEFINES=["DEBUG_ENABLED"]) if env["debug_symbols"]: env.Prepend(CCFLAGS=["-g2"]) elif env["target"] == "debug": env.Prepend(CCFLAGS=["-g3"]) - env.Prepend(CPPDEFINES=["DEBUG_ENABLED"]) - env.Prepend(CPPDEFINES=["DEV_ENABLED"]) env.Append(LINKFLAGS=["-rdynamic"]) ## Architecture diff --git a/platform/uwp/detect.py b/platform/uwp/detect.py index 4f883b6e824..c9160adf2fc 100644 --- a/platform/uwp/detect.py +++ b/platform/uwp/detect.py @@ -63,15 +63,12 @@ def configure(env): elif env["target"] == "release_debug": env.Append(CCFLAGS=["/MD"]) env.Append(LINKFLAGS=["/SUBSYSTEM:CONSOLE"]) - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) if env["optimize"] != "none": env.Append(CCFLAGS=["/O2", "/Zi"]) elif env["target"] == "debug": env.Append(CCFLAGS=["/Zi"]) env.Append(CCFLAGS=["/MDd"]) - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) - env.Append(CPPDEFINES=["DEV_ENABLED"]) env.Append(LINKFLAGS=["/SUBSYSTEM:CONSOLE"]) env.Append(LINKFLAGS=["/DEBUG"]) diff --git a/platform/windows/detect.py b/platform/windows/detect.py index bde5087b810..e4facad816b 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -193,13 +193,10 @@ def configure_msvc(env, manual_msvc_config): elif env["optimize"] == "size": # optimize for size env.Append(CCFLAGS=["/O1"]) env.Append(LINKFLAGS=["/OPT:REF"]) - env.AppendUnique(CPPDEFINES=["DEBUG_ENABLED"]) env.Append(LINKFLAGS=["/SUBSYSTEM:CONSOLE"]) elif env["target"] == "debug": env.AppendUnique(CCFLAGS=["/Zi", "/FS", "/Od", "/EHsc"]) - env.AppendUnique(CPPDEFINES=["DEBUG_ENABLED"]) - env.AppendUnique(CPPDEFINES=["DEV_ENABLED"]) env.Append(LINKFLAGS=["/SUBSYSTEM:CONSOLE"]) env.Append(LINKFLAGS=["/DEBUG"]) @@ -324,7 +321,6 @@ def configure_mingw(env): elif env["target"] == "release_debug": env.Append(CCFLAGS=["-O2"]) - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) if env["debug_symbols"]: env.Prepend(CCFLAGS=["-g2"]) if env["optimize"] == "speed": # optimize for speed (default) @@ -334,8 +330,6 @@ def configure_mingw(env): elif env["target"] == "debug": env.Append(CCFLAGS=["-g3"]) - env.Append(CPPDEFINES=["DEBUG_ENABLED"]) - env.Append(CPPDEFINES=["DEV_ENABLED"]) ## Compiler configuration diff --git a/platform/x11/detect.py b/platform/x11/detect.py index 04bf09209b7..0e29d5b8a37 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -104,16 +104,12 @@ def configure(env): elif env["optimize"] == "size": # optimize for size env.Prepend(CCFLAGS=["-Os"]) - env.Prepend(CPPDEFINES=["DEBUG_ENABLED"]) - if env["debug_symbols"]: env.Prepend(CCFLAGS=["-g2"]) elif env["target"] == "debug": env.Prepend(CCFLAGS=["-ggdb"]) env.Prepend(CCFLAGS=["-g3"]) - env.Prepend(CPPDEFINES=["DEBUG_ENABLED"]) - env.Prepend(CPPDEFINES=["DEV_ENABLED"]) env.Append(LINKFLAGS=["-rdynamic"]) ## Architecture