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 422743 97f3a6f21087f5696b93c1d83295a052582adbf7
parent 422742 e1eaee9c428c83d6c7954b6a7e8cb434186bcbad
child 422744 40dbde701504661c0b537073ba6bbd305c76e7a9
push id84
push userfmarier@mozilla.com
push dateTue, 12 Sep 2017 22:03:42 +0000
reviewersglandium
bugs1386876
milestone57.0a1
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