1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# -*- 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/.
EXPORTS.soundtouch += [
'FIFOSamplePipe.h',
'SoundTouch.h',
'soundtouch_config.h',
'SoundTouchFactory.h',
'STTypes.h',
]
UNIFIED_SOURCES += [
'AAFilter.cpp',
'cpu_detect_x86.cpp',
'FIFOSampleBuffer.cpp',
'FIRFilter.cpp',
'InterpolateCubic.cpp',
'InterpolateLinear.cpp',
'InterpolateShannon.cpp',
'RateTransposer.cpp',
'SoundTouch.cpp',
'SoundTouchFactory.cpp',
'TDStretch.cpp',
]
if CONFIG['INTEL_ARCHITECTURE']:
if CONFIG['MOZ_SAMPLE_TYPE_FLOAT32']:
SOURCES += ['sse_optimized.cpp']
SOURCES['sse_optimized.cpp'].flags += CONFIG['SSE2_FLAGS']
else:
SOURCES += ['mmx_optimized.cpp']
SOURCES['mmx_optimized.cpp'].flags += CONFIG['MMX_FLAGS']
if CONFIG['OS_ARCH'] != 'WINNT':
# GCC/Clang require permissions to be explicitly set for the soundtouch
# header.
CXXFLAGS += ['-include', SRCDIR + '/soundtouch_perms.h']
else:
# Windows need alloca renamed to _alloca
DEFINES['alloca'] = '_alloca'
DEFINES['BUILDING_SOUNDTOUCH'] = 1
# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()
FINAL_LIBRARY = 'lgpllibs'
# Use abort() instead of exception in SoundTouch.
DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1
|