mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 13:51:41 +00:00
5de63ef061
MozReview-Commit-ID: 5orfnoude7h --HG-- extra : rebase_source : 1ed9a6b56e1d27221a07624767a7fb0e6147117f
80 lines
2.3 KiB
Python
80 lines
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")
|