diff options
Diffstat (limited to 'media/ffvpx/ffvpxcommon.mozbuild')
-rw-r--r-- | media/ffvpx/ffvpxcommon.mozbuild | 75 |
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') |