mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
9768be95eb
In bug 922912, we folded back gkmedias.dll info xul.dll, so in practice, there is no default configuration left that exercises GKMEDIAS_SHARED_LIBRARY. And sure enough, it's been broken for months in many different ways. The gkmedias intermediate library is however kept for webrtc signaling tests.
115 lines
3.1 KiB
Python
115 lines
3.1 KiB
Python
# -*- Mode: python; c-basic-offset: 4; 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', 'Video/Audio')
|
|
|
|
EXPORTS.opus += [
|
|
'include/opus.h',
|
|
'include/opus_defines.h',
|
|
'include/opus_multistream.h',
|
|
'include/opus_types.h',
|
|
]
|
|
|
|
# We allow warnings for third-party code that can be updated from upstream.
|
|
ALLOW_COMPILER_WARNINGS = True
|
|
|
|
FINAL_LIBRARY = 'gkmedias'
|
|
|
|
DEFINES['OPUS_BUILD'] = True
|
|
DEFINES['OPUS_VERSION'] = '"v1.1-mozilla"'
|
|
DEFINES['USE_ALLOCA'] = True
|
|
|
|
# Don't export symbols
|
|
DEFINES['OPUS_EXPORT'] = ''
|
|
|
|
if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_AS']:
|
|
DEFINES['OPUS_ARM_ASM'] = True
|
|
DEFINES['OPUS_ARM_EXTERNAL_ASM'] = True
|
|
DEFINES['OPUS_ARM_INLINE_ASM'] = True
|
|
if int(CONFIG['ARM_ARCH']) >= 6:
|
|
DEFINES['OPUS_ARM_INLINE_EDSP'] = True
|
|
DEFINES['OPUS_ARM_MAY_HAVE_EDSP'] = True
|
|
DEFINES['OPUS_ARM_MAY_HAVE_MEDIA'] = True
|
|
DEFINES['OPUS_ARM_MAY_HAVE_NEON'] = True
|
|
|
|
if CONFIG['MOZ_DEBUG']:
|
|
DEFINES['ENABLE_ASSERTIONS'] = True
|
|
|
|
if CONFIG['OS_ARCH'] in ('Linux', 'Darwin', 'DragonFly', 'FreeBSD',
|
|
'NetBSD', 'OpenBSD'):
|
|
DEFINES['HAVE_LRINTF'] = True
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
DEFINES['inline'] = '__inline'
|
|
if CONFIG['GNU_CC']:
|
|
DEFINES['HAVE_LRINTF'] = True
|
|
|
|
if CONFIG['OS_ARCH'] == 'AIX':
|
|
DEFINES['alloca'] = '__alloca'
|
|
|
|
if CONFIG['OS_ARCH'] == 'SunOS':
|
|
DEFINES['HAVE_ALLOCA_H'] = True
|
|
|
|
if not CONFIG['MOZ_SAMPLE_TYPE_FLOAT32']:
|
|
DEFINES['FIXED_POINT'] = 1
|
|
DEFINES['DISABLE_FLOAT_API'] = True
|
|
|
|
LOCAL_INCLUDES += [
|
|
'celt',
|
|
'include',
|
|
'silk',
|
|
'src',
|
|
]
|
|
|
|
# sources.mozbuild is generated from gen-sources.py when a new libopus is
|
|
# imported.
|
|
include('sources.mozbuild')
|
|
|
|
UNIFIED_SOURCES += celt_sources
|
|
SOURCES += celt_nonunified_sources
|
|
UNIFIED_SOURCES += silk_sources
|
|
UNIFIED_SOURCES += opus_sources
|
|
|
|
if CONFIG['MOZ_SAMPLE_TYPE_FLOAT32']:
|
|
LOCAL_INCLUDES += [
|
|
'silk/float',
|
|
]
|
|
UNIFIED_SOURCES += silk_sources_float
|
|
UNIFIED_SOURCES += opus_sources_float
|
|
else:
|
|
LOCAL_INCLUDES += [
|
|
'silk/fixed',
|
|
]
|
|
UNIFIED_SOURCES += silk_sources_fixed
|
|
# for webrtc
|
|
UNIFIED_SOURCES += opus_sources_float
|
|
|
|
if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_AS']:
|
|
SOURCES += celt_sources_arm
|
|
SOURCES += [
|
|
'!celt_pitch_xcorr_arm-gnu.%s' % CONFIG['ASM_SUFFIX']
|
|
]
|
|
# -Os is significantly slower, enable -O3 unless optimization is disabled
|
|
if CONFIG['MOZ_OPTIMIZE']:
|
|
CFLAGS += [
|
|
'-O3',
|
|
]
|
|
CXXFLAGS += [
|
|
'-O3',
|
|
]
|
|
# These flags are a lie; they're just used to enable the requisite
|
|
# opcodes; actual arch detection is done at runtime.
|
|
ASFLAGS += [
|
|
'-march=armv7-a',
|
|
'-mfpu=neon',
|
|
]
|
|
|
|
# Suppress warnings in third-party code.
|
|
if CONFIG['GNU_CC']:
|
|
if CONFIG['CLANG_CXX']:
|
|
CFLAGS += ['-Wno-\#pragma-messages']
|