# -*- 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/. with Files("*"): BUG_COMPONENT = ("Core", "Web Audio") DIRS += ["blink"] MOCHITEST_MANIFESTS += [ "test/blink/mochitest.ini", "test/mochitest.ini", "test/mochitest_audio.ini", "test/mochitest_bugs.ini", "test/mochitest_media.ini", ] 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["CPU_ARCH"] == "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"] if CONFIG["BUILD_ARM_NEON"]: LOCAL_INCLUDES += ["/media/openmax_dl/dl/api/"] # 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 += [".."]