1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# -*- Mode: python; 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/.
HAS_MISC_RULE = True
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
DEFINES['MOZ_APP_VERSION'] = '"%s"' % CONFIG['MOZ_APP_VERSION']
LOCAL_INCLUDES += [
'/xpcom/build',
'/xpcom/threads',
]
SPHINX_TREES['telemetry'] = 'docs'
if CONFIG['GNU_CXX']:
CXXFLAGS += ['-Wno-error=shadow']
XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
XPIDL_SOURCES += [
'nsITelemetry.idl',
]
XPIDL_MODULE = 'telemetry'
EXPORTS.mozilla += [
'!TelemetryEventEnums.h',
'!TelemetryHistogramEnums.h',
'!TelemetryScalarEnums.h',
'ProcessedStack.h',
'Telemetry.h',
'TelemetryComms.h',
'ThreadHangStats.h',
]
SOURCES += [
'Telemetry.cpp',
'TelemetryCommon.cpp',
'TelemetryEvent.cpp',
'TelemetryHistogram.cpp',
'TelemetryScalar.cpp',
'WebrtcTelemetry.cpp',
]
EXTRA_COMPONENTS += [
'TelemetryStartup.js',
'TelemetryStartup.manifest'
]
EXTRA_JS_MODULES += [
'GCTelemetry.jsm',
'TelemetryArchive.jsm',
'TelemetryController.jsm',
'TelemetryEnvironment.jsm',
'TelemetryLog.jsm',
'TelemetryReportingPolicy.jsm',
'TelemetrySend.jsm',
'TelemetrySession.jsm',
'TelemetryStorage.jsm',
'TelemetryTimestamps.jsm',
'TelemetryUtils.jsm',
'ThirdPartyCookieProbe.jsm',
'UITelemetry.jsm',
]
TESTING_JS_MODULES += [
'tests/unit/TelemetryArchiveTesting.jsm',
]
GENERATED_FILES = [
'TelemetryEventData.h',
'TelemetryEventEnums.h',
'TelemetryHistogramData.inc',
'TelemetryHistogramEnums.h',
'TelemetryScalarData.h',
'TelemetryScalarEnums.h',
]
# Generate histogram files.
histogram_files = [
'Histograms.json',
'/dom/base/UseCounters.conf',
'/dom/base/nsDeprecatedOperationList.h',
]
data = GENERATED_FILES['TelemetryHistogramData.inc']
data.script = 'gen-histogram-data.py'
data.inputs = histogram_files
enums = GENERATED_FILES['TelemetryHistogramEnums.h']
enums.script = 'gen-histogram-enum.py'
enums.inputs = histogram_files
# Generate scalar files.
scalar_files = [
'Scalars.yaml',
]
scalar_data = GENERATED_FILES['TelemetryScalarData.h']
scalar_data.script = 'gen-scalar-data.py'
scalar_data.inputs = scalar_files
scalar_enums = GENERATED_FILES['TelemetryScalarEnums.h']
scalar_enums.script = 'gen-scalar-enum.py'
scalar_enums.inputs = scalar_files
# Generate event files.
event_files = [
'Events.yaml',
]
event_data = GENERATED_FILES['TelemetryEventData.h']
event_data.script = 'gen-event-data.py'
event_data.inputs = event_files
event_enums = GENERATED_FILES['TelemetryEventEnums.h']
event_enums.script = 'gen-event-enum.py'
event_enums.inputs = event_files
with Files('**'):
BUG_COMPONENT = ('Toolkit', 'Telemetry')
|