1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2# vim: set filetype=python: 3# This Source Code Form is subject to the terms of the Mozilla Public 4# License, v. 2.0. If a copy of the MPL was not distributed with this 5# file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7with Files("*"): 8 BUG_COMPONENT = ("Core", "Web Audio") 9 10DIRS += ["blink"] 11 12MOCHITEST_MANIFESTS += [ 13 "test/blink/mochitest.ini", 14 "test/mochitest.ini", 15] 16 17TEST_HARNESS_FILES.testing.mochitest.tests.dom.media.webaudio.test.blink += [ 18 "test/blink/audio-testing.js", 19 "test/blink/convolution-testing.js", 20 "test/blink/panner-model-testing.js", 21] 22 23EXPORTS += [ 24 "AlignedTArray.h", 25 "AudioBlock.h", 26 "AudioEventTimeline.h", 27 "AudioNodeEngine.h", 28 "AudioNodeExternalInputTrack.h", 29 "AudioNodeTrack.h", 30 "AudioParamTimeline.h", 31 "MediaBufferDecoder.h", 32 "ThreeDPoint.h", 33 "WebAudioUtils.h", 34] 35 36EXPORTS.mozilla += [ 37 "FFTBlock.h", 38 "MediaStreamAudioDestinationNode.h", 39] 40 41EXPORTS.mozilla.dom += [ 42 "AnalyserNode.h", 43 "AudioBuffer.h", 44 "AudioBufferSourceNode.h", 45 "AudioContext.h", 46 "AudioDestinationNode.h", 47 "AudioListener.h", 48 "AudioNode.h", 49 "AudioParam.h", 50 "AudioParamDescriptorMap.h", 51 "AudioParamMap.h", 52 "AudioProcessingEvent.h", 53 "AudioScheduledSourceNode.h", 54 "AudioWorkletGlobalScope.h", 55 "AudioWorkletNode.h", 56 "AudioWorkletProcessor.h", 57 "BiquadFilterNode.h", 58 "ChannelMergerNode.h", 59 "ChannelSplitterNode.h", 60 "ConstantSourceNode.h", 61 "ConvolverNode.h", 62 "DelayNode.h", 63 "DynamicsCompressorNode.h", 64 "GainNode.h", 65 "IIRFilterNode.h", 66 "MediaElementAudioSourceNode.h", 67 "MediaStreamAudioDestinationNode.h", 68 "MediaStreamAudioSourceNode.h", 69 "MediaStreamTrackAudioSourceNode.h", 70 "OscillatorNode.h", 71 "PannerNode.h", 72 "PeriodicWave.h", 73 "ScriptProcessorNode.h", 74 "StereoPannerNode.h", 75 "WaveShaperNode.h", 76] 77 78UNIFIED_SOURCES += [ 79 "AnalyserNode.cpp", 80 "AudioBlock.cpp", 81 "AudioBuffer.cpp", 82 "AudioBufferSourceNode.cpp", 83 "AudioContext.cpp", 84 "AudioDestinationNode.cpp", 85 "AudioEventTimeline.cpp", 86 "AudioListener.cpp", 87 "AudioNode.cpp", 88 "AudioNodeEngine.cpp", 89 "AudioNodeExternalInputTrack.cpp", 90 "AudioNodeTrack.cpp", 91 "AudioParam.cpp", 92 "AudioParamMap.cpp", 93 "AudioProcessingEvent.cpp", 94 "AudioScheduledSourceNode.cpp", 95 "AudioWorkletGlobalScope.cpp", 96 "AudioWorkletImpl.cpp", 97 "AudioWorkletNode.cpp", 98 "AudioWorkletProcessor.cpp", 99 "BiquadFilterNode.cpp", 100 "ChannelMergerNode.cpp", 101 "ChannelSplitterNode.cpp", 102 "ConstantSourceNode.cpp", 103 "ConvolverNode.cpp", 104 "DelayBuffer.cpp", 105 "DelayNode.cpp", 106 "DynamicsCompressorNode.cpp", 107 "FFTBlock.cpp", 108 "GainNode.cpp", 109 "IIRFilterNode.cpp", 110 "MediaBufferDecoder.cpp", 111 "MediaElementAudioSourceNode.cpp", 112 "MediaStreamAudioDestinationNode.cpp", 113 "MediaStreamAudioSourceNode.cpp", 114 "MediaStreamTrackAudioSourceNode.cpp", 115 "OscillatorNode.cpp", 116 "PannerNode.cpp", 117 "PeriodicWave.cpp", 118 "ScriptProcessorNode.cpp", 119 "StereoPannerNode.cpp", 120 "ThreeDPoint.cpp", 121 "WaveShaperNode.cpp", 122 "WebAudioUtils.cpp", 123] 124 125if CONFIG["CPU_ARCH"] == "aarch64" or CONFIG["BUILD_ARM_NEON"]: 126 DEFINES["USE_NEON"] = True 127 SOURCES += ["AudioNodeEngineNEON.cpp"] 128 SOURCES["AudioNodeEngineNEON.cpp"].flags += CONFIG["NEON_FLAGS"] 129 if CONFIG["BUILD_ARM_NEON"]: 130 LOCAL_INCLUDES += ["/media/openmax_dl/dl/api/"] 131 132# Are we targeting x86 or x64? If so, build SSE2 files. 133if CONFIG["INTEL_ARCHITECTURE"]: 134 SOURCES += ["AudioNodeEngineSSE2.cpp"] 135 DEFINES["USE_SSE2"] = True 136 SOURCES["AudioNodeEngineSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"] 137 138# Allow outputing trace points from Web Audio API code 139DEFINES["TRACING"] = True 140 141include("/ipc/chromium/chromium-config.mozbuild") 142 143FINAL_LIBRARY = "xul" 144LOCAL_INCLUDES += [".."] 145 146if CONFIG["CC_TYPE"] in ("clang", "gcc"): 147 CXXFLAGS += ["-Wno-error=shadow"] 148