gecko/memory/mozalloc/moz.build
Mike Hommey 21ec48314e Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00

74 lines
1.9 KiB
Python

# -*- Mode: python; c-basic-offset: 4; 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/.
NO_VISIBILITY_FLAGS = True
EXPORTS.mozilla += [
'fallible.h',
'mozalloc.h',
'mozalloc_abort.h',
'mozalloc_oom.h',
'VolatileBuffer.h',
]
if CONFIG['MOZ_MSVC_STL_WRAP__RAISE'] or CONFIG['MOZ_MSVC_STL_WRAP__Throw']:
build_msvc_wrappers = 1
else:
build_msvc_wrappers = 0
if CONFIG['WRAP_STL_INCLUDES']:
if CONFIG['GNU_CXX']:
EXPORTS.mozilla += ['throw_gcc.h']
elif CONFIG['_MSC_VER']:
DEFINES['_HAS_EXCEPTIONS'] = 0
if build_msvc_wrappers:
EXPORTS.mozilla += [
'msvc_raise_wrappers.h',
'msvc_throw_wrapper.h',
'throw_msvc.h',
]
SOURCES += [
'msvc_raise_wrappers.cpp',
'msvc_throw_wrapper.cpp',
]
UNIFIED_SOURCES += [
'mozalloc.cpp',
'mozalloc_abort.cpp',
'mozalloc_oom.cpp',
]
if CONFIG['OS_TARGET'] == 'Android':
UNIFIED_SOURCES += [
'VolatileBufferAshmem.cpp',
]
elif CONFIG['OS_TARGET'] == 'Darwin':
UNIFIED_SOURCES += [
'VolatileBufferOSX.cpp',
]
elif CONFIG['OS_TARGET'] == 'WINNT':
UNIFIED_SOURCES += [
'VolatileBufferWindows.cpp',
]
else:
UNIFIED_SOURCES += [
'VolatileBufferFallback.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
Library('mozalloc')
else:
GeckoSharedLibrary('mozalloc', linkage=None)
SDK_LIBRARY = True
# The strndup declaration in string.h is in an ifdef __USE_GNU section
DEFINES['_GNU_SOURCE'] = True
TEST_DIRS += ['tests']
GENERATED_INCLUDES += ['/xpcom']
DISABLE_STL_WRAPPING = True