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

EXPORTS += [
    'Atom.h',
    'AtomType.h',
    'Box.h',
    'BufferStream.h',
    'ByteStream.h',
    'DecoderData.h',
    'Index.h',
    'MoofParser.h',
    'MP4Decoder.h',
    'MP4Demuxer.h',
    'MP4Interval.h',
    'MP4Metadata.h',
    'ResourceStream.h',
    'SinfParser.h',
]

UNIFIED_SOURCES += [
    'Box.cpp',
    'BufferStream.cpp',
    'DecoderData.cpp',
    'Index.cpp',
    'MoofParser.cpp',
    'MP4Decoder.cpp',
    'MP4Metadata.cpp',
    'ResourceStream.cpp',
    'SinfParser.cpp',
]


SOURCES += [
    'MP4Demuxer.cpp',
]

FINAL_LIBRARY = 'xul'

# Supress warnnings for now.
if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
    CFLAGS += [
        '-wd4013', # 'function' undefined; assuming extern returning int
        '-wd4101', # unreferenced local variable
    ]
    CXXFLAGS += [
        '-wd4018', # '<' : signed/unsigned mismatch
        '-wd4275', # non dll-interface class used as base for dll-interface class
        '-wd4305', # '=' : truncation from 'double' to 'float'
        '-wd4309', # '=' : truncation of constant value
        '-wd4355', # 'this' : used in base member initializer list
        '-wd4804', # '>' : unsafe use of type 'bool' in operation
        '-wd4099', # mismatched class/struct tags
    ]
elif CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    CFLAGS += [
        '-Wno-comment',
        '-Wno-sign-compare',
        '-Wno-unused-function',
    ]
    CXXFLAGS += [
        '-Werror=format',
        '-Wno-multichar',
        '-Wno-sign-compare',
        '-Wno-unused',
    ]
    if CONFIG['CC_TYPE'] == 'clang':
        CXXFLAGS += [
            '-Wno-mismatched-tags',
            '-Wno-tautological-constant-out-of-range-compare',
            '-Wno-unreachable-code-return',
            '-Wno-implicit-fallthrough',
        ]
