mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 20:25:44 +00:00
2abcc3d7cb
The current situation is suboptimal, where we have the same goop repeated in multiple files, and where things kinda sorta work out fine thanks to the linker for files that would have been forbidden, except when the linker doesn't do its job, which apparently happen on mingwclang builds. This change only really covers C++ code using operator new/delete, and not things that would be using malloc/free, because it's easier. malloc/free is left for a followup. Differential Revision: https://phabricator.services.mozilla.com/D32119 --HG-- extra : moz-landing-system : lando
54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
# -*- 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/.
|
|
NoVisibilityFlags()
|
|
|
|
EXPORTS.mozilla += [
|
|
'mozalloc.h',
|
|
'mozalloc_abort.h',
|
|
'mozalloc_oom.h',
|
|
]
|
|
|
|
if CONFIG['WRAP_STL_INCLUDES']:
|
|
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
|
EXPORTS.mozilla += ['throw_gcc.h']
|
|
elif CONFIG['CC_TYPE'] == 'clang-cl':
|
|
DEFINES['_HAS_EXCEPTIONS'] = 0
|
|
SOURCES += [
|
|
'msvc_raise_wrappers.cpp',
|
|
]
|
|
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
# Keep this file separate to avoid #include'ing windows.h everywhere.
|
|
SOURCES += [
|
|
'winheap.cpp',
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
'mozalloc.cpp',
|
|
'mozalloc_oom.cpp',
|
|
]
|
|
|
|
SOURCES += [
|
|
'mozalloc_abort.cpp',
|
|
]
|
|
|
|
if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['CC_TYPE'] == 'clang':
|
|
SOURCES['mozalloc_abort.cpp'].flags += ['-Wno-infinite-recursion']
|
|
|
|
FINAL_LIBRARY = 'mozglue'
|
|
|
|
# The strndup declaration in string.h is in an ifdef __USE_GNU section
|
|
DEFINES['_GNU_SOURCE'] = True
|
|
|
|
DisableStlWrapping()
|
|
|
|
LOCAL_INCLUDES += [
|
|
'!/xpcom',
|
|
'/memory/build',
|
|
]
|
|
|
|
DIST_INSTALL = True
|