summaryrefslogtreecommitdiffstats
path: root/media/ffvpx/ffvpxcommon.mozbuild
diff options
context:
space:
mode:
Diffstat (limited to 'media/ffvpx/ffvpxcommon.mozbuild')
-rw-r--r--media/ffvpx/ffvpxcommon.mozbuild75
1 files changed, 75 insertions, 0 deletions
diff --git a/media/ffvpx/ffvpxcommon.mozbuild b/media/ffvpx/ffvpxcommon.mozbuild
new file mode 100644
index 0000000000..e1220e77a3
--- /dev/null
+++ b/media/ffvpx/ffvpxcommon.mozbuild
@@ -0,0 +1,75 @@
+# -*- 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/.
+
+# Add assembler flags and includes
+if CONFIG['CPU_ARCH'] != 'aarch64':
+ ASFLAGS += CONFIG['FFVPX_ASFLAGS']
+ ASFLAGS += ['-I%s/media/ffvpx/' % TOPSRCDIR]
+ ASFLAGS += ['-I%s/media/ffvpx/libavcodec/x86/' % TOPSRCDIR]
+ ASFLAGS += ['-I%s/media/ffvpx/libavutil/x86/' % TOPSRCDIR]
+
+if CONFIG['FFVPX_ASFLAGS']:
+ if CONFIG['FFVPX_USE_YASM']:
+ USE_YASM = True
+
+ if CONFIG['OS_ARCH'] == 'WINNT':
+ # Fix inline symbols and math defines for windows.
+ DEFINES['_USE_MATH_DEFINES'] = True
+ DEFINES['inline'] = "__inline"
+
+ if USE_YASM and not CONFIG['YASM_HAS_AVX2']:
+ DEFINES['YASM_MISSING_AVX2'] = True
+
+
+LOCAL_INCLUDES += ['/media/ffvpx']
+
+# We allow warnings for third-party code that can be updated from upstream.
+AllowCompilerWarnings()
+
+# Suppress warnings in third-party code.
+CFLAGS += [
+ '-Wno-parentheses',
+ '-Wno-pointer-sign',
+ '-Wno-sign-compare',
+ '-Wno-switch',
+ '-Wno-type-limits',
+ '-Wno-unused-function',
+ # XXX This does not seem to have any effect on some versions of GCC.
+ '-Wno-deprecated-declarations',
+]
+if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+ CFLAGS += [
+ '-Wno-absolute-value',
+ '-Wno-incompatible-pointer-types',
+ '-Wno-string-conversion',
+ '-Wno-visibility',
+ ]
+ if CONFIG['CC_TYPE'] == 'clang-cl':
+ CFLAGS += [
+ '-Wno-inconsistent-dllimport',
+ '-Wno-macro-redefined', # 'WIN32_LEAN_AND_MEAN' macro redefined
+ ]
+else:
+ CFLAGS += [
+ '-Wno-discarded-qualifiers',
+ '-Wno-maybe-uninitialized',
+ ]
+if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
+ # Force visibility of cpu and av_log symbols.
+ CFLAGS += ['-include', 'libavutil_visibility.h']
+if CONFIG['CC_TYPE'] == 'clang-cl':
+ LOCAL_INCLUDES += ['/media/ffvpx/compat/atomics/win32']
+DEFINES['HAVE_AV_CONFIG_H'] = 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
+
+# Add libFuzzer configuration directives
+include('/tools/fuzzing/libfuzzer-config.mozbuild')