# -*- 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': 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__' 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/BufferStream.h', 'binding/include/mp4_demuxer/ByteReader.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. ALLOW_COMPILER_WARNINGS = True 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', ]