xpcom/build/moz.build

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/xpcom/build/moz.build	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,104 @@
     1.4 +# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
     1.5 +# vim: set filetype=python:
     1.6 +# This Source Code Form is subject to the terms of the Mozilla Public
     1.7 +# License, v. 2.0. If a copy of the MPL was not distributed with this
     1.8 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
     1.9 +
    1.10 +EXPORTS += [
    1.11 +    'nsXPCOM.h',
    1.12 +    'nsXPCOMCID.h',
    1.13 +    'nsXPCOMCIDInternal.h',
    1.14 +    'nsXREAppData.h',
    1.15 +    'nsXULAppAPI.h',
    1.16 +    'xrecore.h',
    1.17 +]
    1.18 +
    1.19 +EXPORTS.mozilla += [
    1.20 +    'FileLocation.h',
    1.21 +    'IOInterposer.h',
    1.22 +    'LateWriteChecks.h',
    1.23 +    'Omnijar.h',
    1.24 +    'PoisonIOInterposer.h',
    1.25 +    'ServiceList.h',
    1.26 +    'Services.h',
    1.27 +    'XPCOM.h',
    1.28 +]
    1.29 +
    1.30 +if CONFIG['OS_ARCH'] == 'WINNT':
    1.31 +    EXPORTS += ['nsWindowsDllInterceptor.h']
    1.32 +    EXPORTS.mozilla += ['perfprobe.h']
    1.33 +    SOURCES += [
    1.34 +        'perfprobe.cpp',
    1.35 +        'PoisonIOInterposerBase.cpp',
    1.36 +        'PoisonIOInterposerWin.cpp',
    1.37 +    ]
    1.38 +elif CONFIG['OS_ARCH'] == 'Darwin':
    1.39 +    SOURCES += [
    1.40 +        'mach_override.c',
    1.41 +        'PoisonIOInterposerBase.cpp',
    1.42 +        'PoisonIOInterposerMac.cpp',
    1.43 +    ]
    1.44 +else:
    1.45 +    SOURCES += ['PoisonIOInterposerStub.cpp']
    1.46 +
    1.47 +include('../glue/objs.mozbuild')
    1.48 +
    1.49 +UNIFIED_SOURCES += xpcom_gluens_src_cppsrcs
    1.50 +UNIFIED_SOURCES += xpcom_glue_src_cppsrcs
    1.51 +
    1.52 +UNIFIED_SOURCES += [
    1.53 +    'FrozenFunctions.cpp',
    1.54 +    'IOInterposer.cpp',
    1.55 +    'LateWriteChecks.cpp',
    1.56 +    'MainThreadIOLogger.cpp',
    1.57 +    'nsXPComInit.cpp',
    1.58 +    'nsXPCOMStrings.cpp',
    1.59 +    'Services.cpp',
    1.60 +]
    1.61 +
    1.62 +if CONFIG['OS_ARCH'] != 'WINNT':
    1.63 +    SOURCES += [
    1.64 +        'NSPRInterposer.cpp',
    1.65 +    ]
    1.66 +
    1.67 +# FileLocation.cpp and Omnijar.cpp cannot be built in unified mode because they
    1.68 +# use plarena.h.
    1.69 +SOURCES += [
    1.70 +    'FileLocation.cpp',
    1.71 +    'Omnijar.cpp',
    1.72 +]
    1.73 +
    1.74 +MSVC_ENABLE_PGO = True
    1.75 +
    1.76 +LIBRARY_NAME = 'xpcom_core'
    1.77 +
    1.78 +include('/ipc/chromium/chromium-config.mozbuild')
    1.79 +
    1.80 +FINAL_LIBRARY = 'xul'
    1.81 +
    1.82 +DEFINES['_IMPL_NS_STRINGAPI'] = True
    1.83 +DEFINES['OMNIJAR_NAME'] = CONFIG['OMNIJAR_NAME']
    1.84 +
    1.85 +if CONFIG['TARGET_XPCOM_ABI']:
    1.86 +    DEFINES['TARGET_XPCOM_ABI'] = '"%s"' % CONFIG['TARGET_XPCOM_ABI']
    1.87 +
    1.88 +if CONFIG['MOZ_OPTIMIZE']:
    1.89 +    DEFINES['MOZ_OPTIMIZE'] = True
    1.90 +
    1.91 +GENERATED_INCLUDES += ['..']
    1.92 +LOCAL_INCLUDES += [
    1.93 +    '../base',
    1.94 +    '../components',
    1.95 +    '../ds',
    1.96 +    '../glue',
    1.97 +    '../io',
    1.98 +    '../reflect/xptinfo/src',
    1.99 +    '../threads',
   1.100 +    '/chrome/src',
   1.101 +    '/docshell/base',
   1.102 +]
   1.103 +
   1.104 +if CONFIG['MOZ_VPX']:
   1.105 +    LOCAL_INCLUDES += [
   1.106 +        '/media/libvpx',
   1.107 +    ]

mercurial