# -*- 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')