michael@0: # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- michael@0: # vim: set filetype=python: michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: XPIDL_SOURCES += [ michael@0: 'nsIArray.idl', michael@0: 'nsIAtom.idl', michael@0: 'nsIAtomService.idl', michael@0: 'nsICollection.idl', michael@0: 'nsIEnumerator.idl', michael@0: 'nsIHashable.idl', michael@0: 'nsIINIParser.idl', michael@0: 'nsIMutableArray.idl', michael@0: 'nsIObserver.idl', michael@0: 'nsIObserverService.idl', michael@0: 'nsIPersistentProperties2.idl', michael@0: 'nsIProperties.idl', michael@0: 'nsIProperty.idl', michael@0: 'nsIPropertyBag.idl', michael@0: 'nsIPropertyBag2.idl', michael@0: 'nsISerializable.idl', michael@0: 'nsISimpleEnumerator.idl', michael@0: 'nsIStringEnumerator.idl', michael@0: 'nsISupportsArray.idl', michael@0: 'nsISupportsIterators.idl', michael@0: 'nsISupportsPrimitives.idl', michael@0: 'nsIVariant.idl', michael@0: 'nsIWritablePropertyBag.idl', michael@0: 'nsIWritablePropertyBag2.idl', michael@0: ] michael@0: michael@0: if CONFIG['OS_ARCH'] == 'WINNT': michael@0: XPIDL_SOURCES += [ michael@0: 'nsIWindowsRegKey.idl', michael@0: ] michael@0: EXPORTS += ['nsWindowsRegKey.h'] michael@0: EXPORTS.mozilla += ['TimeStamp_windows.h'] michael@0: SOURCES += [ michael@0: 'nsWindowsRegKey.cpp' michael@0: ] michael@0: michael@0: XPIDL_MODULE = 'xpcom_ds' michael@0: michael@0: EXPORTS += [ michael@0: 'nsArray.h', michael@0: 'nsAtomService.h', michael@0: 'nsCharSeparatedTokenizer.h', michael@0: 'nsCheapSets.h', michael@0: 'nsCRT.h', michael@0: 'nsExpirationTracker.h', michael@0: 'nsHashPropertyBag.h', michael@0: 'nsHashtable.h', michael@0: 'nsMathUtils.h', michael@0: 'nsStaticAtom.h', michael@0: 'nsStaticNameTable.h', michael@0: 'nsStringEnumerator.h', michael@0: 'nsSupportsArray.h', michael@0: 'nsSupportsPrimitives.h', michael@0: 'nsVariant.h', michael@0: 'nsWhitespaceTokenizer.h', michael@0: ] michael@0: michael@0: EXPORTS.mozilla += [ michael@0: 'CharTokenizer.h', michael@0: 'StringBuilder.h', michael@0: 'TimeStamp.h', michael@0: ] michael@0: michael@0: UNIFIED_SOURCES += [ michael@0: 'nsArray.cpp', michael@0: 'nsAtomService.cpp', michael@0: 'nsAtomTable.cpp', michael@0: 'nsCRT.cpp', michael@0: 'nsHashPropertyBag.cpp', michael@0: 'nsHashtable.cpp', michael@0: 'nsINIParserImpl.cpp', michael@0: 'nsObserverList.cpp', michael@0: 'nsObserverService.cpp', michael@0: 'nsProperties.cpp', michael@0: 'nsStringEnumerator.cpp', michael@0: 'nsSupportsArray.cpp', michael@0: 'nsSupportsArrayEnumerator.cpp', michael@0: 'nsSupportsPrimitives.cpp', michael@0: 'nsVariant.cpp', michael@0: 'TimeStamp.cpp', michael@0: ] michael@0: michael@0: # These two files cannot be built in unified mode because they use the michael@0: # PL_ARENA_CONST_ALIGN_MASK macro with plarena.h. michael@0: SOURCES += [ michael@0: 'nsPersistentProperties.cpp', michael@0: 'nsStaticNameTable.cpp', michael@0: ] michael@0: michael@0: if CONFIG['OS_ARCH'] == 'WINNT': michael@0: SOURCES += [ michael@0: 'TimeStamp_windows.cpp', michael@0: ] michael@0: elif CONFIG['HAVE_CLOCK_MONOTONIC']: michael@0: SOURCES += [ michael@0: 'TimeStamp_posix.cpp', michael@0: ] michael@0: elif CONFIG['OS_ARCH'] == 'Darwin': michael@0: SOURCES += [ michael@0: 'TimeStamp_darwin.cpp', michael@0: ] michael@0: elif CONFIG['COMPILE_ENVIRONMENT']: michael@0: error('No TimeStamp implementation on this platform. Build will not succeed') michael@0: michael@0: EXTRA_COMPONENTS += [ michael@0: 'nsINIProcessor.js', michael@0: 'nsINIProcessor.manifest', michael@0: ] michael@0: michael@0: FAIL_ON_WARNINGS = True michael@0: michael@0: MSVC_ENABLE_PGO = True michael@0: michael@0: LOCAL_INCLUDES += [ michael@0: '../io', michael@0: ] michael@0: michael@0: FINAL_LIBRARY = 'xpcom_core'