Source code

Revision control

Copy as Markdown

Other Tools

# -*- 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", "Graphics")
include('/build/gyp.mozbuild')
gyp_vars['moz_have_arm_sve2'] = 1 if CONFIG['SVE2_FLAGS'] else 0
gyp_vars['moz_have_arm_i8mm_and_dot_prod'] = 1 if CONFIG['NEON_I8MM_FLAGS'] and CONFIG['DOTPROD_FLAGS'] else 0
# Set gyp vars that libyuv needs when building under various analysis tools.
gyp_vars_copy = gyp_vars.copy()
if CONFIG['MOZ_VALGRIND']:
gyp_vars_copy.update(build_for_tool="memcheck")
elif CONFIG['MOZ_ASAN']:
gyp_vars_copy.update(build_for_tool="asan")
elif CONFIG['MOZ_TSAN']:
gyp_vars_copy.update(build_for_tool="tsan")
libyuv_non_unified_sources = [
'libyuv/source/convert.cc',
'libyuv/source/convert_from.cc',
'libyuv/source/convert_from_argb.cc',
'libyuv/source/mjpeg_decoder.cc',
'libyuv/source/rotate_argb.cc',
'libyuv/source/row_common.cc',
'libyuv/source/scale.cc',
'libyuv/source/scale_common.cc',
'libyuv/source/scale_uv.cc',
]
GYP_DIRS += ['libyuv']
GYP_DIRS['libyuv'].input = 'libyuv/libyuv.gyp'
GYP_DIRS['libyuv'].variables = gyp_vars_copy
GYP_DIRS['libyuv'].sandbox_vars['FINAL_LIBRARY'] = 'xul'
GYP_DIRS['libyuv'].non_unified_sources += libyuv_non_unified_sources
# We allow warnings for third-party code that can be updated from upstream.
GYP_DIRS['libyuv'].sandbox_vars['COMPILE_FLAGS'] = {'WARNINGS_AS_ERRORS': []}