# -*- 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