Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
authorChris Manchester <cmanchester@mozilla.com>
Mon, 11 Sep 2017 11:33:26 -0700
changeset 380137 97f3a6f21087f5696b93c1d83295a052582adbf7
parent 380136 e1eaee9c428c83d6c7954b6a7e8cb434186bcbad
child 380138 40dbde701504661c0b537073ba6bbd305c76e7a9
push id32481
push userarchaeopteryx@coole-files.de
push dateTue, 12 Sep 2017 09:33:23 +0000
treeherdermozilla-central@175f1366daee [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1386876
milestone57.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium MozReview-Commit-ID: FMEtb5PY7iP
accessible/ipc/win/handler/moz.build
build/clang-plugin/moz.build
build/clang-plugin/tests/moz.build
build/unix/stdc++compat/moz.build
config/external/icu/defs.mozbuild
dom/media/gmp-plugin-openh264/moz.build
dom/media/gmp-plugin/moz.build
dom/plugins/ipc/hangui/moz.build
dom/plugins/test/testplugin/testplugin.mozbuild
ipc/mscom/oop/moz.build
media/gmp-clearkey/0.1/moz.build
media/psshparser/moz.build
media/webrtc/trunk/gtest/moz.build
memory/mozalloc/moz.build
memory/mozalloc/staticruntime/moz.build
memory/mozjemalloc/moz.build
memory/replace/dmd/moz.build
memory/replace/dmd/test/moz.build
memory/replace/logalloc/logalloc.mozbuild
memory/replace/logalloc/replay/moz.build
memory/replace/replace/moz.build
mfbt/moz.build
mfbt/staticruntime/moz.build
mfbt/tests/moz.build
mozglue/android/moz.build
mozglue/build/moz.build
mozglue/linker/moz.build
mozglue/linker/tests/moz.build
mozglue/tests/moz.build
python/mozbuild/mozbuild/frontend/context.py
security/sandbox/linux/moz.build
security/sandbox/moz.build
testing/mochitest/ssltunnel/moz.build
toolkit/components/ctypes/tests/moz.build
toolkit/components/jsoncpp/src/lib_json/moz.build
toolkit/components/maintenanceservice/moz.build
toolkit/components/telemetry/pingsender/moz.build
toolkit/crashreporter/breakpad-windows-libxul/moz.build
toolkit/crashreporter/breakpad-windows-standalone/moz.build
toolkit/crashreporter/client/moz.build
toolkit/crashreporter/google-breakpad/src/processor/moz.build
toolkit/crashreporter/injector/moz.build
toolkit/crashreporter/minidump-analyzer/moz.build
toolkit/mozapps/update/updater/updater-common.build
toolkit/xre/test/win/moz.build
tools/power/moz.build
xpcom/glue/standalone/moz.build
xpcom/glue/standalone/staticruntime/moz.build
--- a/accessible/ipc/win/handler/moz.build
+++ b/accessible/ipc/win/handler/moz.build
@@ -62,10 +62,10 @@ elif CONFIG['MOZ_UPDATE_CHANNEL'] == 'be
 
 # This DLL may be loaded into other processes, so we need static libs for
 # Windows 7 and Windows 8.
 USE_STATIC_LIBS = True
 
 LIBRARY_DEFINES['UNICODE'] = True
 LIBRARY_DEFINES['_UNICODE'] = True
 LIBRARY_DEFINES['MOZ_NO_MOZALLOC'] = True
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
--- a/build/clang-plugin/moz.build
+++ b/build/clang-plugin/moz.build
@@ -43,17 +43,17 @@ UNIFIED_SOURCES += [
 
 GENERATED_FILES += ['ThirdPartyPaths.cpp']
 third_party_paths = GENERATED_FILES['ThirdPartyPaths.cpp']
 third_party_paths.script = "ThirdPartyPaths.py:generate"
 third_party_paths.inputs = [
     '/tools/rewriting/ThirdPartyPaths.txt',
 ]
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 NO_VISIBILITY_FLAGS = True
 
 # libc++ is required to build plugins against clang on OS X.
 if CONFIG['HOST_OS_ARCH'] == 'Darwin':
     CXXFLAGS += ['-stdlib=libc++']
     LDFLAGS += ['-lc++']
 
 DIRS += [
--- a/build/clang-plugin/tests/moz.build
+++ b/build/clang-plugin/tests/moz.build
@@ -40,10 +40,10 @@ SOURCES += [
     'TestOverrideBaseCall.cpp',
     'TestOverrideBaseCallAnnotation.cpp',
     'TestRefCountedCopyConstructor.cpp',
     'TestSprintfLiteral.cpp',
     'TestStackClass.cpp',
     'TestTrivialCtorDtor.cpp',
 ]
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 NO_VISIBILITY_FLAGS = True
--- a/build/unix/stdc++compat/moz.build
+++ b/build/unix/stdc++compat/moz.build
@@ -13,12 +13,12 @@ if CONFIG['MOZ_LIBSTDCXX_HOST_VERSION']:
     HOST_SOURCES += [
         'stdc++compat.cpp',
     ]
 
 FORCE_STATIC_LIB = True
 
 NO_PGO = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_TARGET_VERSION']
 HOST_DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_HOST_VERSION']
--- a/config/external/icu/defs.mozbuild
+++ b/config/external/icu/defs.mozbuild
@@ -28,17 +28,17 @@ if CONFIG['MOZ_DEBUG']:
     DEFINES['U_DEBUG'] = 1
 
 # ICU requires RTTI
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-frtti']
 elif CONFIG['OS_TARGET'] == 'WINNT':
     CXXFLAGS += ['-GR']
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 ALLOW_COMPILER_WARNINGS = True
 
 # We allow compiler warnings, but we can at least cut down on spammy
 # warnings that get triggered for every file.
 if CONFIG['CLANG_CL']:
     CFLAGS += [
         '-Wno-macro-redefined',
         '-Wno-microsoft-include',
--- a/dom/media/gmp-plugin-openh264/moz.build
+++ b/dom/media/gmp-plugin-openh264/moz.build
@@ -22,10 +22,10 @@ SharedLibrary("fakeopenh264")
 if CONFIG['OS_ARCH'] == 'WINNT':
     OS_LIBS += [
         'ole32',
     ]
 
 USE_STATIC_LIBS = True
 NO_VISIBILITY_FLAGS = True
 # Don't use STL wrappers; this isn't Gecko code
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 NO_PGO = True
--- a/dom/media/gmp-plugin/moz.build
+++ b/dom/media/gmp-plugin/moz.build
@@ -24,10 +24,10 @@ SharedLibrary("fake")
 if CONFIG['OS_ARCH'] == 'WINNT':
     OS_LIBS += [
         'ole32',
     ]
 
 USE_STATIC_LIBS = True
 NO_VISIBILITY_FLAGS = True
 # Don't use STL wrappers; this isn't Gecko code
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 NO_PGO = True
--- a/dom/plugins/ipc/hangui/moz.build
+++ b/dom/plugins/ipc/hangui/moz.build
@@ -10,17 +10,17 @@ UNIFIED_SOURCES += [
     'MiniShmChild.cpp',
     'PluginHangUIChild.cpp',
 ]
 include('/ipc/chromium/chromium-config.mozbuild')
 
 DEFINES['NS_NO_XPCOM'] = True
 DEFINES['_HAS_EXCEPTIONS'] = 0
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 if CONFIG['GNU_CC']:
     WIN32_EXE_LDFLAGS += ['-municode']
 
 RCINCLUDE = 'HangUIDlg.rc'
 
 OS_LIBS += [
     'comctl32',
--- a/dom/plugins/test/testplugin/testplugin.mozbuild
+++ b/dom/plugins/test/testplugin/testplugin.mozbuild
@@ -30,17 +30,17 @@ elif toolkit == 'windows':
         'msimg32',
         'imm32'
     ]
 
 # must link statically with the CRT; nptest isn't Gecko code
 USE_STATIC_LIBS = True
 
 # Don't use STL wrappers; nptest isn't Gecko code
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 NO_PGO = True
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
     RCFILE  = 'nptest.rc'
     RESFILE = 'nptest.res'
     DEFFILE = SRCDIR + '/nptest.def'
 
--- a/ipc/mscom/oop/moz.build
+++ b/ipc/mscom/oop/moz.build
@@ -25,15 +25,15 @@ OS_LIBS += [
     'shlwapi',
 ]
 
 LIBRARY_DEFINES['UNICODE'] = True
 LIBRARY_DEFINES['_UNICODE'] = True
 LIBRARY_DEFINES['MOZ_NO_MOZALLOC'] = True
 LIBRARY_DEFINES['MOZ_MSCOM_REMARSHAL_NO_HANDLER'] = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 NO_EXPAND_LIBS = True
 FORCE_STATIC_LIB = True
 
 # This DLL may be loaded into other processes, so we need static libs for
 # Windows 7 and Windows 8.
 USE_STATIC_LIBS = True
--- a/media/gmp-clearkey/0.1/moz.build
+++ b/media/gmp-clearkey/0.1/moz.build
@@ -47,17 +47,17 @@ if CONFIG['OS_ARCH'] == 'WINNT':
 
 
 DEFINES['CDM_IMPLEMENTATION'] = True
 
 TEST_DIRS += [
     'gtest',
 ]
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 DEFINES['MOZ_NO_MOZALLOC'] = True
 
 USE_LIBS += ['psshparser']
 
 # Suppress warnings in third-party code.
 if CONFIG['GNU_CXX']:
     CFLAGS += [
         '-Wno-missing-braces',
--- a/media/psshparser/moz.build
+++ b/media/psshparser/moz.build
@@ -12,14 +12,14 @@ EXPORTS.psshparser += [
 ]
 
 UNIFIED_SOURCES += [
     'PsshParser.cpp',
 ]
 
 Library('psshparser')
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 DEFINES['MOZ_NO_MOZALLOC'] = True
 
 TEST_DIRS += [
     'gtest',
 ]
--- a/media/webrtc/trunk/gtest/moz.build
+++ b/media/webrtc/trunk/gtest/moz.build
@@ -11,17 +11,17 @@
 ALLOW_COMPILER_WARNINGS = True
 
 DEFINES['GTEST_RELATIVE_PATH'] = True
 DEFINES['WEBRTC_APM_DEBUG_DUMP'] = True
 DEFINES['WEBRTC_INTELLIGIBILITY_ENHANCER'] = 0
 DEFINES['WEBRTC_MOZILLA_BUILD'] = 1
 
 # Hit build errors on windows with xutility otherwise
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 LOCAL_INCLUDES += [
     '../',
     '/',
     '/ipc/chromium/src/',
     '/media/libopus/celt/',
     '/media/libopus/include',
     '/media/libopus/src',
--- a/memory/mozalloc/moz.build
+++ b/memory/mozalloc/moz.build
@@ -33,17 +33,17 @@ UNIFIED_SOURCES += [
     'mozalloc_oom.cpp',
 ]
 
 FINAL_LIBRARY = 'mozglue'
 
 # The strndup declaration in string.h is in an ifdef __USE_GNU section
 DEFINES['_GNU_SOURCE'] = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 DEFINES['IMPL_MFBT'] = True
 
 if CONFIG['_MSC_VER']:
     DIRS += ['staticruntime']
 
 LOCAL_INCLUDES += [
     '!/xpcom',
--- a/memory/mozalloc/staticruntime/moz.build
+++ b/memory/mozalloc/staticruntime/moz.build
@@ -21,15 +21,15 @@ UNIFIED_SOURCES += [
 
 # Keep this file separate to avoid #include'ing windows.h everywhere.
 SOURCES += [
     '../winheap.cpp',
 ]
 
 LOCAL_INCLUDES += ['!/xpcom']
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 DEFINES['IMPL_MFBT'] = True
 
 USE_STATIC_LIBS = True
 
 Library('mozalloc_staticruntime')
--- a/memory/mozjemalloc/moz.build
+++ b/memory/mozjemalloc/moz.build
@@ -22,9 +22,9 @@ LOCAL_INCLUDES += [
 if CONFIG['GNU_CXX']:
     # too many warnings from functions generated through rb_wrab from rb.h.
     CXXFLAGS += ['-Wno-unused-function',
                  '-Wno-error=uninitialized']
 
 if CONFIG['_MSC_VER']:
     CXXFLAGS += ['-wd4273'] # inconsistent dll linkage (bug 558163)
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/memory/replace/dmd/moz.build
+++ b/memory/replace/dmd/moz.build
@@ -20,16 +20,16 @@ SharedLibrary('dmd')
 
 DEFINES['MOZ_NO_MOZALLOC'] = True
 DEFINES['IMPL_MFBT'] = True
 DEFINES['XPCOM_GLUE'] = True
 
 if CONFIG['MOZ_OPTIMIZE']:
     DEFINES['MOZ_OPTIMIZE'] = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     OS_LIBS += [
         'dbghelp',
     ]
 
 TEST_DIRS += ['test']
--- a/memory/replace/dmd/test/moz.build
+++ b/memory/replace/dmd/test/moz.build
@@ -11,16 +11,16 @@ GeckoSimplePrograms([
 # See the comment at the top of SmokeDMD.cpp:RunTests().
 if CONFIG['OS_ARCH'] == 'WINNT':
     CXXFLAGS += ['-Og-']
 else:
     CXXFLAGS += ['-O0']
 
 DEFINES['MOZ_NO_MOZALLOC'] = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 XPCSHELL_TESTS_MANIFESTS += [
     'xpcshell.ini',
 ]
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
--- a/memory/replace/logalloc/logalloc.mozbuild
+++ b/memory/replace/logalloc/logalloc.mozbuild
@@ -4,17 +4,17 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 SOURCES += [
     'FdPrintf.cpp',
     'LogAlloc.cpp',
 ]
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 USE_STATIC_LIBS = True
 NO_PGO = True
 DEFINES['MOZ_NO_MOZALLOC'] = True
 # Avoid Lock_impl code depending on mozilla::Logger.
 DEFINES['NDEBUG'] = True
 DEFINES['DEBUG'] = False
 
 # Use locking code from the chromium stack.
--- a/memory/replace/logalloc/replay/moz.build
+++ b/memory/replace/logalloc/replay/moz.build
@@ -19,9 +19,9 @@ LOCAL_INCLUDES += [
 # Link replace-malloc and the default allocator.
 USE_LIBS += [
     'memory',
 ]
 
 # The memory library defines this, so it's needed here too.
 DEFINES['IMPL_MFBT'] = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/memory/replace/replace/moz.build
+++ b/memory/replace/replace/moz.build
@@ -5,9 +5,9 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 SharedLibrary('replace_malloc')
 
 SOURCES += [
     'ReplaceMalloc.cpp',
 ]
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/mfbt/moz.build
+++ b/mfbt/moz.build
@@ -118,17 +118,17 @@ elif CONFIG['OS_ARCH'] == 'Linux':
 include('objs.mozbuild')
 
 UNIFIED_SOURCES += mfbt_src_cppsrcs
 
 DEFINES['IMPL_MFBT'] = True
 
 SOURCES += mfbt_nonunified_src_cppsrcs
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 # Suppress warnings in third-party LZ4 code.
 # TODO: Remove these suppressions after bug 993267 is fixed.
 
 if CONFIG['GNU_CXX']:
     SOURCES['/mfbt/Compression.cpp'].flags += ['-Wno-unused-function']
     CXXFLAGS += ['-Wno-error=shadow']
 
--- a/mfbt/staticruntime/moz.build
+++ b/mfbt/staticruntime/moz.build
@@ -11,17 +11,17 @@ include('../objs.mozbuild')
 UNIFIED_SOURCES += mfbt_src_cppsrcs
 
 DEFINES['IMPL_MFBT'] = True
 
 SOURCES += mfbt_nonunified_src_cppsrcs
 
 USE_STATIC_LIBS = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 # Suppress warnings in third-party LZ4 code.
 # TODO: Remove these suppressions after bug 993267 is fixed.
 
 if CONFIG['GNU_CXX']:
     SOURCES['/mfbt/Compression.cpp'].flags += ['-Wno-unused-function']
 
 if CONFIG['_MSC_VER']:
--- a/mfbt/tests/moz.build
+++ b/mfbt/tests/moz.build
@@ -63,17 +63,17 @@ CppUnitTests([
 if not CONFIG['MOZ_ASAN']:
     CppUnitTests([
         'TestPoisonArea',
     ])
 
 # Since we link directly with MFBT object files, define IMPL_MFBT
 DEFINES['IMPL_MFBT'] = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 if CONFIG['_MSC_VER']:
   CXXFLAGS += [
     '-wd4275', # non dll-interface class used as base for dll-interface class
     '-wd4530', # C++ exception handler used, but unwind semantics are not enabled
   ]
 
 USE_LIBS += [
--- a/mozglue/android/moz.build
+++ b/mozglue/android/moz.build
@@ -47,17 +47,17 @@ LOCAL_INCLUDES += [
     '/security/nss/lib/smime',
     '/security/nss/lib/softoken',
     '/security/nss/lib/ssl',
     '/security/nss/lib/util',
     '/toolkit/components/startup',
     '/xpcom/build',
 ]
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
 
 DEFINES['XPCOM_GLUE'] = True
 
 USE_LIBS += [
     'xpcomglue',
--- a/mozglue/build/moz.build
+++ b/mozglue/build/moz.build
@@ -42,17 +42,17 @@ if not CONFIG['JS_STANDALONE']:
 
     if CONFIG['OS_TARGET'] == 'WINNT':
         LOCAL_INCLUDES += [
             '/memory/build',
         ]
         SOURCES += [
             'WindowsDllBlocklist.cpp',
         ]
-        DISABLE_STL_WRAPPING = True
+        DisableStlWrapping()
         OS_LIBS += [
             'version',
         ]
 
     EXPORTS.mozilla += [
         'arm.h',
         'mips.h',
         'SSE.h',
--- a/mozglue/linker/moz.build
+++ b/mozglue/linker/moz.build
@@ -14,17 +14,17 @@ SOURCES += [
 ]
 
 Library('linker')
 
 FINAL_LIBRARY = 'mozglue'
 
 DEFINES['IMPL_MFBT'] = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 TEST_DIRS += ['tests']
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
 
 DEFINES['XZ_USE_CRC64'] = 1
 
--- a/mozglue/linker/tests/moz.build
+++ b/mozglue/linker/tests/moz.build
@@ -13,14 +13,14 @@ LOCAL_INCLUDES += ['..']
 USE_LIBS += [
     'linker',
     'mfbt',
 ]
 if CONFIG['ZLIB_IN_MOZGLUE']:
     USE_LIBS += [ 'modules_zlib_src' ]
 else:
     OS_LIBS += CONFIG['MOZ_ZLIB_LIBS']
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 PYTHON_UNITTEST_MANIFESTS += ['python.ini']
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
--- a/mozglue/tests/moz.build
+++ b/mozglue/tests/moz.build
@@ -1,15 +1,15 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 GeckoCppUnitTests([
     'ShowSSEConfig',
 ], linkage=None)
 
 CppUnitTests([
     'TestPrintf',
 ])
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -1121,21 +1121,16 @@ VARIABLES = {
         For example, to export ``foo.png`` to the top-level directory and
         ``bar.svg`` to the directory ``images/do-not-use``, append to
         ``FINAL_TARGET_FILES`` like so::
 
            FINAL_TARGET_FILES += ['foo.png']
            FINAL_TARGET_FILES.images['do-not-use'] += ['bar.svg']
         """),
 
-    'DISABLE_STL_WRAPPING': (bool, bool,
-        """Disable the wrappers for STL which allow it to work with C++ exceptions
-        disabled.
-        """),
-
     'FINAL_TARGET_PP_FILES': (ContextDerivedTypedHierarchicalStringList(Path), list,
         """Like ``FINAL_TARGET_FILES``, with preprocessing.
         """),
 
     'OBJDIR_FILES': (ContextDerivedTypedHierarchicalStringList(Path), list,
         """List of files to be installed anywhere in the objdir. Use sparingly.
 
         ``OBJDIR_FILES`` is similar to FINAL_TARGET_FILES, but it allows copying
@@ -2167,16 +2162,26 @@ DEPRECATION_HINTS = {
 
             CppUnitTests(['foo', 'bar'])
 
         instead of
 
             CPP_UNIT_TESTS += ['foo', 'bar']
         ''',
 
+    'DISABLE_STL_WRAPPING': '''
+        Please use
+
+            DisableStlWrapping()
+
+        instead of
+
+            DISABLE_STL_WRAPPING = True
+        ''',
+
     'HOST_PROGRAM': '''
         Please use
 
             HostProgram('foo')
 
         instead of
 
             HOST_PROGRAM = 'foo'
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -95,17 +95,17 @@ if CONFIG['GNU_CXX']:
 
 # gcc lto likes to put the top level asm in syscall.cc in a different partition
 # from the function using it which breaks the build.  Work around that by
 # forcing there to be only one partition.
 if '-flto' in CONFIG['OS_CXXFLAGS'] and not CONFIG['CLANG_CXX']:
     LDFLAGS += ['--param lto-partitions=1']
 
 DEFINES['NS_NO_XPCOM'] = True
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 LOCAL_INCLUDES += ['/security/sandbox/linux']
 LOCAL_INCLUDES += ['/security/sandbox/chromium-shim']
 LOCAL_INCLUDES += ['/security/sandbox/chromium']
 LOCAL_INCLUDES += ['/nsprpub']
 
 
 if CONFIG['OS_TARGET'] != 'Android':
--- a/security/sandbox/moz.build
+++ b/security/sandbox/moz.build
@@ -160,17 +160,17 @@ elif CONFIG['OS_ARCH'] == 'WINNT':
     for var in ('UNICODE', '_UNICODE', 'NS_NO_XPCOM', 'SANDBOX_EXPORTS',
                 '_CRT_RAND_S', 'CHROMIUM_SANDBOX_BUILD'):
         DEFINES[var] = True
 
     LOCAL_INCLUDES += ['/security/sandbox/chromium-shim']
     LOCAL_INCLUDES += ['/security/sandbox/chromium']
     LOCAL_INCLUDES += ['/nsprpub']
 
-    DISABLE_STL_WRAPPING = True
+    DisableStlWrapping()
 
     # Suppress warnings in third-party code.
     if CONFIG['_MSC_VER']:
         CXXFLAGS += [
             '-wd4275', # non dll-interface class exception used as base for dll-interface class
             '-wd4717', # recursive on all control paths, function will cause runtime stack overflow
             '-wd4996', # 'GetVersionExW': was declared deprecated
             '-wd4302', # 'reinterpret_cast': truncation from 'LPCSTR' to 'WORD'
--- a/testing/mochitest/ssltunnel/moz.build
+++ b/testing/mochitest/ssltunnel/moz.build
@@ -12,12 +12,12 @@ SOURCES += [
 
 USE_LIBS += [
     'nspr',
     'nss',
 ]
 
 # This isn't XPCOM code, but it wants to use STL, so disable the STL
 # wrappers
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-shadow']
--- a/toolkit/components/ctypes/tests/moz.build
+++ b/toolkit/components/ctypes/tests/moz.build
@@ -17,17 +17,17 @@ UNIFIED_SOURCES += [
 
 SharedLibrary('jsctypes-test')
 
 LOCAL_INCLUDES += [
     '/js/src/ctypes',
 ]
 
 # Don't use STL wrappers here (i.e. wrapped <new>); they require mozalloc.
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 NO_PGO = True
 
 if CONFIG['COMPILE_ENVIRONMENT']:
     shared_library = '!%sjsctypes-test%s' % (CONFIG['DLL_PREFIX'], CONFIG['DLL_SUFFIX'])
     TEST_HARNESS_FILES.xpcshell.toolkit.components.ctypes.tests.unit += [shared_library]
     TEST_HARNESS_FILES.testing.mochitest.chrome.toolkit.components.ctypes.tests.chrome += [shared_library]
 
--- a/toolkit/components/jsoncpp/src/lib_json/moz.build
+++ b/toolkit/components/jsoncpp/src/lib_json/moz.build
@@ -22,17 +22,17 @@ if CONFIG['CLANG_CL']:
         '-fcxx-exceptions',
     ]
 elif not CONFIG['_MSC_VER']:
     CXXFLAGS += [
         '-fexceptions',
     ]
 
 # Required to build with exceptions enabled
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 Library('jsoncpp')
 
 # Suppress warnings in third-party code.
 if CONFIG['_MSC_VER']:
     CXXFLAGS += [
         '-wd4005', # macro redefinition
     ]
--- a/toolkit/components/maintenanceservice/moz.build
+++ b/toolkit/components/maintenanceservice/moz.build
@@ -37,17 +37,17 @@ LOCAL_INCLUDES += [
 
 USE_STATIC_LIBS = True
 
 if CONFIG['_MSC_VER']:
     WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']
 
 RCINCLUDE = 'maintenanceservice.rc'
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 OS_LIBS += [
     'comctl32',
     'ws2_32',
     'shell32',
 ]
 
 with Files('**'):
--- a/toolkit/components/telemetry/pingsender/moz.build
+++ b/toolkit/components/telemetry/pingsender/moz.build
@@ -30,9 +30,9 @@ if CONFIG['OS_TARGET'] == 'WINNT':
 else:
     UNIFIED_SOURCES += [
         'pingsender_unix_common.cpp',
     ]
 
 
 # Don't use the STL wrappers; we don't link with -lmozalloc, and it really
 # doesn't matter here anyway.
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/toolkit/crashreporter/breakpad-windows-libxul/moz.build
+++ b/toolkit/crashreporter/breakpad-windows-libxul/moz.build
@@ -27,9 +27,9 @@ include('/toolkit/crashreporter/breakpad
 include('/toolkit/crashreporter/breakpad-client/windows/common/objs.mozbuild')
 
 SOURCES += objs_common
 SOURCES += objs_crash_generation
 SOURCES += objs_handler
 SOURCES += objs_sender
 SOURCES += objs_client_common
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/toolkit/crashreporter/breakpad-windows-standalone/moz.build
+++ b/toolkit/crashreporter/breakpad-windows-standalone/moz.build
@@ -21,9 +21,9 @@ include('/toolkit/crashreporter/breakpad
 
 SOURCES += objs_common
 SOURCES += objs_crash_generation
 SOURCES += objs_handler
 SOURCES += objs_client_common
 
 USE_STATIC_LIBS = True
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/toolkit/crashreporter/client/moz.build
+++ b/toolkit/crashreporter/client/moz.build
@@ -80,11 +80,11 @@ if CONFIG['OS_ARCH'] == 'Linux' or CONFI
     ]
 
 DEFINES['BIN_SUFFIX'] = '"%s"' % CONFIG['BIN_SUFFIX']
 
 RCINCLUDE = 'crashreporter.rc'
 
 # Don't use the STL wrappers in the crashreporter clients; they don't
 # link with -lmozalloc, and it really doesn't matter here anyway.
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 include('/toolkit/crashreporter/crashreporter.mozbuild')
--- a/toolkit/crashreporter/google-breakpad/src/processor/moz.build
+++ b/toolkit/crashreporter/google-breakpad/src/processor/moz.build
@@ -53,14 +53,14 @@ UNIFIED_SOURCES += [
     'tokenize.cc',
 ]
 
 DEFINES['BPLOG_MINIMUM_SEVERITY'] = 'SEVERITY_ERROR'
 
 Library('breakpad_processor')
 
 # Don't use the STL wrappers in the crashreporter clients
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 # We allow warnings for third-party code that can be updated from upstream.
 ALLOW_COMPILER_WARNINGS = True
 
 include('/toolkit/crashreporter/crashreporter.mozbuild')
--- a/toolkit/crashreporter/injector/moz.build
+++ b/toolkit/crashreporter/injector/moz.build
@@ -19,9 +19,9 @@ LOCAL_INCLUDES += [
 
 USE_STATIC_LIBS = True
 
 if CONFIG['GNU_CC']:
     LDFLAGS += ['-Wl,-e,_DummyEntryPoint@12']
 else:
     LDFLAGS += ['-ENTRY:DummyEntryPoint']
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/toolkit/crashreporter/minidump-analyzer/moz.build
+++ b/toolkit/crashreporter/minidump-analyzer/moz.build
@@ -24,11 +24,11 @@ if CONFIG['OS_TARGET'] != 'Android':
     ]
 
 
     if CONFIG['OS_TARGET'] == 'Darwin':
         DIST_SUBDIR = 'crashreporter.app/Contents/MacOS'
 
 # Don't use the STL wrappers in the crashreporter clients; they don't
 # link with -lmozalloc, and it really doesn't matter here anyway.
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 include('/toolkit/crashreporter/crashreporter.mozbuild')
--- a/toolkit/mozapps/update/updater/updater-common.build
+++ b/toolkit/mozapps/update/updater/updater-common.build
@@ -95,17 +95,17 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
 if have_progressui == 0:
     srcs += [
         'progressui_null.cpp',
     ]
 
 SOURCES += sorted(srcs)
 
 DEFINES['NS_NO_XPCOM'] = True
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 for var in ('MAR_CHANNEL_ID', 'MOZ_APP_VERSION'):
     DEFINES[var] = '"%s"' % CONFIG[var]
 
 LOCAL_INCLUDES += [
     '/toolkit/mozapps/update/common',
     '/xpcom/base', # for nsVersionComparator.cpp
 ]
 
--- a/toolkit/xre/test/win/moz.build
+++ b/toolkit/xre/test/win/moz.build
@@ -14,17 +14,17 @@ CppUnitTests([
 
 DEFINES['NS_NO_XPCOM'] = True
 
 LOCAL_INCLUDES += [
     '/config',
     '/toolkit/xre',
 ]
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 USE_STATIC_LIBS = True
 
 OS_LIBS += [
     'comctl32',
     'ole32',
     'shell32',
     'ws2_32',
 ]
--- a/tools/power/moz.build
+++ b/tools/power/moz.build
@@ -13,9 +13,9 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
    CONFIG['CPU_ARCH'] in ('x86', 'x86_64'):
     do_rapl = True
 
 if do_rapl:
     SimplePrograms([
         'rapl',
     ])
 
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
--- a/xpcom/glue/standalone/moz.build
+++ b/xpcom/glue/standalone/moz.build
@@ -27,17 +27,17 @@ if CONFIG['_MSC_VER']:
 DEFINES['XPCOM_GLUE'] = True
 
 LOCAL_INCLUDES += [
     '../../build',
     '../../threads',
 ]
 
 # Don't use STL wrappers here (i.e. wrapped <new>); they require mozalloc
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 # Include fallible for third party code using the xpcom glue
 USE_LIBS += [
     'fallible',
 ]
 
 # Force to build a static library only
 NO_EXPAND_LIBS = True
--- a/xpcom/glue/standalone/staticruntime/moz.build
+++ b/xpcom/glue/standalone/staticruntime/moz.build
@@ -26,17 +26,17 @@ LOCAL_INCLUDES += [
     '../../../build',
     '../../../threads',
 ]
 
 # Statically link to the CRT on Windows
 USE_STATIC_LIBS = True
 
 # Don't use STL wrappers here (i.e. wrapped <new>); they require mozalloc
-DISABLE_STL_WRAPPING = True
+DisableStlWrapping()
 
 # Include fallible for third party code using the xpcom glue
 USE_LIBS += [
     'fallible',
 ]
 
 # Force to build a static library only
 NO_EXPAND_LIBS = True