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
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# 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/.
# 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['_MSC_VER']:
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.
ALLOW_COMPILER_WARNINGS = True
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")
|