1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
15 'nsIMutableArray.idl',
17 'nsIObserverService.idl',
18 'nsIPersistentProperties2.idl',
22 'nsIPropertyBag2.idl',
23 'nsISerializable.idl',
24 'nsISimpleEnumerator.idl',
25 'nsIStringEnumerator.idl',
26 'nsISupportsArray.idl',
27 'nsISupportsIterators.idl',
28 'nsISupportsPrimitives.idl',
30 'nsIWritablePropertyBag.idl',
31 'nsIWritablePropertyBag2.idl',
34 if CONFIG['OS_ARCH'] == 'WINNT':
36 'nsIWindowsRegKey.idl',
38 EXPORTS += ['nsWindowsRegKey.h']
39 EXPORTS.mozilla += ['TimeStamp_windows.h']
44 XPIDL_MODULE = 'xpcom_ds'
49 'nsCharSeparatedTokenizer.h',
52 'nsExpirationTracker.h',
53 'nsHashPropertyBag.h',
56 'nsStaticNameTable.h',
57 'nsStringEnumerator.h',
59 'nsSupportsPrimitives.h',
61 'nsWhitespaceTokenizer.h',
73 'nsHashPropertyBag.cpp',
74 'nsINIParserImpl.cpp',
76 'nsObserverService.cpp',
78 'nsStringEnumerator.cpp',
79 'nsSupportsArray.cpp',
80 'nsSupportsArrayEnumerator.cpp',
81 'nsSupportsPrimitives.cpp',
86 # These two files cannot be built in unified mode because they use the
87 # PL_ARENA_CONST_ALIGN_MASK macro with plarena.h.
89 'nsPersistentProperties.cpp',
90 'nsStaticNameTable.cpp',
93 if CONFIG['OS_ARCH'] == 'WINNT':
95 'TimeStamp_windows.cpp',
97 elif CONFIG['HAVE_CLOCK_MONOTONIC']:
99 'TimeStamp_posix.cpp',
101 elif CONFIG['OS_ARCH'] == 'Darwin':
103 'TimeStamp_darwin.cpp',
105 elif CONFIG['COMPILE_ENVIRONMENT']:
106 error('No TimeStamp implementation on this platform. Build will not succeed')
108 EXTRA_COMPONENTS += [
110 'nsINIProcessor.manifest',
113 FAIL_ON_WARNINGS = True
115 MSVC_ENABLE_PGO = True
121 FINAL_LIBRARY = 'xul'