xpcom/libxpcomrt/moz.build
author Birunthan Mohanathas <birunthan@mohanathas.com>
Thu, 14 May 2015 20:52:05 -0700
changeset 244258 7701abd924856d65acbf9927629cf27dd2335ec1
parent 237448 e1f294f7ca90d9b5faa8ca78762f08a124aff815
child 237478 eebb50c443890c1cebcc67067f8036f02e7fe66a
child 245817 a2d46c1cdb8e88d10c21c473eb2f86fe39bd50cc
permissions -rw-r--r--
Bug 1038536 - Flatten image/src/ directory. r=seth

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

if CONFIG['OS_TARGET'] != 'WINNT' and CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
    Library('xpcomrt')

src_list = [
    'XPCOMRTInit.cpp',
    'XPCOMRTStubs.cpp',
]

xpcom_base_src = [
    'nsDebugImpl.cpp',
    'nsMemoryImpl.cpp',
    'nsUUIDGenerator.cpp',
]
src_list += [
    '%s/xpcom/base/%s' % (TOPSRCDIR, s) for s in xpcom_base_src
]

xpcom_build_src = [
    'FileLocation.cpp',
    'Services.cpp',
]
src_list += [
    '%s/xpcom/build/%s' % (TOPSRCDIR, s) for s in xpcom_build_src
]

xpcom_components_src = [
    'nsCategoryManager.cpp',
    'nsComponentManager.cpp',
]
src_list += [
    '%s/xpcom/components/%s' % (TOPSRCDIR, s) for s in xpcom_components_src
]

xpcom_ds_src = [
    'nsObserverList.cpp',
    'nsObserverService.cpp',
    'nsStringEnumerator.cpp',
    'nsSupportsPrimitives.cpp',
]
if CONFIG['OS_ARCH'] == 'WINNT':
    xpcom_ds_src += [
        'TimeStamp_windows.cpp',
    ]
elif CONFIG['HAVE_CLOCK_MONOTONIC']:
    xpcom_ds_src += [
        'TimeStamp_posix.cpp',
    ]
elif CONFIG['OS_ARCH'] == 'Darwin':
    xpcom_ds_src += [
        'TimeStamp_darwin.cpp',
    ]
elif CONFIG['COMPILE_ENVIRONMENT']:
    error('No TimeStamp implementation on this platform.  Build will not succeed')
src_list += [
    '%s/xpcom/ds/%s' % (TOPSRCDIR, s) for s in xpcom_ds_src
]

xpcom_glue_src = [
    'BlockingResourceBase.cpp',
    'nsArrayEnumerator.cpp',
    'nsClassInfoImpl.cpp',
    'nsCOMArray.cpp',
    'nsCOMPtr.cpp',
    'nsCRTGlue.cpp',
    'nsComponentManagerUtils.cpp',
    'nsEnumeratorUtils.cpp',
    'GenericFactory.cpp',
    'nsID.cpp',
    'nsISupportsImpl.cpp',
    'nsMemory.cpp',
    'nsProxyRelease.cpp',
    'nsQuickSort.cpp',
    'nsTArray.cpp',
    'nsTHashtable.cpp',
    'nsTObserverArray.cpp',
    'nsThreadUtils.cpp',
    'nsWeakReference.cpp',
    'pldhash.cpp',
]
src_list += [
    '%s/xpcom/glue/%s' % (TOPSRCDIR, s) for s in xpcom_glue_src
]

xpcom_io_src = [
    'nsNativeCharsetUtils.cpp',
]
src_list += [
    '%s/xpcom/io/%s' % (TOPSRCDIR, s) for s in xpcom_io_src
]

xpcom_string_src = [
    'nsDependentSubstring.cpp',
    'nsPromiseFlatString.cpp',
    'nsReadableUtils.cpp',
    'nsString.cpp',
    'nsStringComparator.cpp',
    'nsStringObsolete.cpp',
    'nsSubstring.cpp',
    'nsSubstringTuple.cpp',
]
if CONFIG['INTEL_ARCHITECTURE']:
    xpcom_string_src += ['nsUTF8UtilsSSE2.cpp']
src_list += [
    '%s/xpcom/string/%s' % (TOPSRCDIR, s) for s in xpcom_string_src
]

xpcom_threads_src = [
    'LazyIdleThread.cpp',
    'nsEnvironment.cpp',
    'nsEventQueue.cpp',
    'nsMemoryPressure.cpp',
    'nsProcessCommon.cpp',
    'nsThread.cpp',
    'nsThreadManager.cpp',
    'nsThreadPool.cpp',
    'nsTimerImpl.cpp',
    'TimerThread.cpp',
]
src_list += [
    '%s/xpcom/threads/%s' % (TOPSRCDIR, s) for s in xpcom_threads_src
]


SOURCES += sorted(src_list)

if CONFIG['INTEL_ARCHITECTURE']:
    sse_string_path = '%s/xpcom/string/nsUTF8UtilsSSE2.cpp' % TOPSRCDIR
    SOURCES[sse_string_path].flags += CONFIG['SSE2_FLAGS']

GENERATED_INCLUDES += ['..']
LOCAL_INCLUDES = [
    '../base',
    '../build',
    '../components',
    '../ds',
    '../glue',
    '../threads',
    '/netwerk/standalone/',
    '/xpcom/reflect/xptinfo/',
]

DEFINES['MOZILLA_INTERNAL_API'] = True
DEFINES['MOZILLA_XPCOMRT_API'] = True
DEFINES['MOZILLA_EXTERNAL_LINKAGE'] = True

include('/ipc/chromium/chromium-config.mozbuild')

SPHINX_TREES['libxpcomrt'] = 'docs'