media/libcubeb/src/moz.build
author Alex Chronopoulos <achronop@gmail.com>
Thu, 19 Jan 2017 18:02:42 +0200
changeset 358329 056197b55d495037138db1507583816efd574d87
parent 331422 43682f11a9cc57ef1076a29f5d5c8119de7cbfaf
permissions -rw-r--r--
Bug 1331869 - Update cubeb from upstream to d96e35f02d. r=kinetik,padenot MozReview-Commit-ID: 9H3cKh82Jwv

# -*- 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_mixer.cpp',
    'cubeb_panner.cpp'
]

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

if CONFIG['MOZ_PULSEAUDIO'] or CONFIG['MOZ_JACK']:
    SOURCES += [
        'cubeb_resampler.cpp',
    ]

if CONFIG['MOZ_PULSEAUDIO']:
    SOURCES += [
        'cubeb_pulse.c',
    ]
    DEFINES['USE_PULSE'] = True
    if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
        DEFINES['DISABLE_LIBPULSE_DLOPEN'] = True

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

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

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

if CONFIG['OS_TARGET'] == 'WINNT':
    SOURCES += [
        'cubeb_resampler.cpp',
        'cubeb_wasapi.cpp',
        'cubeb_winmm.c',
    ]
    DEFINES['USE_WINMM'] = True
    DEFINES['USE_WASAPI'] = True
    if CONFIG['_MSC_VER']:
        CXXFLAGS += ['-wd4005'] # C4005: '_USE_MATH_DEFINES' : macro redefinition

if CONFIG['OS_TARGET'] == 'Android':
    SOURCES += ['cubeb_opensl.c']
    SOURCES += ['cubeb_resampler.cpp']
    DEFINES['USE_OPENSL'] = True
    if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
        SOURCES += [
            'cubeb_audiotrack.c',
        ]
        DEFINES['USE_AUDIOTRACK'] = True

FINAL_LIBRARY = 'gkmedias'

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    if CONFIG['ANDROID_VERSION'] >= '17':
        LOCAL_INCLUDES += [
            '%' + '%s/frameworks/wilhelm/include' % CONFIG['ANDROID_SOURCE'],
        ]
    else:
        LOCAL_INCLUDES += [
            '%' + '%s/system/media/wilhelm/include' % CONFIG['ANDROID_SOURCE'],
        ]

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

# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True