Source code

Revision control

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
# 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_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
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 SSE2 files.
if CONFIG['INTEL_ARCHITECTURE']:
SOURCES += ['AudioNodeEngineSSE2.cpp']
DEFINES['USE_SSE2'] = True
SOURCES['AudioNodeEngineSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
# Allow outputing trace points from Web Audio API code
DEFINES['TRACING'] = True
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'..'
]
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']