gecko-dev/xpcom/build/moz.build

94 lines
2.2 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/.
EXPORTS += [
'nsXPCOM.h',
'nsXPCOMCID.h',
'nsXPCOMCIDInternal.h',
'nsXREAppData.h',
'nsXULAppAPI.h',
'xrecore.h',
]
EXPORTS.mozilla += [
'FileLocation.h',
'LateWriteChecks.h',
'Omnijar.h',
'PoisonIOInterposer.h',
'ServiceList.h',
'Services.h',
'XPCOM.h',
]
if CONFIG['OS_ARCH'] == 'WINNT':
EXPORTS.mozilla += ['perfprobe.h']
SOURCES += ['perfprobe.cpp']
if CONFIG['MOZ_ENABLE_PROFILER_SPS']:
SOURCES += [
'PoisonIOInterposerBase.cpp',
'PoisonIOInterposerWin.cpp',
]
else:
SOURCES += ['PoisonIOInterposerStub.cpp']
elif CONFIG['OS_ARCH'] == 'Darwin' and CONFIG['MOZ_ENABLE_PROFILER_SPS']:
SOURCES += [
'mach_override.c',
'PoisonIOInterposerBase.cpp',
'PoisonIOInterposerMac.cpp',
]
else:
SOURCES += ['PoisonIOInterposerStub.cpp']
include('../glue/objs.mozbuild')
UNIFIED_SOURCES += xpcom_gluens_src_cppsrcs
UNIFIED_SOURCES += xpcom_glue_src_cppsrcs
UNIFIED_SOURCES += [
'FrozenFunctions.cpp',
'LateWriteChecks.cpp',
'nsXPComInit.cpp',
'nsXPCOMStrings.cpp',
'Services.cpp',
]
# FileLocation.cpp and Omnijar.cpp cannot be built in unified mode because they
# use plarena.h.
SOURCES += [
'FileLocation.cpp',
'Omnijar.cpp',
]
MSVC_ENABLE_PGO = True
LIBRARY_NAME = 'xpcom_core'
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
DEFINES['_IMPL_NS_STRINGAPI'] = True
DEFINES['OMNIJAR_NAME'] = CONFIG['OMNIJAR_NAME']
if CONFIG['TARGET_XPCOM_ABI']:
DEFINES['TARGET_XPCOM_ABI'] = '"%s"' % CONFIG['TARGET_XPCOM_ABI']
if CONFIG['MOZ_OPTIMIZE']:
DEFINES['MOZ_OPTIMIZE'] = True
GENERATED_INCLUDES += ['..']
LOCAL_INCLUDES += [
'../base',
'../components',
'../ds',
'../glue',
'../io',
'../reflect/xptinfo/src',
'../threads',
'/chrome/src',
'/docshell/base',
]