summaryrefslogtreecommitdiff
path: root/toolkit/components/telemetry/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/telemetry/moz.build')
-rw-r--r--toolkit/components/telemetry/moz.build130
1 files changed, 130 insertions, 0 deletions
diff --git a/toolkit/components/telemetry/moz.build b/toolkit/components/telemetry/moz.build
new file mode 100644
index 0000000000..118d61b719
--- /dev/null
+++ b/toolkit/components/telemetry/moz.build
@@ -0,0 +1,130 @@
+# -*- 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',
+ 'TelemetryStopwatch.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')