Преглед изворни кода

SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor defines

It's the recommended way to set those, and is more portable
(automatically prepends -D for GCC/Clang and /D for MSVC).

We still use CPPFLAGS for some pre-processor flags which are not
defines.
Rémi Verschelde пре 6 година
родитељ
комит
b0d41847ed

+ 2 - 2
core/SCsub

@@ -126,10 +126,10 @@ if env['builtin_zstd']:
     thirdparty_zstd_sources = [thirdparty_zstd_dir + file for file in thirdparty_zstd_sources]
 
     env_thirdparty.Prepend(CPPPATH=[thirdparty_zstd_dir, thirdparty_zstd_dir + "common"])
-    env_thirdparty.Append(CPPFLAGS="-DZSTD_STATIC_LINKING_ONLY")
+    env_thirdparty.Append(CPPDEFINES=["ZSTD_STATIC_LINKING_ONLY"])
     env.Prepend(CPPPATH=thirdparty_zstd_dir)
     # Also needed in main env includes will trigger warnings
-    env.Append(CPPFLAGS="-DZSTD_STATIC_LINKING_ONLY")
+    env.Append(CPPDEFINES=["ZSTD_STATIC_LINKING_ONLY"])
 
     env_thirdparty.add_source_files(env.core_sources, thirdparty_zstd_sources)
 

+ 1 - 1
core/math/SCsub

@@ -22,7 +22,7 @@ if not has_module:
     env_thirdparty = env_math.Clone()
     env_thirdparty.disable_warnings()
     # Custom config file
-    env_thirdparty.Append(CPPFLAGS=['-DMBEDTLS_CONFIG_FILE="\\"thirdparty/mbedtls/include/godot_core_mbedtls_config.h\\""'])
+    env_thirdparty.Append(CPPDEFINES=[('MBEDTLS_CONFIG_FILE', "thirdparty/mbedtls/include/godot_core_mbedtls_config.h")])
     thirdparty_mbedtls_dir = "#thirdparty/mbedtls/library/"
     thirdparty_mbedtls_sources = [
         "aes.c",

+ 2 - 2
drivers/gl_context/SCsub

@@ -12,8 +12,8 @@ if (env["platform"] in ["haiku", "osx", "windows", "x11"]):
 
     env.Prepend(CPPPATH=[thirdparty_dir])
 
-    env.Append(CPPFLAGS=['-DGLAD_ENABLED'])
-    env.Append(CPPFLAGS=['-DGLES_OVER_GL'])
+    env.Append(CPPDEFINES=['GLAD_ENABLED'])
+    env.Append(CPPDEFINES=['GLES_OVER_GL'])
 
     env_thirdparty = env.Clone()
     env_thirdparty.disable_warnings()

+ 2 - 2
drivers/png/SCsub

@@ -34,9 +34,9 @@ if env['builtin_libpng']:
     import os
     use_neon = "neon_enabled" in env and env["neon_enabled"] and os.name != "nt"
     if use_neon:
-        env_png.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=2"])
+        env_png.Append(CPPDEFINES=[("PNG_ARM_NEON_OPT", 2)])
     else:
-        env_png.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=0"])
+        env_png.Append(CPPDEFINES=[("PNG_ARM_NEON_OPT", 0)])
 
     env_thirdparty = env_png.Clone()
     env_thirdparty.disable_warnings()

+ 1 - 1
drivers/xaudio2/SCsub

@@ -3,5 +3,5 @@
 Import('env')
 
 env.add_source_files(env.drivers_sources, "*.cpp")
-env.Append(CPPFLAGS=['-DXAUDIO2_ENABLED'])
+env.Append(CPPDEFINES=['XAUDIO2_ENABLED'])
 env.Append(LINKFLAGS=['xaudio2_8.lib'])

+ 1 - 1
methods.py

@@ -26,7 +26,7 @@ def disable_warnings(self):
         warn_flags = ['/Wall', '/W4', '/W3', '/W2', '/W1', '/WX']
         self.Append(CCFLAGS=['/w'])
         self.Append(CFLAGS=['/w'])
-        self.Append(CPPFLAGS=['/w'])
+        self.Append(CXXFLAGS=['/w'])
         self['CCFLAGS'] = [x for x in self['CCFLAGS'] if not x in warn_flags]
         self['CFLAGS'] = [x for x in self['CFLAGS'] if not x in warn_flags]
         self['CXXFLAGS'] = [x for x in self['CXXFLAGS'] if not x in warn_flags]

+ 1 - 1
modules/SCsub

@@ -13,7 +13,7 @@ env.modules_sources = [
 for x in env.module_list:
     if (x in env.disabled_modules):
         continue
-    env_modules.Append(CPPFLAGS=["-DMODULE_" + x.upper() + "_ENABLED"])
+    env_modules.Append(CPPDEFINES=["MODULE_" + x.upper() + "_ENABLED"])
     SConscript(x + "/SCsub")
 
 if env.split_modules:

+ 59 - 59
modules/assimp/SCsub

@@ -17,60 +17,60 @@ env_assimp.Prepend(CPPPATH=['#thirdparty/zlib/'])
 env_assimp.Prepend(CPPPATH=['#thirdparty/assimp/contrib/openddlparser/include'])
 env_assimp.Prepend(CPPPATH=['#thirdparty/assimp/contrib/rapidjson/include'])
 env_assimp.Prepend(CPPPATH=['.'])
-#env_assimp.Append(CPPFLAGS=['-DASSIMP_DOUBLE_PRECISION']) # TODO default to what godot is compiled with for future double support
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_BOOST_WORKAROUND'])
-env_assimp.Append(CPPFLAGS=['-DOPENDDLPARSER_BUILD'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OWN_ZLIB'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_EXPORT'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_X_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_AMF_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_3DS_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD3_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD5_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MDL_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD2_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_PLY_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_ASE_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OBJ_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_HMP_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_SMD_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MDC_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD5_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_STL_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_LWO_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_DXF_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_NFF_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_RAW_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_SIB_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OFF_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_AC_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_BVH_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_IRRMESH_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_IRR_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_Q3D_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_B3D_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_COLLADA_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_TERRAGEN_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_CSM_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_3D_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_LWS_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OGRE_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OPENGEX_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MS3D_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_COB_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_BLEND_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_Q3BSP_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_NDO_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_STEP_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_IFC_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_XGL_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_ASSBIN_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_GLTF_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_C4D_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_3MF_IMPORTER'])
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_X3D_IMPORTER'])
+#env_assimp.Append(CPPDEFINES=['ASSIMP_DOUBLE_PRECISION']) # TODO default to what godot is compiled with for future double support
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_BOOST_WORKAROUND'])
+env_assimp.Append(CPPDEFINES=['OPENDDLPARSER_BUILD'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_OWN_ZLIB'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_EXPORT'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_X_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_AMF_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_3DS_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_MD3_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_MD5_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_MDL_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_MD2_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_PLY_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_ASE_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_OBJ_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_HMP_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_SMD_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_MDC_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_MD5_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_STL_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_LWO_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_DXF_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_NFF_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_RAW_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_SIB_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_OFF_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_AC_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_BVH_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_IRRMESH_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_IRR_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_Q3D_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_B3D_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_COLLADA_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_TERRAGEN_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_CSM_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_3D_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_LWS_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_OGRE_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_OPENGEX_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_MS3D_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_COB_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_BLEND_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_Q3BSP_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_NDO_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_STEP_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_IFC_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_XGL_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_ASSBIN_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_GLTF_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_C4D_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_3MF_IMPORTER'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_NO_X3D_IMPORTER'])
 
-env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_SINGLETHREADED'])
+env_assimp.Append(CPPDEFINES=['ASSIMP_BUILD_SINGLETHREADED'])
 
 if (not env.msvc):
     env_assimp.Append(CXXFLAGS=['-std=c++11'])
@@ -78,14 +78,14 @@ elif (env.msvc == False and env['platform'] == 'windows'):
     env_assimp.Append(LDFLAGS=['-pthread'])
 
 if(env['platform'] == 'windows'):
-    env_assimp.Append(CPPFLAGS=['-DPLATFORM_WINDOWS'])
-    env_assimp.Append(CPPFLAGS=['-DPLATFORM=WINDOWS'])
+    env_assimp.Append(CPPDEFINES=['PLATFORM_WINDOWS'])
+    env_assimp.Append(CPPDEFINES=[('PLATFORM', 'WINDOWS')])
 elif(env['platform'] == 'x11'):
-    env_assimp.Append(CPPFLAGS=['-DPLATFORM_LINUX'])
-    env_assimp.Append(CPPFLAGS=['-DPLATFORM=LINUX'])
+    env_assimp.Append(CPPDEFINES=['PLATFORM_LINUX'])
+    env_assimp.Append(CPPDEFINES=[('PLATFORM', 'LINUX')])
 elif(env['platform'] == 'osx'):
-    env_assimp.Append(CPPFLAGS=['-DPLATFORM_DARWIN'])
-    env_assimp.Append(CPPFLAGS=['-DPLATFORM=DARWIN'])
+    env_assimp.Append(CPPDEFINES=['PLATFORM_DARWIN'])
+    env_assimp.Append(CPPDEFINES=[('PLATFORM', 'DARWIN')])
     
 env_thirdparty = env_assimp.Clone()
 env_thirdparty.disable_warnings()

+ 1 - 1
modules/bullet/SCsub

@@ -192,7 +192,7 @@ if env['builtin_bullet']:
     else:
         env_bullet.Prepend(CPPPATH=[thirdparty_dir])
     # if env['target'] == "debug" or env['target'] == "release_debug":
-    #     env_bullet.Append(CPPFLAGS=['-DBT_DEBUG'])
+    #     env_bullet.Append(CPPDEFINES=['BT_DEBUG'])
 
     env_thirdparty = env_bullet.Clone()
     env_thirdparty.disable_warnings()

+ 1 - 1
modules/enet/SCsub

@@ -22,7 +22,7 @@ if env['builtin_enet']:
     thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
 
     env_enet.Prepend(CPPPATH=[thirdparty_dir])
-    env_enet.Append(CPPFLAGS=["-DGODOT_ENET"])
+    env_enet.Append(CPPDEFINES=["GODOT_ENET"])
 
     env_thirdparty = env_enet.Clone()
     env_thirdparty.disable_warnings()

+ 4 - 4
modules/freetype/SCsub

@@ -65,16 +65,16 @@ if env['builtin_freetype']:
     # Also needed in main env for scene/
     env.Prepend(CPPPATH=[thirdparty_dir + "/include"])
 
-    env_freetype.Append(CPPFLAGS=['-DFT2_BUILD_LIBRARY', '-DFT_CONFIG_OPTION_USE_PNG'])
+    env_freetype.Append(CPPDEFINES=['FT2_BUILD_LIBRARY', 'FT_CONFIG_OPTION_USE_PNG'])
     if (env['target'] != 'release'):
-        env_freetype.Append(CPPFLAGS=['-DZLIB_DEBUG'])
+        env_freetype.Append(CPPDEFINES=['ZLIB_DEBUG'])
 
     # Also requires libpng headers
     if env['builtin_libpng']:
         env_freetype.Prepend(CPPPATH=["#thirdparty/libpng"])
 
     sfnt = thirdparty_dir + 'src/sfnt/sfnt.c'
-    # Must be done after all CPPFLAGS are being set so we can copy them.
+    # Must be done after all CPPDEFINES are being set so we can copy them.
     if env['platform'] == 'javascript':
         # Forcibly undefine this macro so SIMD is not used in this file,
         # since currently unsupported in WASM
@@ -103,4 +103,4 @@ if env['builtin_freetype']:
 # Godot source files
 env_freetype.add_source_files(env.modules_sources, "*.cpp")
 # Used in scene/, needs to be in main env
-env.Append(CPPFLAGS=['-DFREETYPE_ENABLED'])
+env.Append(CPPDEFINES=['FREETYPE_ENABLED'])

+ 0 - 1
modules/gdnative/nativescript/SCsub

@@ -4,7 +4,6 @@ Import('env')
 Import('env_gdnative')
 
 env_gdnative.add_source_files(env.modules_sources, '*.cpp')
-env_gdnative.Append(CPPFLAGS=['-DGDAPI_BUILT_IN'])
 
 if "platform" in env and env["platform"] in ["x11", "iphone"]:
     env.Append(LINKFLAGS=["-rdynamic"])

+ 2 - 2
modules/mono/build_scripts/mono_configure.py

@@ -173,7 +173,7 @@ def configure(env, env_mono):
             if not mono_lib:
                 raise RuntimeError('Could not find mono library in: ' + mono_lib_path)
 
-            env_mono.Append(CPPFLAGS=['-D_REENTRANT'])
+            env_mono.Append(CPPDEFINES=['_REENTRANT'])
 
             if mono_static:
                 mono_lib_file = os.path.join(mono_lib_path, 'lib' + mono_lib + '.a')
@@ -398,7 +398,7 @@ def configure_for_mono_version(env, mono_version):
             raise RuntimeError("Mono JIT compiler version not found; specify one manually with the 'MONO_VERSION' environment variable")
     print('Found Mono JIT compiler version: ' + str(mono_version))
     if mono_version >= LooseVersion('5.12.0'):
-        env.Append(CPPFLAGS=['-DHAS_PENDING_EXCEPTIONS'])
+        env.Append(CPPDEFINES=['HAS_PENDING_EXCEPTIONS'])
 
 
 def pkgconfig_try_find_mono_root(mono_lib_names, sharedlib_ext):

+ 6 - 6
modules/opus/SCsub

@@ -139,7 +139,7 @@ if env['builtin_opus']:
     opus_sources_silk = []
 
     if env["platform"] in ["android", "iphone", "javascript"]:
-        env_opus.Append(CPPFLAGS=["-DFIXED_POINT"])
+        env_opus.Append(CPPDEFINES=["FIXED_POINT"])
         opus_sources_silk = [
             "silk/fixed/LTP_analysis_filter_FIX.c",
             "silk/fixed/LTP_scale_ctrl_FIX.c",
@@ -208,7 +208,7 @@ if env['builtin_opus']:
     if env['builtin_libogg']:
         env_opus.Prepend(CPPPATH=["#thirdparty/libogg"])
 
-    env_opus.Append(CPPFLAGS=["-DHAVE_CONFIG_H"])
+    env_opus.Append(CPPDEFINES=["HAVE_CONFIG_H"])
 
     thirdparty_include_paths = [
         "",
@@ -222,14 +222,14 @@ if env['builtin_opus']:
 
     if env["platform"] == "android":
         if ("android_arch" in env and env["android_arch"] == "armv7"):
-            env_opus.Append(CPPFLAGS=["-DOPUS_ARM_OPT"])
+            env_opus.Append(CPPDEFINES=["OPUS_ARM_OPT"])
         elif ("android_arch" in env and env["android_arch"] == "arm64v8"):
-            env_opus.Append(CPPFLAGS=["-DOPUS_ARM64_OPT"])
+            env_opus.Append(CPPDEFINES=["OPUS_ARM64_OPT"])
     elif env["platform"] == "iphone":
         if ("arch" in env and env["arch"] == "arm"):
-            env_opus.Append(CPPFLAGS=["-DOPUS_ARM_OPT"])
+            env_opus.Append(CPPDEFINES=["OPUS_ARM_OPT"])
         elif ("arch" in env and env["arch"] == "arm64"):
-            env_opus.Append(CPPFLAGS=["-DOPUS_ARM64_OPT"])
+            env_opus.Append(CPPDEFINES=["OPUS_ARM64_OPT"])
 
     env_thirdparty = env_opus.Clone()
     env_thirdparty.disable_warnings()

+ 5 - 5
modules/regex/SCsub

@@ -9,10 +9,10 @@ if env['builtin_pcre2']:
     jit_blacklist = ['javascript', 'uwp']
 
     thirdparty_dir = '#thirdparty/pcre2/src/'
-    thirdparty_flags = ['-DPCRE2_STATIC', '-DHAVE_CONFIG_H']
+    thirdparty_flags = ['PCRE2_STATIC', 'HAVE_CONFIG_H']
 
     if 'platform' in env and env['platform'] not in jit_blacklist:
-        thirdparty_flags.append('-DSUPPORT_JIT')
+        thirdparty_flags.append('SUPPORT_JIT')
 
     thirdparty_sources = [
         "pcre2_auto_possess.c",
@@ -47,17 +47,17 @@ if env['builtin_pcre2']:
     thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
 
     env_regex.Prepend(CPPPATH=[thirdparty_dir])
-    env_regex.Append(CPPFLAGS=thirdparty_flags)
+    env_regex.Append(CPPDEFINES=thirdparty_flags)
 
     def pcre2_builtin(width):
         env_pcre2 = env_regex.Clone()
         env_pcre2.disable_warnings()
         env_pcre2["OBJSUFFIX"] = "_" + width + env_pcre2["OBJSUFFIX"]
         env_pcre2.add_source_files(env.modules_sources, thirdparty_sources)
-        env_pcre2.Append(CPPFLAGS=["-DPCRE2_CODE_UNIT_WIDTH=" + width])
+        env_pcre2.Append(CPPDEFINES=[("PCRE2_CODE_UNIT_WIDTH", width)])
 
     pcre2_builtin("16")
     pcre2_builtin("32")
 
-env_regex.Append(CPPFLAGS=["-DPCRE2_CODE_UNIT_WIDTH=0"])
+env_regex.Append(CPPDEFINES=[("PCRE2_CODE_UNIT_WIDTH", 0)])
 env_regex.add_source_files(env.modules_sources, "*.cpp")

+ 1 - 1
modules/svg/SCsub

@@ -16,7 +16,7 @@ env_svg.Prepend(CPPPATH=[thirdparty_dir])
 # FIXME: Needed in editor/editor_themes.cpp for now, but ideally there
 # shouldn't be a dependency on modules/ and its own 3rd party deps.
 env.Prepend(CPPPATH=[thirdparty_dir])
-env.Append(CPPFLAGS=["-DSVG_ENABLED"])
+env.Append(CPPDEFINES=["SVG_ENABLED"])
 
 env_thirdparty = env_svg.Clone()
 env_thirdparty.disable_warnings()

+ 1 - 1
modules/theora/SCsub

@@ -66,7 +66,7 @@ if env['builtin_libtheora']:
         thirdparty_sources += thirdparty_sources_x86_vc
 
     if (env["x86_libtheora_opt_gcc"] or env["x86_libtheora_opt_vc"]):
-        env_theora.Append(CPPFLAGS=["-DOC_X86_ASM"])
+        env_theora.Append(CPPDEFINES=["OC_X86_ASM"])
 
     thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
 

+ 2 - 2
modules/upnp/SCsub

@@ -26,8 +26,8 @@ if env['builtin_miniupnpc']:
     thirdparty_sources = [thirdparty_dir + "miniupnpc/" + file for file in thirdparty_sources]
 
     env_upnp.Prepend(CPPPATH=[thirdparty_dir])
-    env_upnp.Append(CPPFLAGS=["-DMINIUPNP_STATICLIB"])
-    env_upnp.Append(CPPFLAGS=["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
+    env_upnp.Append(CPPDEFINES=["MINIUPNP_STATICLIB"])
+    env_upnp.Append(CPPDEFINES=["MINIUPNPC_SET_SOCKET_TIMEOUT"])
 
     env_thirdparty = env_upnp.Clone()
     env_thirdparty.disable_warnings()

+ 10 - 11
modules/vhacd/SCsub

@@ -10,22 +10,21 @@ env_vhacd = env_modules.Clone()
 thirdparty_dir = "#thirdparty/vhacd/"
 
 thirdparty_sources = [
-"src/vhacdManifoldMesh.cpp",
-"src/FloatMath.cpp",
-"src/vhacdMesh.cpp",
-"src/vhacdICHull.cpp",
-"src/vhacdVolume.cpp",
-"src/VHACD-ASYNC.cpp",
-"src/btAlignedAllocator.cpp",
-"src/vhacdRaycastMesh.cpp",
-"src/VHACD.cpp",
-"src/btConvexHullComputer.cpp"
+    "src/vhacdManifoldMesh.cpp",
+    "src/FloatMath.cpp",
+    "src/vhacdMesh.cpp",
+    "src/vhacdICHull.cpp",
+    "src/vhacdVolume.cpp",
+    "src/VHACD-ASYNC.cpp",
+    "src/btAlignedAllocator.cpp",
+    "src/vhacdRaycastMesh.cpp",
+    "src/VHACD.cpp",
+    "src/btConvexHullComputer.cpp"
 ]
 
 thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
 
 env_vhacd.Prepend(CPPPATH=[thirdparty_dir + "/inc"])
-env_vhacd.Append(CPPFLAGS=["-DGODOT_ENET"])
 
 # upstream uses c++11
 if not env.msvc:

+ 2 - 2
modules/webm/libvpx/SCsub

@@ -323,7 +323,7 @@ if webm_cpu_x86:
     elif cpu_bits == '64':
         env_libvpx["ASCPU"] = 'X86_64'
 
-    env_libvpx.Append(CPPFLAGS=['-DWEBM_X86ASM'])
+    env_libvpx.Append(CPPDEFINES=['WEBM_X86ASM'])
 
     webm_simd_optimizations = True
 
@@ -337,7 +337,7 @@ if webm_cpu_arm:
         env_libvpx["ASFLAGS"] = ''
         env_libvpx["ASCOM"] = '$AS $ASFLAGS -o $TARGET $SOURCES'
 
-    env_libvpx.Append(CPPFLAGS=['-DWEBM_ARMASM'])
+    env_libvpx.Append(CPPDEFINES=['WEBM_ARMASM'])
 
     webm_simd_optimizations = True
 

+ 1 - 1
modules/websocket/SCsub

@@ -84,7 +84,7 @@ if env['builtin_libwebsockets'] and not env["platform"] == "javascript": # alrea
         env_lws.Prepend(CPPPATH=[thirdparty_dir + helper_dir])
 
     if env["platform"] == "uwp":
-        env_lws.Append(CPPFLAGS=["/DLWS_MINGW_SUPPORT"])
+        env_lws.Append(CPPDEFINES=["LWS_MINGW_SUPPORT"])
 
     env_thirdparty = env_lws.Clone()
     env_thirdparty.disable_warnings()

+ 0 - 2
platform/android/SCsub

@@ -23,8 +23,6 @@ android_files = [
 ]
 
 env_android = env.Clone()
-if env['target'] == "profile":
-    env_android.Append(CPPFLAGS=['-DPROFILER_ENABLED'])
 
 android_objects = []
 for x in android_files:

+ 12 - 11
platform/android/detect.py

@@ -144,20 +144,21 @@ def configure(env):
         if (env["optimize"] == "speed"): #optimize for speed (default)
             env.Append(LINKFLAGS=['-O2'])
             env.Append(CCFLAGS=['-O2', '-fomit-frame-pointer'])
-            env.Append(CPPFLAGS=['-DNDEBUG'])
+            env.Append(CPPDEFINES=['NDEBUG'])
         else: #optimize for size
             env.Append(CCFLAGS=['-Os'])
-            env.Append(CPPFLAGS=['-DNDEBUG'])
+            env.Append(CPPDEFINES=['NDEBUG'])
             env.Append(LINKFLAGS=['-Os'])
 
         if (can_vectorize):
             env.Append(CCFLAGS=['-ftree-vectorize'])
         if (env["target"] == "release_debug"):
-            env.Append(CPPFLAGS=['-DDEBUG_ENABLED'])
+            env.Append(CPPDEFINES=['DEBUG_ENABLED'])
     elif (env["target"] == "debug"):
         env.Append(LINKFLAGS=['-O0'])
         env.Append(CCFLAGS=['-O0', '-g', '-fno-limit-debug-info'])
-        env.Append(CPPFLAGS=['-D_DEBUG', '-UNDEBUG', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
+        env.Append(CPPDEFINES=['_DEBUG', 'DEBUG_ENABLED', 'DEBUG_MEMORY_ENABLED'])
+        env.Append(CPPFLAGS=['-UNDEBUG'])
 
     ## Compiler configuration
 
@@ -215,7 +216,7 @@ def configure(env):
     else:
         env.Append(CXXFLAGS=['-fno-rtti', '-fno-exceptions'])
         # Don't use dynamic_cast, necessary with no-rtti.
-        env.Append(CPPFLAGS=['-DNO_SAFE_CAST'])
+        env.Append(CPPDEFINES=['NO_SAFE_CAST'])
 
     ndk_version = get_ndk_version(env["ANDROID_NDK_ROOT"])
     if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("15.0.4075724"):
@@ -225,13 +226,13 @@ def configure(env):
         env.Append(CPPFLAGS=["-isystem", sysroot + "/usr/include/" + abi_subpath])
         env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/android/support/include"])
         # For unified headers this define has to be set manually
-        env.Append(CPPFLAGS=["-D__ANDROID_API__=" + str(get_platform(env['ndk_platform']))])
+        env.Append(CPPDEFINES=[('__ANDROID_API__', str(get_platform(env['ndk_platform'])))])
     else:
         print("Using NDK deprecated headers")
         env.Append(CPPFLAGS=["-isystem", lib_sysroot + "/usr/include"])
 
     env.Append(CCFLAGS='-fpic -ffunction-sections -funwind-tables -fstack-protector-strong -fvisibility=hidden -fno-strict-aliasing'.split())
-    env.Append(CPPFLAGS='-DNO_STATVFS -DGLES_ENABLED'.split())
+    env.Append(CPPDEFINES=['NO_STATVFS', 'GLES_ENABLED'])
 
     env['neon_enabled'] = False
     if env['android_arch'] == 'x86':
@@ -245,18 +246,18 @@ def configure(env):
     elif env["android_arch"] == "armv7":
         target_opts = ['-target', 'armv7-none-linux-androideabi']
         env.Append(CCFLAGS='-march=armv7-a -mfloat-abi=softfp'.split())
-        env.Append(CPPFLAGS='-D__ARM_ARCH_7__ -D__ARM_ARCH_7A__'.split())
+        env.Append(CPPDEFINES=['__ARM_ARCH_7__', '__ARM_ARCH_7A__'])
         if env['android_neon']:
             env['neon_enabled'] = True
             env.Append(CCFLAGS=['-mfpu=neon'])
-            env.Append(CPPFLAGS=['-D__ARM_NEON__'])
+            env.Append(CPPDEFINES=['__ARM_NEON__'])
         else:
             env.Append(CCFLAGS=['-mfpu=vfpv3-d16'])
 
     elif env["android_arch"] == "arm64v8":
         target_opts = ['-target', 'aarch64-none-linux-android']
         env.Append(CCFLAGS=['-mfix-cortex-a53-835769'])
-        env.Append(CPPFLAGS=['-D__ARM_ARCH_8A__'])
+        env.Append(CPPDEFINES=['__ARM_ARCH_8A__'])
 
     env.Append(CCFLAGS=target_opts)
     env.Append(CCFLAGS=common_opts)
@@ -289,7 +290,7 @@ def configure(env):
                         '/toolchains/' + target_subpath + '/prebuilt/' + host_subpath + '/' + abi_subpath + '/lib'])
 
     env.Prepend(CPPPATH=['#platform/android'])
-    env.Append(CPPFLAGS=['-DANDROID_ENABLED', '-DUNIX_ENABLED', '-DNO_FCNTL'])
+    env.Append(CPPDEFINES=['ANDROID_ENABLED', 'UNIX_ENABLED', 'NO_FCNTL'])
     env.Append(LIBS=['OpenSLES', 'EGL', 'GLESv3', 'GLESv2', 'android', 'log', 'z', 'dl'])
 
 # Return NDK version string in source.properties (adapted from the Chromium project).

+ 3 - 4
platform/haiku/detect.py

@@ -148,8 +148,7 @@ def configure(env):
     ## Flags
 
     env.Prepend(CPPPATH=['#platform/haiku'])
-    env.Append(CPPFLAGS=['-DUNIX_ENABLED', '-DOPENGL_ENABLED', '-DGLES_ENABLED'])
-    env.Append(CPPFLAGS=['-DMEDIA_KIT_ENABLED'])
-    # env.Append(CPPFLAGS=['-DFREETYPE_ENABLED'])
-    env.Append(CPPFLAGS=['-DPTHREAD_NO_RENAME'])  # TODO: enable when we have pthread_setname_np
+    env.Append(CPPDEFINES=['UNIX_ENABLED', 'OPENGL_ENABLED', 'GLES_ENABLED'])
+    env.Append(CPPDEFINES=['MEDIA_KIT_ENABLED'])
+    env.Append(CPPDEFINES=['PTHREAD_NO_RENAME'])  # TODO: enable when we have pthread_setname_np
     env.Append(LIBS=['be', 'game', 'media', 'network', 'bnetapi', 'z', 'GL'])

+ 9 - 9
platform/iphone/detect.py

@@ -43,7 +43,7 @@ def configure(env):
     ## Build type
 
     if (env["target"].startswith("release")):
-        env.Append(CPPFLAGS=['-DNDEBUG', '-DNS_BLOCK_ASSERTIONS=1'])
+        env.Append(CPPDEFINES=['NDEBUG', ('NS_BLOCK_ASSERTIONS', 1)])
         if (env["optimize"] == "speed"): #optimize for speed (default)
             env.Append(CCFLAGS=['-O2', '-ftree-vectorize', '-fomit-frame-pointer'])
             env.Append(LINKFLAGS=['-O2'])
@@ -52,11 +52,11 @@ def configure(env):
             env.Append(LINKFLAGS=['-Os'])
 
         if env["target"] == "release_debug":
-            env.Append(CPPFLAGS=['-DDEBUG_ENABLED'])
+            env.Append(CPPDEFINES=['DEBUG_ENABLED'])
 
     elif (env["target"] == "debug"):
         env.Append(CCFLAGS=['-gdwarf-2', '-O0'])
-        env.Append(CPPFLAGS=['-D_DEBUG', '-DDEBUG=1', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
+        env.Append(CPPDEFINES=['_DEBUG', ('DEBUG', 1), 'DEBUG_ENABLED', 'DEBUG_MEMORY_ENABLED'])
 
     if (env["use_lto"]):
         env.Append(CCFLAGS=['-flto'])
@@ -112,8 +112,8 @@ def configure(env):
     elif (env["arch"] == "arm64"):
         detect_darwin_sdk_path('iphone', env)
         env.Append(CCFLAGS='-fno-objc-arc -arch arm64 -fmessage-length=0 -fno-strict-aliasing -fdiagnostics-print-source-range-info -fdiagnostics-show-category=id -fdiagnostics-parseable-fixits -fpascal-strings -fblocks -fvisibility=hidden -MMD -MT dependencies -miphoneos-version-min=10.0 -isysroot $IPHONESDK'.split())
-        env.Append(CPPFLAGS=['-DNEED_LONG_INT'])
-        env.Append(CPPFLAGS=['-DLIBYUV_DISABLE_NEON'])
+        env.Append(CPPDEFINES=['NEED_LONG_INT'])
+        env.Append(CPPDEFINES=['LIBYUV_DISABLE_NEON'])
 
     # Disable exceptions on non-tools (template) builds
     if not env['tools']:
@@ -159,15 +159,15 @@ def configure(env):
 
     # Feature options
     if env['game_center']:
-        env.Append(CPPFLAGS=['-DGAME_CENTER_ENABLED'])
+        env.Append(CPPDEFINES=['GAME_CENTER_ENABLED'])
         env.Append(LINKFLAGS=['-framework', 'GameKit'])
 
     if env['store_kit']:
-        env.Append(CPPFLAGS=['-DSTOREKIT_ENABLED'])
+        env.Append(CPPDEFINES=['STOREKIT_ENABLED'])
         env.Append(LINKFLAGS=['-framework', 'StoreKit'])
 
     if env['icloud']:
-        env.Append(CPPFLAGS=['-DICLOUD_ENABLED'])
+        env.Append(CPPDEFINES=['ICLOUD_ENABLED'])
 
     env.Prepend(CPPPATH=['$IPHONESDK/usr/include',
                          '$IPHONESDK/System/Library/Frameworks/OpenGLES.framework/Headers',
@@ -177,4 +177,4 @@ def configure(env):
     env['ENV']['CODESIGN_ALLOCATE'] = '/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate'
 
     env.Prepend(CPPPATH=['#platform/iphone'])
-    env.Append(CPPFLAGS=['-DIPHONE_ENABLED', '-DUNIX_ENABLED', '-DGLES_ENABLED', '-DCOREAUDIO_ENABLED'])
+    env.Append(CPPDEFINES=['IPHONE_ENABLED', 'UNIX_ENABLED', 'GLES_ENABLED', 'COREAUDIO_ENABLED'])

+ 6 - 6
platform/osx/detect.py

@@ -56,7 +56,7 @@ def configure(env):
             env.Prepend(CCFLAGS=['-O2'])
         else: #optimize for size
             env.Prepend(CCFLAGS=['-Os'])
-        env.Prepend(CPPFLAGS=['-DDEBUG_ENABLED'])
+        env.Prepend(CPPDEFINES=['DEBUG_ENABLED'])
         if (env["debug_symbols"] == "yes"):
             env.Prepend(CCFLAGS=['-g1'])
         if (env["debug_symbols"] == "full"):
@@ -64,7 +64,7 @@ def configure(env):
 
     elif (env["target"] == "debug"):
         env.Prepend(CCFLAGS=['-g3'])
-        env.Prepend(CPPFLAGS=['-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
+        env.Prepend(CPPDEFINES=['DEBUG_ENABLED', 'DEBUG_MEMORY_ENABLED'])
 
     ## Architecture
 
@@ -90,7 +90,7 @@ def configure(env):
             env['AR'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ar"
             env['RANLIB'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ranlib"
             env['AS'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-as"
-            env.Append(CPPFLAGS=['-D__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define
+            env.Append(CPPDEFINES=['__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define
 
         detect_darwin_sdk_path('osx', env)
         env.Append(CCFLAGS=['-isysroot', '$MACOS_SDK_PATH'])
@@ -112,10 +112,10 @@ def configure(env):
         env['AR'] = basecmd + "ar"
         env['RANLIB'] = basecmd + "ranlib"
         env['AS'] = basecmd + "as"
-        env.Append(CPPFLAGS=['-D__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define
+        env.Append(CPPDEFINES=['__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define
 
     if (env["CXX"] == "clang++"):
-        env.Append(CPPFLAGS=['-DTYPED_METHOD_BIND'])
+        env.Append(CPPDEFINES=['TYPED_METHOD_BIND'])
         env["CC"] = "clang"
         env["LINK"] = "clang++"
 
@@ -127,7 +127,7 @@ def configure(env):
     ## Flags
 
     env.Prepend(CPPPATH=['#platform/osx'])
-    env.Append(CPPFLAGS=['-DOSX_ENABLED', '-DUNIX_ENABLED', '-DGLES_ENABLED', '-DAPPLE_STYLE_KEYS', '-DCOREAUDIO_ENABLED', '-DCOREMIDI_ENABLED'])
+    env.Append(CPPDEFINES=['OSX_ENABLED', 'UNIX_ENABLED', 'GLES_ENABLED', 'APPLE_STYLE_KEYS', 'COREAUDIO_ENABLED', 'COREMIDI_ENABLED'])
     env.Append(LINKFLAGS=['-framework', 'Cocoa', '-framework', 'Carbon', '-framework', 'OpenGL', '-framework', 'AGL', '-framework', 'AudioUnit', '-framework', 'CoreAudio', '-framework', 'CoreMIDI', '-lz', '-framework', 'IOKit', '-framework', 'ForceFeedback', '-framework', 'AVFoundation', '-framework', 'CoreMedia', '-framework', 'CoreVideo'])
     env.Append(LIBS=['pthread'])
 

+ 4 - 4
platform/server/detect.py

@@ -66,7 +66,7 @@ def configure(env):
             env.Prepend(CCFLAGS=['-O2'])
         else: #optimize for size
             env.Prepend(CCFLAGS=['-Os'])
-        env.Prepend(CPPFLAGS=['-DDEBUG_ENABLED'])
+        env.Prepend(CPPDEFINES=['DEBUG_ENABLED'])
 
         if (env["debug_symbols"] == "yes"):
             env.Prepend(CCFLAGS=['-g1'])
@@ -75,7 +75,7 @@ def configure(env):
 
     elif (env["target"] == "debug"):
         env.Prepend(CCFLAGS=['-g3'])
-        env.Prepend(CPPFLAGS=['-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
+        env.Prepend(CPPDEFINES=['DEBUG_ENABLED', 'DEBUG_MEMORY_ENABLED'])
         env.Append(LINKFLAGS=['-rdynamic'])
 
     ## Architecture
@@ -95,7 +95,7 @@ def configure(env):
             env["CC"] = "clang"
             env["CXX"] = "clang++"
             env["LINK"] = "clang++"
-        env.Append(CPPFLAGS=['-DTYPED_METHOD_BIND'])
+        env.Append(CPPDEFINES=['TYPED_METHOD_BIND'])
         env.extra_suffix = ".llvm" + env.extra_suffix
 
 
@@ -216,7 +216,7 @@ def configure(env):
         env.ParseConfig('pkg-config zlib --cflags --libs')
 
     env.Prepend(CPPPATH=['#platform/server'])
-    env.Append(CPPFLAGS=['-DSERVER_ENABLED', '-DUNIX_ENABLED'])
+    env.Append(CPPDEFINES=['SERVER_ENABLED', 'UNIX_ENABLED'])
 
     if (platform.system() == "Darwin"):
         env.Append(LINKFLAGS=['-framework', 'Cocoa', '-framework', 'Carbon', '-lz', '-framework', 'IOKit'])

+ 7 - 7
platform/uwp/detect.py

@@ -60,13 +60,13 @@ def configure(env):
     elif (env["target"] == "release_debug"):
         env.Append(CCFLAGS=['/O2', '/Zi'])
         env.Append(CCFLAGS=['/MD'])
-        env.Append(CPPFLAGS=['/DDEBUG_ENABLED'])
+        env.Append(CPPDEFINES=['DEBUG_ENABLED'])
         env.Append(LINKFLAGS=['/SUBSYSTEM:CONSOLE'])
 
     elif (env["target"] == "debug"):
         env.Append(CCFLAGS=['/Zi'])
         env.Append(CCFLAGS=['/MDd'])
-        env.Append(CPPFLAGS=['/DDEBUG_ENABLED', '/DDEBUG_MEMORY_ENABLED'])
+        env.Append(CPPDEFINES=['DEBUG_ENABLED', 'DEBUG_MEMORY_ENABLED'])
         env.Append(LINKFLAGS=['/SUBSYSTEM:CONSOLE'])
         env.Append(LINKFLAGS=['/DEBUG'])
 
@@ -138,18 +138,18 @@ def configure(env):
     ## Compile flags
 
     env.Prepend(CPPPATH=['#platform/uwp', '#drivers/windows'])
-    env.Append(CPPFLAGS=['/DUWP_ENABLED', '/DWINDOWS_ENABLED', '/DTYPED_METHOD_BIND'])
-    env.Append(CPPFLAGS=['/DGLES_ENABLED', '/DGL_GLEXT_PROTOTYPES', '/DEGL_EGLEXT_PROTOTYPES', '/DANGLE_ENABLED'])
+    env.Append(CPPDEFINES=['UWP_ENABLED', 'WINDOWS_ENABLED', 'TYPED_METHOD_BIND'])
+    env.Append(CPPDEFINES=['GLES_ENABLED', 'GL_GLEXT_PROTOTYPES', 'EGL_EGLEXT_PROTOTYPES', 'ANGLE_ENABLED'])
     winver = "0x0602" # Windows 8 is the minimum target for UWP build
-    env.Append(CPPFLAGS=['/DWINVER=%s' % winver, '/D_WIN32_WINNT=%s' % winver])
+    env.Append(CPPDEFINES=[('WINVER', winver), ('_WIN32_WINNT', winver), 'WIN32'])
 
-    env.Append(CPPFLAGS=['/D__WRL_NO_DEFAULT_LIB__', '/DWIN32', '/DPNG_ABORT=abort'])
+    env.Append(CPPDEFINES=['__WRL_NO_DEFAULT_LIB__', ('PNG_ABORT', 'abort')])
 
     env.Append(CPPFLAGS=['/AI', vc_base_path + 'lib/store/references'])
     env.Append(CPPFLAGS=['/AI', vc_base_path + 'lib/x86/store/references'])
 
     env.Append(CCFLAGS='/FS /MP /GS /wd"4453" /wd"28204" /wd"4291" /Zc:wchar_t /Gm- /fp:precise /errorReport:prompt /WX- /Zc:forScope /Gd /EHsc /nologo'.split())
-    env.Append(CPPFLAGS=['/D_UNICODE', '/DUNICODE', '/D "WINAPI_FAMILY=WINAPI_FAMILY_APP"'])
+    env.Append(CPPDEFINES=['_UNICODE', 'UNICODE', ('WINAPI_FAMILY', 'WINAPI_FAMILY_APP')])
     env.Append(CXXFLAGS=['/ZW'])
     env.Append(CCFLAGS=['/AI', vc_base_path + '\\vcpackages', '/AI', os.environ['WINDOWSSDKDIR'] + '\\References\\CommonConfiguration\\Neutral'])
 

+ 5 - 8
platform/windows/detect.py

@@ -274,7 +274,7 @@ def configure_mingw(env):
 
     elif (env["target"] == "release_debug"):
         env.Append(CCFLAGS=['-O2'])
-        env.Append(CPPFLAGS=['-DDEBUG_ENABLED'])
+        env.Append(CPPDEFINES=['DEBUG_ENABLED'])
         if (env["debug_symbols"] == "yes"):
            env.Prepend(CCFLAGS=['-g1'])
         if (env["debug_symbols"] == "full"):
@@ -286,7 +286,7 @@ def configure_mingw(env):
 
     elif (env["target"] == "debug"):
         env.Append(CCFLAGS=['-g3'])
-        env.Append(CPPFLAGS=['-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
+        env.Append(CPPDEFINES=['DEBUG_ENABLED', 'DEBUG_MEMORY_ENABLED'])
 
     ## Compiler configuration
 
@@ -328,14 +328,11 @@ def configure_mingw(env):
     ## Compile flags
 
     env.Append(CCFLAGS=['-mwindows'])
-    env.Append(CPPFLAGS=['-DWINDOWS_ENABLED'])
-    env.Append(CPPFLAGS=['-DOPENGL_ENABLED'])
-    env.Append(CPPFLAGS=['-DWASAPI_ENABLED'])
-    env.Append(CPPFLAGS=['-DWINMIDI_ENABLED'])
-    env.Append(CPPFLAGS=['-DWINVER=%s' % env['target_win_version'], '-D_WIN32_WINNT=%s' % env['target_win_version']])
+    env.Append(CPPDEFINES=['WINDOWS_ENABLED', 'OPENGL_ENABLED', 'WASAPI_ENABLED', 'WINMIDI_ENABLED'])
+    env.Append(CPPDEFINES=[('WINVER', env['target_win_version']), ('_WIN32_WINNT', env['target_win_version'])])
     env.Append(LIBS=['mingw32', 'opengl32', 'dsound', 'ole32', 'd3d9', 'winmm', 'gdi32', 'iphlpapi', 'shlwapi', 'wsock32', 'ws2_32', 'kernel32', 'oleaut32', 'dinput8', 'dxguid', 'ksuser', 'imm32', 'bcrypt', 'avrt', 'uuid'])
 
-    env.Append(CPPFLAGS=['-DMINGW_ENABLED'])
+    env.Append(CPPDEFINES=['MINGW_ENABLED'])
 
     # resrc
     env.Append(BUILDERS={'RES': env.Builder(action=build_res_file, suffix='.o', src_suffix='.rc')})

+ 9 - 9
platform/x11/detect.py

@@ -98,7 +98,7 @@ def configure(env):
             env.Prepend(CCFLAGS=['-O2'])
         else: #optimize for size
             env.Prepend(CCFLAGS=['-Os'])
-        env.Prepend(CPPFLAGS=['-DDEBUG_ENABLED'])
+        env.Prepend(CPPDEFINES=['DEBUG_ENABLED'])
 
         if (env["debug_symbols"] == "yes"):
             env.Prepend(CCFLAGS=['-g1'])
@@ -107,7 +107,7 @@ def configure(env):
 
     elif (env["target"] == "debug"):
         env.Prepend(CCFLAGS=['-g3'])
-        env.Prepend(CPPFLAGS=['-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED'])
+        env.Prepend(CPPDEFINES=['DEBUG_ENABLED', 'DEBUG_MEMORY_ENABLED'])
         env.Append(LINKFLAGS=['-rdynamic'])
 
     ## Architecture
@@ -127,7 +127,7 @@ def configure(env):
             env["CC"] = "clang"
             env["CXX"] = "clang++"
             env["LINK"] = "clang++"
-        env.Append(CPPFLAGS=['-DTYPED_METHOD_BIND'])
+        env.Append(CPPDEFINES=['TYPED_METHOD_BIND'])
         env.extra_suffix = ".llvm" + env.extra_suffix
 
     if env['use_lld']:
@@ -197,7 +197,7 @@ def configure(env):
     env.ParseConfig('pkg-config xi --cflags --libs')
 
     if (env['touch']):
-        env.Append(CPPFLAGS=['-DTOUCH_ENABLED'])
+        env.Append(CPPDEFINES=['TOUCH_ENABLED'])
 
     # FIXME: Check for existence of the libs before parsing their flags with pkg-config
 
@@ -283,7 +283,7 @@ def configure(env):
 
     if (os.system("pkg-config --exists alsa") == 0): # 0 means found
         print("Enabling ALSA")
-        env.Append(CPPFLAGS=["-DALSA_ENABLED", "-DALSAMIDI_ENABLED"])
+        env.Append(CPPDEFINES=["ALSA_ENABLED", "ALSAMIDI_ENABLED"])
 	# Don't parse --cflags, we don't need to add /usr/include/alsa to include path
         env.ParseConfig('pkg-config alsa --libs')
     else:
@@ -292,18 +292,18 @@ def configure(env):
     if env['pulseaudio']:
         if (os.system("pkg-config --exists libpulse") == 0): # 0 means found
             print("Enabling PulseAudio")
-            env.Append(CPPFLAGS=["-DPULSEAUDIO_ENABLED"])
+            env.Append(CPPDEFINES=["PULSEAUDIO_ENABLED"])
             env.ParseConfig('pkg-config --cflags --libs libpulse')
         else:
             print("PulseAudio development libraries not found, disabling driver")
 
     if (platform.system() == "Linux"):
-        env.Append(CPPFLAGS=["-DJOYDEV_ENABLED"])
+        env.Append(CPPDEFINES=["JOYDEV_ENABLED"])
 
         if env['udev']:
             if (os.system("pkg-config --exists libudev") == 0): # 0 means found
                 print("Enabling udev support")
-                env.Append(CPPFLAGS=["-DUDEV_ENABLED"])
+                env.Append(CPPDEFINES=["UDEV_ENABLED"])
                 env.ParseConfig('pkg-config libudev --cflags --libs')
             else:
                 print("libudev development libraries not found, disabling udev support")
@@ -313,7 +313,7 @@ def configure(env):
         env.ParseConfig('pkg-config zlib --cflags --libs')
 
     env.Prepend(CPPPATH=['#platform/x11'])
-    env.Append(CPPFLAGS=['-DX11_ENABLED', '-DUNIX_ENABLED', '-DOPENGL_ENABLED', '-DGLES_ENABLED'])
+    env.Append(CPPDEFINES=['X11_ENABLED', 'UNIX_ENABLED', 'OPENGL_ENABLED', 'GLES_ENABLED'])
     env.Append(LIBS=['GL', 'pthread'])
 
     if (platform.system() == "Linux"):