gecko-dev/xpcom/build/moz.build

102 строки
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',
'IOInterposer.h',
'LateWriteChecks.h',
'Omnijar.h',
'PoisonIOInterposer.h',
'ServiceList.h',
'Services.h',
'XPCOM.h',
]
if CONFIG['OS_ARCH'] == 'WINNT':
EXPORTS += ['nsWindowsDllInterceptor.h']
EXPORTS.mozilla += ['perfprobe.h']
SOURCES += [
'perfprobe.cpp',
'PoisonIOInterposerBase.cpp',
'PoisonIOInterposerWin.cpp',
]
elif CONFIG['OS_ARCH'] == 'Darwin':
UNIFIED_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',
'IOInterposer.cpp',
'LateWriteChecks.cpp',
'MainThreadIOLogger.cpp',
'nsXPCOMStrings.cpp',
'Services.cpp',
'XPCOMInit.cpp',
]
if CONFIG['OS_ARCH'] != 'WINNT':
SOURCES += [
'NSPRInterposer.cpp',
]
# FileLocation.cpp and Omnijar.cpp cannot be built in unified mode because they
# use plarena.h.
SOURCES += [
'FileLocation.cpp',
'Omnijar.cpp',
]
FAIL_ON_WARNINGS = True
MSVC_ENABLE_PGO = True
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
DEFINES['_IMPL_NS_STRINGAPI'] = True
DEFINES['OMNIJAR_NAME'] = CONFIG['OMNIJAR_NAME']
GENERATED_INCLUDES += ['..']
LOCAL_INCLUDES += [
'../base',
'../components',
'../ds',
'../glue',
'../io',
'../reflect/xptinfo',
'../threads',
'/chrome',
'/docshell/base',
]
if CONFIG['MOZ_VPX']:
LOCAL_INCLUDES += [
'/media/libvpx',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
CXXFLAGS += CONFIG['TK_CFLAGS']