2016-07-14 19:16:42 +03:00
|
|
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
2013-02-26 01:19:09 +04:00
|
|
|
# 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/.
|
|
|
|
|
2015-02-26 01:54:33 +03:00
|
|
|
HAS_MISC_RULE = True
|
|
|
|
|
2016-11-18 17:51:58 +03:00
|
|
|
include('/ipc/chromium/chromium-config.mozbuild')
|
|
|
|
|
|
|
|
FINAL_LIBRARY = 'xul'
|
|
|
|
|
2017-01-16 19:39:22 +03:00
|
|
|
DIRS = [
|
|
|
|
'pingsender',
|
|
|
|
]
|
|
|
|
|
2016-11-18 17:51:58 +03:00
|
|
|
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']
|
|
|
|
|
2016-12-19 04:42:00 +03:00
|
|
|
if CONFIG['ENABLE_TESTS']:
|
|
|
|
DIRS += ['tests/gtest']
|
|
|
|
|
2017-02-18 17:17:30 +03:00
|
|
|
TEST_DIRS += ['tests']
|
|
|
|
|
2014-02-07 01:00:20 +04:00
|
|
|
XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
|
2016-10-20 01:47:07 +03:00
|
|
|
BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
|
2013-03-12 21:17:46 +04:00
|
|
|
|
|
|
|
XPIDL_SOURCES += [
|
|
|
|
'nsITelemetry.idl',
|
|
|
|
]
|
|
|
|
|
2013-11-19 06:47:43 +04:00
|
|
|
XPIDL_MODULE = 'telemetry'
|
2013-03-19 22:47:00 +04:00
|
|
|
|
2013-04-16 23:24:43 +04:00
|
|
|
EXPORTS.mozilla += [
|
2016-11-18 17:51:58 +03:00
|
|
|
'!TelemetryEventEnums.h',
|
2016-01-24 10:19:45 +03:00
|
|
|
'!TelemetryHistogramEnums.h',
|
2017-05-23 09:43:35 +03:00
|
|
|
'!TelemetryProcessEnums.h',
|
2016-06-24 10:14:00 +03:00
|
|
|
'!TelemetryScalarEnums.h',
|
2017-06-13 18:14:54 +03:00
|
|
|
'CombinedStacks.h',
|
2017-02-15 18:25:40 +03:00
|
|
|
'ipc/TelemetryComms.h',
|
|
|
|
'ipc/TelemetryIPC.h',
|
2013-04-16 23:24:43 +04:00
|
|
|
'ProcessedStack.h',
|
|
|
|
'Telemetry.h',
|
|
|
|
]
|
|
|
|
|
2013-10-25 03:23:05 +04:00
|
|
|
SOURCES += [
|
2017-06-01 10:36:51 +03:00
|
|
|
'CombinedStacks.cpp',
|
|
|
|
'HangReports.cpp',
|
2017-02-15 18:25:40 +03:00
|
|
|
'ipc/TelemetryIPC.cpp',
|
|
|
|
'ipc/TelemetryIPCAccumulator.cpp',
|
2017-06-10 20:34:44 +03:00
|
|
|
'ProcessedStack.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
'Telemetry.cpp',
|
2016-06-25 02:01:00 +03:00
|
|
|
'TelemetryCommon.cpp',
|
2016-11-18 17:51:58 +03:00
|
|
|
'TelemetryEvent.cpp',
|
2016-05-17 16:05:19 +03:00
|
|
|
'TelemetryHistogram.cpp',
|
2017-06-16 00:42:00 +03:00
|
|
|
'TelemetryIOInterposeObserver.cpp',
|
2016-06-25 02:01:00 +03:00
|
|
|
'TelemetryScalar.cpp',
|
2015-10-09 00:44:50 +03:00
|
|
|
'WebrtcTelemetry.cpp',
|
2013-04-24 01:54:15 +04:00
|
|
|
]
|
|
|
|
|
2017-06-10 20:59:16 +03:00
|
|
|
# KeyedStackCapturer entirely relies on profiler to be enabled.
|
|
|
|
if CONFIG['MOZ_GECKO_PROFILER']:
|
|
|
|
SOURCES += [
|
|
|
|
'KeyedStackCapturer.cpp'
|
|
|
|
]
|
|
|
|
|
2013-06-10 19:19:28 +04:00
|
|
|
EXTRA_COMPONENTS += [
|
2014-01-13 18:20:09 +04:00
|
|
|
'TelemetryStartup.js',
|
|
|
|
'TelemetryStartup.manifest'
|
2013-06-14 22:07:19 +04:00
|
|
|
]
|
2013-06-22 09:11:12 +04:00
|
|
|
|
2013-06-17 23:22:56 +04:00
|
|
|
EXTRA_JS_MODULES += [
|
2016-10-20 01:47:07 +03:00
|
|
|
'GCTelemetry.jsm',
|
2015-04-23 20:22:28 +03:00
|
|
|
'TelemetryArchive.jsm',
|
2015-10-14 05:50:30 +03:00
|
|
|
'TelemetryController.jsm',
|
|
|
|
'TelemetryEnvironment.jsm',
|
2017-07-25 18:19:31 +03:00
|
|
|
'TelemetryHealthPing.jsm',
|
2014-03-14 17:24:02 +04:00
|
|
|
'TelemetryLog.jsm',
|
2017-02-18 17:17:30 +03:00
|
|
|
'TelemetryModules.jsm',
|
2015-06-26 17:31:00 +03:00
|
|
|
'TelemetryReportingPolicy.jsm',
|
2015-06-05 21:29:19 +03:00
|
|
|
'TelemetrySend.jsm',
|
2015-10-01 11:18:10 +03:00
|
|
|
'TelemetrySession.jsm',
|
2013-06-17 23:22:56 +04:00
|
|
|
'TelemetryStopwatch.jsm',
|
2015-04-23 20:22:28 +03:00
|
|
|
'TelemetryStorage.jsm',
|
2015-11-08 18:25:00 +03:00
|
|
|
'TelemetryTimestamps.jsm',
|
2015-05-06 13:54:12 +03:00
|
|
|
'TelemetryUtils.jsm',
|
2013-06-17 23:22:56 +04:00
|
|
|
'ThirdPartyCookieProbe.jsm',
|
2014-04-30 03:15:07 +04:00
|
|
|
'UITelemetry.jsm',
|
2017-07-12 13:12:18 +03:00
|
|
|
'UpdatePing.jsm',
|
2013-12-18 23:37:49 +04:00
|
|
|
]
|
|
|
|
|
2015-03-31 00:48:11 +03:00
|
|
|
TESTING_JS_MODULES += [
|
|
|
|
'tests/unit/TelemetryArchiveTesting.jsm',
|
|
|
|
]
|
|
|
|
|
2017-07-16 20:11:10 +03:00
|
|
|
PYTHON_UNITTEST_MANIFESTS += [
|
|
|
|
'tests/python/python.ini',
|
|
|
|
]
|
|
|
|
|
2013-11-22 03:16:18 +04:00
|
|
|
GENERATED_FILES = [
|
2016-11-18 17:51:58 +03:00
|
|
|
'TelemetryEventData.h',
|
|
|
|
'TelemetryEventEnums.h',
|
2013-11-22 03:16:18 +04:00
|
|
|
'TelemetryHistogramData.inc',
|
2015-06-02 21:46:19 +03:00
|
|
|
'TelemetryHistogramEnums.h',
|
2017-05-23 09:43:35 +03:00
|
|
|
'TelemetryProcessData.h',
|
|
|
|
'TelemetryProcessEnums.h',
|
2016-06-24 10:14:00 +03:00
|
|
|
'TelemetryScalarData.h',
|
|
|
|
'TelemetryScalarEnums.h',
|
2013-11-22 03:16:18 +04:00
|
|
|
]
|
2013-11-27 17:55:07 +04:00
|
|
|
|
2016-11-18 17:51:58 +03:00
|
|
|
# Generate histogram files.
|
2015-06-02 21:46:19 +03:00
|
|
|
histogram_files = [
|
|
|
|
'Histograms.json',
|
|
|
|
'/dom/base/UseCounters.conf',
|
2015-06-17 19:28:26 +03:00
|
|
|
'/dom/base/nsDeprecatedOperationList.h',
|
2015-06-02 21:46:19 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
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
|
|
|
|
|
2016-11-18 17:51:58 +03:00
|
|
|
# Generate scalar files.
|
2016-06-24 10:14:00 +03:00
|
|
|
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
|
|
|
|
|
2016-11-18 17:51:58 +03:00
|
|
|
# Generate event files.
|
|
|
|
event_files = [
|
|
|
|
'Events.yaml',
|
2014-02-16 00:24:59 +04:00
|
|
|
]
|
|
|
|
|
2016-11-18 17:51:58 +03:00
|
|
|
event_data = GENERATED_FILES['TelemetryEventData.h']
|
|
|
|
event_data.script = 'gen-event-data.py'
|
|
|
|
event_data.inputs = event_files
|
2016-05-11 10:00:01 +03:00
|
|
|
|
2016-11-18 17:51:58 +03:00
|
|
|
event_enums = GENERATED_FILES['TelemetryEventEnums.h']
|
|
|
|
event_enums.script = 'gen-event-enum.py'
|
|
|
|
event_enums.inputs = event_files
|
2016-10-18 17:27:35 +03:00
|
|
|
|
2017-05-23 09:43:35 +03:00
|
|
|
# Generate data from Processes.yaml
|
|
|
|
processes_files = [
|
|
|
|
'Processes.yaml',
|
|
|
|
]
|
|
|
|
|
|
|
|
processes_enum = GENERATED_FILES['TelemetryProcessEnums.h']
|
|
|
|
processes_enum.script = 'gen-process-enum.py'
|
|
|
|
processes_enum.inputs = processes_files
|
|
|
|
|
|
|
|
processes_data = GENERATED_FILES['TelemetryProcessData.h']
|
|
|
|
processes_data.script = 'gen-process-data.py'
|
|
|
|
processes_data.inputs = processes_files
|
|
|
|
|
2016-10-18 17:27:35 +03:00
|
|
|
with Files('**'):
|
|
|
|
BUG_COMPONENT = ('Toolkit', 'Telemetry')
|