|
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/. |
|
6 |
|
7 XPIDL_SOURCES += [ |
|
8 'nsIArray.idl', |
|
9 'nsIAtom.idl', |
|
10 'nsIAtomService.idl', |
|
11 'nsICollection.idl', |
|
12 'nsIEnumerator.idl', |
|
13 'nsIHashable.idl', |
|
14 'nsIINIParser.idl', |
|
15 'nsIMutableArray.idl', |
|
16 'nsIObserver.idl', |
|
17 'nsIObserverService.idl', |
|
18 'nsIPersistentProperties2.idl', |
|
19 'nsIProperties.idl', |
|
20 'nsIProperty.idl', |
|
21 'nsIPropertyBag.idl', |
|
22 'nsIPropertyBag2.idl', |
|
23 'nsISerializable.idl', |
|
24 'nsISimpleEnumerator.idl', |
|
25 'nsIStringEnumerator.idl', |
|
26 'nsISupportsArray.idl', |
|
27 'nsISupportsIterators.idl', |
|
28 'nsISupportsPrimitives.idl', |
|
29 'nsIVariant.idl', |
|
30 'nsIWritablePropertyBag.idl', |
|
31 'nsIWritablePropertyBag2.idl', |
|
32 ] |
|
33 |
|
34 if CONFIG['OS_ARCH'] == 'WINNT': |
|
35 XPIDL_SOURCES += [ |
|
36 'nsIWindowsRegKey.idl', |
|
37 ] |
|
38 EXPORTS += ['nsWindowsRegKey.h'] |
|
39 EXPORTS.mozilla += ['TimeStamp_windows.h'] |
|
40 SOURCES += [ |
|
41 'nsWindowsRegKey.cpp' |
|
42 ] |
|
43 |
|
44 XPIDL_MODULE = 'xpcom_ds' |
|
45 |
|
46 EXPORTS += [ |
|
47 'nsArray.h', |
|
48 'nsAtomService.h', |
|
49 'nsCharSeparatedTokenizer.h', |
|
50 'nsCheapSets.h', |
|
51 'nsCRT.h', |
|
52 'nsExpirationTracker.h', |
|
53 'nsHashPropertyBag.h', |
|
54 'nsHashtable.h', |
|
55 'nsMathUtils.h', |
|
56 'nsStaticAtom.h', |
|
57 'nsStaticNameTable.h', |
|
58 'nsStringEnumerator.h', |
|
59 'nsSupportsArray.h', |
|
60 'nsSupportsPrimitives.h', |
|
61 'nsVariant.h', |
|
62 'nsWhitespaceTokenizer.h', |
|
63 ] |
|
64 |
|
65 EXPORTS.mozilla += [ |
|
66 'CharTokenizer.h', |
|
67 'StringBuilder.h', |
|
68 'TimeStamp.h', |
|
69 ] |
|
70 |
|
71 UNIFIED_SOURCES += [ |
|
72 'nsArray.cpp', |
|
73 'nsAtomService.cpp', |
|
74 'nsAtomTable.cpp', |
|
75 'nsCRT.cpp', |
|
76 'nsHashPropertyBag.cpp', |
|
77 'nsHashtable.cpp', |
|
78 'nsINIParserImpl.cpp', |
|
79 'nsObserverList.cpp', |
|
80 'nsObserverService.cpp', |
|
81 'nsProperties.cpp', |
|
82 'nsStringEnumerator.cpp', |
|
83 'nsSupportsArray.cpp', |
|
84 'nsSupportsArrayEnumerator.cpp', |
|
85 'nsSupportsPrimitives.cpp', |
|
86 'nsVariant.cpp', |
|
87 'TimeStamp.cpp', |
|
88 ] |
|
89 |
|
90 # These two files cannot be built in unified mode because they use the |
|
91 # PL_ARENA_CONST_ALIGN_MASK macro with plarena.h. |
|
92 SOURCES += [ |
|
93 'nsPersistentProperties.cpp', |
|
94 'nsStaticNameTable.cpp', |
|
95 ] |
|
96 |
|
97 if CONFIG['OS_ARCH'] == 'WINNT': |
|
98 SOURCES += [ |
|
99 'TimeStamp_windows.cpp', |
|
100 ] |
|
101 elif CONFIG['HAVE_CLOCK_MONOTONIC']: |
|
102 SOURCES += [ |
|
103 'TimeStamp_posix.cpp', |
|
104 ] |
|
105 elif CONFIG['OS_ARCH'] == 'Darwin': |
|
106 SOURCES += [ |
|
107 'TimeStamp_darwin.cpp', |
|
108 ] |
|
109 elif CONFIG['COMPILE_ENVIRONMENT']: |
|
110 error('No TimeStamp implementation on this platform. Build will not succeed') |
|
111 |
|
112 EXTRA_COMPONENTS += [ |
|
113 'nsINIProcessor.js', |
|
114 'nsINIProcessor.manifest', |
|
115 ] |
|
116 |
|
117 FAIL_ON_WARNINGS = True |
|
118 |
|
119 MSVC_ENABLE_PGO = True |
|
120 |
|
121 LOCAL_INCLUDES += [ |
|
122 '../io', |
|
123 ] |
|
124 |
|
125 FINAL_LIBRARY = 'xpcom_core' |