Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
with Files("*"):
BUG_COMPONENT = ("Core", "Web Audio")
DIRS += ["blink"]
MOCHITEST_MANIFESTS += [
"test/blink/mochitest.toml",
"test/mochitest.toml",
"test/mochitest_audio.toml",
"test/mochitest_bugs.toml",
"test/mochitest_media.toml",
]
TEST_HARNESS_FILES.testing.mochitest.tests.dom.media.webaudio.test.blink += [
"test/blink/audio-testing.js",
"test/blink/convolution-testing.js",
"test/blink/panner-model-testing.js",
]
EXPORTS += [
"AlignedTArray.h",
"AudioBlock.h",
"AudioEventTimeline.h",
"AudioNodeEngine.h",
"AudioNodeExternalInputTrack.h",
"AudioNodeTrack.h",
"AudioParamTimeline.h",
"MediaBufferDecoder.h",
"ThreeDPoint.h",
"WebAudioUtils.h",
]
EXPORTS.mozilla += [
"FFTBlock.h",
"MediaStreamAudioDestinationNode.h",
]
EXPORTS.mozilla.dom += [
"AnalyserNode.h",
"AudioBuffer.h",
"AudioBufferSourceNode.h",
"AudioContext.h",
"AudioDestinationNode.h",
"AudioListener.h",
"AudioNode.h",
"AudioParam.h",
"AudioParamDescriptorMap.h",
"AudioParamMap.h",
"AudioProcessingEvent.h",
"AudioScheduledSourceNode.h",
"AudioWorkletGlobalScope.h",
"AudioWorkletNode.h",
"AudioWorkletProcessor.h",
"BiquadFilterNode.h",
"ChannelMergerNode.h",
"ChannelSplitterNode.h",
"ConstantSourceNode.h",
"ConvolverNode.h",
"DelayNode.h",
"DynamicsCompressorNode.h",
"GainNode.h",
"IIRFilterNode.h",
"MediaElementAudioSourceNode.h",
"MediaStreamAudioDestinationNode.h",
"MediaStreamAudioSourceNode.h",
"MediaStreamTrackAudioSourceNode.h",
"OscillatorNode.h",
"PannerNode.h",
"PeriodicWave.h",
"ScriptProcessorNode.h",
"StereoPannerNode.h",
"WaveShaperNode.h",
]
UNIFIED_SOURCES += [
"AnalyserNode.cpp",
"AudioBlock.cpp",
"AudioBuffer.cpp",
"AudioBufferSourceNode.cpp",
"AudioContext.cpp",
"AudioDestinationNode.cpp",
"AudioEventTimeline.cpp",
"AudioListener.cpp",
"AudioNode.cpp",
"AudioNodeEngine.cpp",
"AudioNodeExternalInputTrack.cpp",
"AudioNodeTrack.cpp",
"AudioParam.cpp",
"AudioParamMap.cpp",
"AudioProcessingEvent.cpp",
"AudioScheduledSourceNode.cpp",
"AudioWorkletGlobalScope.cpp",
"AudioWorkletImpl.cpp",
"AudioWorkletNode.cpp",
"AudioWorkletProcessor.cpp",
"BiquadFilterNode.cpp",
"ChannelMergerNode.cpp",
"ChannelSplitterNode.cpp",
"ConstantSourceNode.cpp",
"ConvolverNode.cpp",
"DelayBuffer.cpp",
"DelayNode.cpp",
"DynamicsCompressorNode.cpp",
"FFTBlock.cpp",
"GainNode.cpp",
"IIRFilterNode.cpp",
"MediaBufferDecoder.cpp",
"MediaElementAudioSourceNode.cpp",
"MediaStreamAudioDestinationNode.cpp",
"MediaStreamAudioSourceNode.cpp",
"MediaStreamTrackAudioSourceNode.cpp",
"OscillatorNode.cpp",
"PannerNode.cpp",
"PeriodicWave.cpp",
"ScriptProcessorNode.cpp",
"StereoPannerNode.cpp",
"ThreeDPoint.cpp",
"WaveShaperNode.cpp",
"WebAudioUtils.cpp",
]
if CONFIG["TARGET_CPU"] == "aarch64" or CONFIG["BUILD_ARM_NEON"]:
DEFINES["USE_NEON"] = True
LOCAL_INCLUDES += ["/third_party/xsimd/include"]
SOURCES += ["AudioNodeEngineNEON.cpp"]
SOURCES["AudioNodeEngineNEON.cpp"].flags += CONFIG["NEON_FLAGS"]
# Are we targeting x86 or x64? If so, build SSEX files.
if CONFIG["INTEL_ARCHITECTURE"]:
DEFINES["USE_SSE2"] = True
SOURCES += ["AudioNodeEngineSSE2.cpp"]
LOCAL_INCLUDES += ["/third_party/xsimd/include"]
SOURCES["AudioNodeEngineSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
if CONFIG["SSE4_2_FLAGS"] and CONFIG["FMA_FLAGS"]:
DEFINES["USE_SSE4_2"] = True
DEFINES["USE_FMA3"] = True
SOURCES += ["AudioNodeEngineSSE4_2_FMA3.cpp"]
SOURCES["AudioNodeEngineSSE4_2_FMA3.cpp"].flags += (
CONFIG["SSE4_2_FLAGS"] + CONFIG["FMA_FLAGS"]
)
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [".."]