gecko-dev/media/libstagefright/moz.build

178 строки
5.9 KiB
Python

# -*- 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/.
with Files("**"):
BUG_COMPONENT = ("Core", "Audio/Video: Playback")
DEFINES['ANDROID_SMP'] = 0
DEFINES['LOG_NDEBUG'] = 1
if CONFIG['OS_TARGET'] != 'WINNT' and CONFIG['OS_TARGET'] != 'SunOS':
DEFINES['_GLIBCXX_OS_DEFINES'] = True
if CONFIG['OS_TARGET'] == 'WINNT':
if CONFIG['_MSC_VER']:
DEFINES['ssize_t'] = 'intptr_t'
DEFINES['off64_t'] = 'int64_t'
DEFINES['strcasecmp'] = 'stricmp'
DEFINES['strncasecmp'] = 'strnicmp'
DEFINES['HAVE_MS_C_RUNTIME'] = True
DEFINES['__PRETTY_FUNCTION__'] = '__FUNCTION__'
if CONFIG['CC_TYPE'] == 'gcc':
LOCAL_INCLUDES += [ 'ports/mingw32/include' ]
else:
LOCAL_INCLUDES += [ 'ports/win32/include' ]
elif CONFIG['OS_TARGET'] == 'Darwin':
DEFINES['HAVE_SYS_UIO_H'] = True
DEFINES['off64_t'] = 'off_t'
LOCAL_INCLUDES += [ 'ports/darwin/include' ]
elif CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'OpenBSD', 'NetBSD',
'GNU/kFreeBSD'):
if CONFIG['OS_TARGET'] != 'NetBSD':
DEFINES['ENODATA'] = '-0x80000003'
if CONFIG['OS_TARGET'] == 'OpenBSD':
DEFINES['EBADMSG'] = '-0x80000006'
DEFINES['HAVE_SYS_UIO_H'] = True
if CONFIG['OS_TARGET'] != 'GNU/kFreeBSD':
DEFINES['off64_t'] = 'off_t'
LOCAL_INCLUDES += [ 'ports/bsd/include' ]
else:
DEFINES['HAVE_SYS_UIO_H'] = True
if CONFIG['OS_TARGET'] != 'Android':
DEFINES['FAKE_LOG_DEVICE'] = True
SOURCES += [
'system/core/liblog/fake_log_device.c',
]
UNIFIED_SOURCES += [
'system/core/libcutils/strdup16to8.c',
'system/core/liblog/logd_write.c',
'system/core/liblog/logprint.c',
]
EXPORTS.mp4_demuxer += [
'binding/include/mp4_demuxer/Adts.h',
'binding/include/mp4_demuxer/AnnexB.h',
'binding/include/mp4_demuxer/Atom.h',
'binding/include/mp4_demuxer/AtomType.h',
'binding/include/mp4_demuxer/BitReader.h',
'binding/include/mp4_demuxer/BufferReader.h',
'binding/include/mp4_demuxer/BufferStream.h',
'binding/include/mp4_demuxer/ByteWriter.h',
'binding/include/mp4_demuxer/DecoderData.h',
'binding/include/mp4_demuxer/H264.h',
'binding/include/mp4_demuxer/Index.h',
'binding/include/mp4_demuxer/Interval.h',
'binding/include/mp4_demuxer/MoofParser.h',
'binding/include/mp4_demuxer/MP4Metadata.h',
'binding/include/mp4_demuxer/ResourceStream.h',
'binding/include/mp4_demuxer/SinfParser.h',
'binding/include/mp4_demuxer/Stream.h',
]
EXPORTS.demuxer += [
'binding/include/demuxer/TrackDemuxer.h',
]
SOURCES += [
'frameworks/av/media/libstagefright/foundation/hexdump.cpp',
'frameworks/av/media/libstagefright/MetaData.cpp',
'system/core/libutils/RefBase.cpp',
'system/core/libutils/String16.cpp',
'system/core/libutils/String8.cpp',
'system/core/libutils/VectorImpl.cpp',
]
EXPORTS += [
'binding/include/mp4parse.h',
]
UNIFIED_SOURCES += [
'binding/Adts.cpp',
'binding/AnnexB.cpp',
'binding/BitReader.cpp',
'binding/Box.cpp',
'binding/BufferStream.cpp',
'binding/DecoderData.cpp',
'binding/H264.cpp',
'binding/Index.cpp',
'binding/MoofParser.cpp',
'binding/MP4Metadata.cpp',
'binding/ResourceStream.cpp',
'binding/SinfParser.cpp',
'frameworks/av/media/libstagefright/DataSource.cpp',
'frameworks/av/media/libstagefright/ESDS.cpp',
'frameworks/av/media/libstagefright/foundation/AAtomizer.cpp',
'frameworks/av/media/libstagefright/foundation/ABitReader.cpp',
'frameworks/av/media/libstagefright/foundation/ABuffer.cpp',
'frameworks/av/media/libstagefright/foundation/AString.cpp',
'frameworks/av/media/libstagefright/MediaBuffer.cpp',
'frameworks/av/media/libstagefright/MediaDefs.cpp',
'frameworks/av/media/libstagefright/MediaSource.cpp',
'frameworks/av/media/libstagefright/MPEG4Extractor.cpp',
'frameworks/av/media/libstagefright/SampleIterator.cpp',
'frameworks/av/media/libstagefright/SampleTable.cpp',
'frameworks/av/media/libstagefright/Utils.cpp',
'system/core/libutils/SharedBuffer.cpp',
'system/core/libutils/Static.cpp',
'system/core/libutils/Unicode.cpp',
]
LOCAL_INCLUDES += [
'binding/include',
'frameworks/av/include',
'frameworks/av/include/media/stagefright/foundation',
'frameworks/av/media/libstagefright/',
'stubs/empty',
'stubs/include',
'stubs/include/media/stagefright/foundation',
'system/core/include',
]
TEST_DIRS += [
'gtest',
]
# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()
FINAL_LIBRARY = 'xul'
# Suppress warnings in third-party code.
if CONFIG['_MSC_VER']:
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['GNU_CXX']:
CFLAGS += [
'-Wno-comment',
'-Wno-sign-compare',
'-Wno-unused-function',
]
CXXFLAGS += [
'-Werror=format',
'-Wno-multichar',
'-Wno-sign-compare',
'-Wno-unused',
]
if CONFIG['CLANG_CXX']:
CXXFLAGS += [
'-Wno-mismatched-tags',
'-Wno-tautological-constant-out-of-range-compare',
'-Wno-unreachable-code-return',
'-Wno-implicit-fallthrough',
]