media/ffvpx/ffvpxcommon.mozbuild
author Jean-Yves Avenard <jyavenard@mozilla.com>
Thu, 10 Mar 2016 15:02:40 +1100
changeset 323723 234a58549e11fa481e9e0821f1775600e4ade38b
parent 315771 c2538cf8b8dd6d7c53b640ccf3f5d1a769e5ed1d
child 326443 116882b45609d0ceac5cb80fe71c04889e6ec187
permissions -rw-r--r--
Bug 1254858: P7. Add logging if libmozav can't be found. r=kentuckyfriedtakahe a=ritu MozReview-Commit-ID: C4m54MMJdr

# -*- Mode: python; c-basic-offset: 4; 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
ASFLAGS += CONFIG['FFVPX_ASFLAGS']
ASFLAGS += ['-I%s/media/ffvpx' % TOPSRCDIR]

if CONFIG['FFVPX_AS']:
    if CONFIG['OS_ARCH'] == 'WINNT':
       # Fix inline symbols and math defines for windows.
        DEFINES['_USE_MATH_DEFINES'] = True
        DEFINES['inline'] = "__inline"
        # 32-bit windows need to prefix symbols with an underscore.
        if CONFIG['CPU_ARCH'] == 'x86':
            ASFLAGS += ['-DPREFIX']
            ASFLAGS += ['-Pconfig_win32.asm']
        else:
            ASFLAGS += ['-Pconfig_win64.asm']
    elif CONFIG['OS_ARCH'] == 'Darwin':
        # 32/64-bit macosx assemblers need to prefix symbols with an underscore.
        ASFLAGS += [
            '-Pconfig_darwin64.asm',
            '-DPREFIX'
        ]
    else:
        # Default to unix, similar to how ASFLAGS setup works in configure.in
        ASFLAGS += ['-Pconfig_unix64.asm']

LOCAL_INCLUDES += ['/media/ffvpx']

# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
# Suppress warnings in third-party code.
if CONFIG['GNU_CC']:
    CFLAGS += [
        '-Wno-parentheses',
        '-Wno-pointer-sign',
        '-Wno-sign-compare',
        '-Wno-switch',
        '-Wno-type-limits',
        '-Wno-unused-function',
        '-Wno-deprecated-declarations',
    ]
    if CONFIG['CLANG_CXX']:
        CFLAGS += [
            '-Wno-incompatible-pointer-types-discards-qualifiers',
            '-Wno-logical-op-parentheses',
        ]
    # Force visibility of cpu symbols
    CFLAGS += ['-include', 'cpu_perms.h']
elif CONFIG['_MSC_VER']:
    CFLAGS += [
        '-wd4090', # 'return' : different 'const' qualifiers
        '-wd4018', # '>' : signed/unsigned mismatch
        '-wd4305', # 'initializing' : truncation from '__int64' to 'double'
        '-wd4554', # '>>' : check operator precedence for possible error
        '-wd4307', # '+' : integral constant overflow'
        '-wd4028', # formal parameter 1 different from declaration
        '-wd4056', # overflow in floating-point constant arithmetic
        '-wd4756', # overflow in constant arithmetic
        '-wd4005', #'WIN32_LEAN_AND_MEAN' : macro redefinition
        '-wd4054', # 'type cast' : from function pointer 'FARPROC' to data pointer 'void *'
        '-wd4189', # local variable is initialized but not referenced
        '-wd4133', # 'function' : incompatible types - from 'AVSampleFormat *' to 'int *'
        '-wd4221', # nonstandard extension used
        '-wd4206', # nonstandard extension used
        '-wd4702', # unreachable code
        '-wd4101', # unreferenced local variable
        '-wd4245', # conversion from 'int' to 'uint32_t', signed/unsigned mismatch
        '-wd4703', # potentially uninitialized local pointer
        '-wd4293', # '<<' : shift count negative or too big, undefined behavior
        # from FFmpeg configure
        '-wd4244', '-wd4127', '-wd4018', '-wd4389', '-wd4146', '-wd4701',
        '-wd4057', '-wd4204', '-wd4706', '-wd4305', '-wd4152', '-wd4324',
        '-we4013', '-wd4100', '-wd4214', '-wd4307', '-wd4273', '-wd4554',
    ]
    if CONFIG['_MSC_VER'] < '1900':
        DEFINES['MSVC_2013_OR_LOWER'] = True
        DEFINES['snprintf'] = "avpriv_snprintf"
        DEFINES['_snprintf'] = "avpriv_snprintf"
        DEFINES['vsnprintf'] = "avpriv_vsnprintf"

DEFINES['HAVE_AV_CONFIG_H'] = True