media/libav/moz.build
author Daniel Holbert <dholbert@cs.stanford.edu>
Tue, 30 Jan 2018 22:24:58 -0500
branchSEAMONKEY_2_49_ESR_RELBRANCH
changeset 357576 3a4afe7ecac570decfb1d388eee2682d5d15dbc8
parent 347178 acc5fe1c96b3189b730754c6de2ab9c79bef5da4
permissions -rw-r--r--
Bug 958714 part 3: Remove obsolete assertion & comment. r=mats a=IanN DONTBUILD CLOSED TREE SeaMonkey ESR52 release branch only. MozReview-Commit-ID: jL2Xi4Okhb

# -*- 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/.

# 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")