mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 22:01:30 +00:00
73 lines
1.9 KiB
Python
73 lines
1.9 KiB
Python
# -*- Mode: python; c-basic-offset: 4; 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 += [
|
|
'chromium_types.h',
|
|
'ycbcr_to_rgb565.h',
|
|
'YCbCrUtils.h',
|
|
'yuv_convert.h',
|
|
'yuv_row.h',
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
'ycbcr_to_rgb565.cpp',
|
|
'YCbCrUtils.cpp',
|
|
'yuv_convert.cpp',
|
|
'yuv_row_c.cpp',
|
|
'yuv_row_table.cpp',
|
|
]
|
|
|
|
if CONFIG['INTEL_ARCHITECTURE']:
|
|
# These files use MMX and SSE2 intrinsics, so they need special compile flags
|
|
# on some compilers.
|
|
SOURCES += ['yuv_convert_sse2.cpp']
|
|
SOURCES['yuv_convert_sse2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
|
|
|
# MSVC doesn't support MMX when targeting AMD64.
|
|
if CONFIG['_MSC_VER']:
|
|
if CONFIG['OS_TEST'] != 'x86_64':
|
|
SOURCES += [
|
|
'yuv_convert_mmx.cpp',
|
|
]
|
|
else:
|
|
SOURCES += ['yuv_convert_mmx.cpp']
|
|
SOURCES['yuv_convert_mmx.cpp'].flags += CONFIG['MMX_FLAGS']
|
|
|
|
if CONFIG['_MSC_VER']:
|
|
if CONFIG['OS_TEST'] == 'x86_64':
|
|
if CONFIG['_MSC_VER'] == '1400':
|
|
# VC8 doesn't support some SSE2 built-in functions
|
|
SOURCES += [
|
|
'yuv_row_win.cpp',
|
|
]
|
|
else:
|
|
SOURCES += [
|
|
'yuv_row_win64.cpp',
|
|
]
|
|
else:
|
|
SOURCES += [
|
|
'yuv_row_win.cpp',
|
|
]
|
|
elif CONFIG['OS_ARCH'] in ('Linux', 'SunOS', 'Darwin', 'DragonFly',
|
|
'FreeBSD', 'NetBSD', 'OpenBSD'):
|
|
SOURCES += [
|
|
'yuv_row_posix.cpp',
|
|
]
|
|
else:
|
|
SOURCES += [
|
|
'yuv_row_other.cpp',
|
|
]
|
|
|
|
if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
|
|
SOURCES += [
|
|
'yuv_row_arm.s',
|
|
]
|
|
SOURCES += [
|
|
'yuv_convert_arm.cpp',
|
|
]
|
|
|
|
FINAL_LIBRARY = 'xul'
|