# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # 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') common_sources = [ '/media/libdav1d/src/src/cdf.c', '/media/libdav1d/src/src/cpu.c', '/media/libdav1d/src/src/ctx.c', '/media/libdav1d/src/src/data.c', '/media/libdav1d/src/src/decode.c', '/media/libdav1d/src/src/dequant_tables.c', '/media/libdav1d/src/src/getbits.c', '/media/libdav1d/src/src/intra_edge.c', '/media/libdav1d/src/src/itx_1d.c', '/media/libdav1d/src/src/lf_mask.c', '/media/libdav1d/src/src/lib.c', '/media/libdav1d/src/src/log.c', '/media/libdav1d/src/src/mem.c', '/media/libdav1d/src/src/msac.c', '/media/libdav1d/src/src/obu.c', '/media/libdav1d/src/src/pal.c', '/media/libdav1d/src/src/picture.c', '/media/libdav1d/src/src/qm.c', '/media/libdav1d/src/src/ref.c', '/media/libdav1d/src/src/refmvs.c', '/media/libdav1d/src/src/scan.c', '/media/libdav1d/src/src/tables.c', '/media/libdav1d/src/src/thread_task.c', '/media/libdav1d/src/src/warpmv.c', '/media/libdav1d/src/src/wedge.c', ] bitdepth_sources = [ '/media/libdav1d/moz/cdef_16bpc.c', '/media/libdav1d/moz/cdef_8bpc.c', '/media/libdav1d/moz/cdef_apply_16bpc.c', '/media/libdav1d/moz/cdef_apply_8bpc.c', '/media/libdav1d/moz/fg_apply_16bpc.c', '/media/libdav1d/moz/fg_apply_8bpc.c', '/media/libdav1d/moz/filmgrain_16bpc.c', '/media/libdav1d/moz/filmgrain_8bpc.c', '/media/libdav1d/moz/ipred_16bpc.c', '/media/libdav1d/moz/ipred_8bpc.c', '/media/libdav1d/moz/ipred_prepare_16bpc.c', '/media/libdav1d/moz/ipred_prepare_8bpc.c', '/media/libdav1d/moz/itx_16bpc.c', '/media/libdav1d/moz/itx_8bpc.c', '/media/libdav1d/moz/lf_apply_16bpc.c', '/media/libdav1d/moz/lf_apply_8bpc.c', '/media/libdav1d/moz/loopfilter_16bpc.c', '/media/libdav1d/moz/loopfilter_8bpc.c', '/media/libdav1d/moz/looprestoration_16bpc.c', '/media/libdav1d/moz/looprestoration_8bpc.c', '/media/libdav1d/moz/lr_apply_16bpc.c', '/media/libdav1d/moz/lr_apply_8bpc.c', '/media/libdav1d/moz/mc_16bpc.c', '/media/libdav1d/moz/mc_8bpc.c', '/media/libdav1d/moz/recon_16bpc.c', '/media/libdav1d/moz/recon_8bpc.c', ] SOURCES += common_sources SOURCES += bitdepth_sources if CONFIG['CPU_ARCH'].startswith('x86'): DIRS += ['x86'] elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64'): DIRS += ['arm'] elif CONFIG['CPU_ARCH'] == 'ppc64' and CONFIG['TARGET_ENDIANNESS'] == 'little': DIRS += ['ppc'] if CONFIG['OS_TARGET'] == 'WINNT': SOURCES += [ '/media/libdav1d/src/src/win32/thread.c', ] else: DEFINES['_GNU_SOURCE'] = True if CONFIG['CPU_ARCH'] == 'loongarch64': SOURCES += [ '/media/libdav1d/moz/loongarch_cdef.S', '/media/libdav1d/moz/loongarch_cpu.c', '/media/libdav1d/moz/loongarch_ipred.S', '/media/libdav1d/moz/loongarch_itx.S', '/media/libdav1d/moz/loongarch_loopfilter.S', '/media/libdav1d/moz/loongarch_looprestoration.S', '/media/libdav1d/moz/loongarch_looprestoration_inner_16bpc.c', '/media/libdav1d/moz/loongarch_looprestoration_inner_8bpc.c', '/media/libdav1d/moz/loongarch_mc.S', '/media/libdav1d/moz/loongarch_msac.S', '/media/libdav1d/moz/loongarch_refmvs.S', ] ASFLAGS += [ '-I%s/dist/include' % OBJDIR, '-I%s/media/libdav1d/src' % TOPSRCDIR, ] EXPORTS.dav1d += [ '/media/libdav1d/src/include/dav1d/common.h', '/media/libdav1d/src/include/dav1d/data.h', '/media/libdav1d/src/include/dav1d/dav1d.h', '/media/libdav1d/src/include/dav1d/headers.h', '/media/libdav1d/src/include/dav1d/picture.h', '/media/libdav1d/src/include/dav1d/version.h', ] LOCAL_INCLUDES += [ '/media/libdav1d/config', '/media/libdav1d/src', '/media/libdav1d/src/include', '/media/libdav1d/src/include/dav1d', ] # Make dav1d's MSVC compatibility headers available to MSVC builds so # including picks up the local compat header instead of # the system header which requires C11. if CONFIG['_MSC_VER'] and not CONFIG['CLANG_CL']: LOCAL_INCLUDES += ['/media/libdav1d/src/include/compat/msvc'] FINAL_LIBRARY = 'gkmedias' # We allow warnings for third-party code that can be updated from upstream. ALLOW_COMPILER_WARNINGS = True if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']: CFLAGS += [ '-Wno-missing-field-initializers', '-Wno-sign-compare', '-Wno-unused-function', '-Wno-unused-parameter', ] if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: CFLAGS += [ '-Wno-shorten-64-to-32', '-Wno-unreachable-code', ]