summaryrefslogtreecommitdiffstats
path: root/media/libcubeb/src/moz.build
blob: d7d05b5867dee36891210f65e6bd265e09c18946 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# -*- 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/.

DEFINES['CUBEB_GECKO_BUILD'] = True

Library('cubeb')

SOURCES += [
    'cubeb.c',
    'cubeb_log.cpp',
    'cubeb_mixer.cpp',
    'cubeb_strings.c',
    'cubeb_utils.cpp'
]

if CONFIG['MOZ_ALSA']:
    SOURCES += [
        'cubeb_alsa.c',
    ]
    DEFINES['USE_ALSA'] = True

if CONFIG['MOZ_SUNAUDIO']:
    SOURCES += [
        'cubeb_sun.c',
    ]
    DEFINES['USE_SUN'] = True

if (
    CONFIG["MOZ_PULSEAUDIO"]
    or CONFIG["MOZ_JACK"]
    or CONFIG["MOZ_AAUDIO"]
    or CONFIG["MOZ_OPENSL"]
    or CONFIG["MOZ_AUDIOUNIT_RUST"]
    or CONFIG["MOZ_WASAPI"]
):
    SOURCES += [
        'cubeb_resampler.cpp',
    ]

if CONFIG['MOZ_PULSEAUDIO']:
    DEFINES['USE_PULSE_RUST'] = True

if CONFIG['MOZ_JACK']:
    SOURCES += [
        'cubeb_jack.cpp',
    ]
    USE_LIBS += [
        'speex',
    ]
    DEFINES['USE_JACK'] = True

if CONFIG['MOZ_OSS']:
    SOURCES += [
        'cubeb_oss.c',
    ]
    DEFINES['USE_OSS'] = True

if CONFIG['MOZ_SNDIO']:
    SOURCES += [
        'cubeb_sndio.c',
    ]
    DEFINES['USE_SNDIO'] = True
    if CONFIG['OS_ARCH'] == 'OpenBSD':
        DEFINES['DISABLE_LIBSNDIO_DLOPEN'] = True

if CONFIG['MOZ_AUDIOUNIT_RUST']:
    SOURCES += [
        'cubeb_audiounit.cpp',
    ]
    if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
        SOURCES += [
            'cubeb_osx_run_loop.c',
        ]
    DEFINES['USE_AUDIOUNIT'] = True
    DEFINES['USE_AUDIOUNIT_RUST'] = True

if CONFIG['MOZ_WASAPI']:
    SOURCES += [
        'cubeb_wasapi.cpp',
        'cubeb_winmm.c',
    ]
    DEFINES['UNICODE'] = True
    DEFINES['USE_WINMM'] = True
    DEFINES['USE_WASAPI'] = True
    OS_LIBS += [
      "avrt",
      "ksuser",
    ]

if CONFIG['MOZ_AAUDIO'] or CONFIG['MOZ_OPENSL']:
    SOURCES += ['cubeb-jni.cpp']

if CONFIG['MOZ_AAUDIO']:
    SOURCES += ['cubeb_aaudio.cpp']
    SOURCES['cubeb_aaudio.cpp'].flags += ['-D__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__']
    DEFINES['USE_AAUDIO'] = True

if CONFIG['MOZ_OPENSL']:
    SOURCES += ['cubeb_opensl.cpp']
    DEFINES['USE_OPENSL'] = True

FINAL_LIBRARY = 'gkmedias'

if CONFIG['MOZ_ALSA']:
    CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']

CFLAGS += CONFIG['MOZ_JACK_CFLAGS']
CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']

# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()