gecko-dev/media/libav/moz.build

80 строки
2.3 KiB
Python

# -*- 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")
# Due to duplicate file names, we compile libavutil/x86/cpu.c in its own
# moz.build file.
DIRS += ['libavutil/x86']
EXPORTS.libavcodec += [
'libavcodec/avfft.h',
'libavcodec/fft.h'
]
EXPORTS.libavutil += [
'libavutil/mem.h'
]
# These sources can't be unified because of macro name conflicts or needing to
# compile asm files separately.
SOURCES += [
'libavcodec/avfft.c',
'libavcodec/fft_fixed.c',
'libavcodec/x86/fft.asm',
'libavutil/dict.c',
'libavutil/opt.c',
'libavutil/x86/cpuid.asm',
]
UNIFIED_SOURCES += [
'libavcodec/fft_float.c',
'libavcodec/rdft.c',
'libavcodec/x86/fft_init.c',
'libavutil/avstring.c',
'libavutil/cpu.c',
'libavutil/error.c',
'libavutil/eval.c',
'libavutil/file.c',
'libavutil/file_open.c',
'libavutil/intmath.c',
'libavutil/log.c',
'libavutil/log2_tab.c',
'libavutil/mathematics.c',
'libavutil/mem.c',
'libavutil/parseutils.c',
'libavutil/random_seed.c',
'libavutil/rational.c',
'libavutil/sha.c',
]
# Dummy functions are required for windows NoOpt/PGO builds.
if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
UNIFIED_SOURCES += [
'avfft_dummy_funcs.c'
]
# OS X requires a special header to make sure symbols are exported publicly in
# the lgpl shared library, since it does not yet use system headers. This is
# also used on linux for the time being, to avoid having to patch libav code.
#
# TODO: Remove header and patch libav once OS X supports system headers
if CONFIG['OS_ARCH'] != 'WINNT':
SOURCES['libavcodec/avfft.c'].flags += ['-include', 'avfft_perms.h']
# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()
if CONFIG['MOZ_DEBUG']:
# Enable all assertions in debug builds.
DEFINES['ASSERT_LEVEL'] = 2
elif not CONFIG['RELEASE_OR_BETA']:
# Enable fast assertions in opt builds of Nightly and Aurora.
DEFINES['ASSERT_LEVEL'] = 1
include("libavcommon.mozbuild")