moz.build (1846B)
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 # vim: set filetype=python: 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 EXPORTS += [ 8 'YCbCrUtils.h', 9 ] 10 11 UNIFIED_SOURCES += [ 12 'scale_yuv_argb.cpp', 13 'ycbcr_to_rgb565.cpp', 14 'YCbCrUtils.cpp', 15 'yuv_convert.cpp', 16 'yuv_row_c.cpp', 17 'yuv_row_table.cpp', 18 ] 19 20 if CONFIG['INTEL_ARCHITECTURE']: 21 # These files use MMX and SSE2 intrinsics, so they need special compile flags 22 # on some compilers. 23 SOURCES += ['yuv_convert_sse2.cpp'] 24 SOURCES['yuv_convert_sse2.cpp'].flags += CONFIG['SSE2_FLAGS'] 25 26 # MSVC doesn't support MMX when targeting AMD64. 27 if CONFIG['CC_TYPE'] == 'clang-cl': 28 if CONFIG['TARGET_CPU'] == 'x86': 29 SOURCES += [ 30 'yuv_convert_mmx.cpp', 31 ] 32 else: 33 SOURCES += ['yuv_convert_mmx.cpp'] 34 SOURCES['yuv_convert_mmx.cpp'].flags += CONFIG['MMX_FLAGS'] 35 36 if CONFIG['CC_TYPE'] == 'clang-cl': 37 if CONFIG['TARGET_CPU'] == 'x86_64' or \ 38 (CONFIG['TARGET_CPU'] == 'x86' and CONFIG['CC_TYPE'] == 'clang-cl'): 39 SOURCES += [ 40 'yuv_row_win64.cpp', 41 ] 42 else: 43 SOURCES += [ 44 'yuv_row_win.cpp', 45 ] 46 elif CONFIG['OS_ARCH'] in ('Linux', 'SunOS', 'Darwin', 'DragonFly', 47 'FreeBSD', 'NetBSD', 'OpenBSD'): 48 SOURCES += [ 49 'yuv_row_posix.cpp', 50 ] 51 else: 52 SOURCES += [ 53 'yuv_row_other.cpp', 54 ] 55 56 if CONFIG['TARGET_CPU'] == 'arm' and CONFIG['HAVE_ARM_NEON']: 57 SOURCES += [ 58 'yuv_row_arm.s', 59 ] 60 SOURCES += [ 61 'yuv_convert_arm.cpp', 62 ] 63 64 LOCAL_INCLUDES += ['/media/libyuv/libyuv/include'] 65 66 FINAL_LIBRARY = 'xul'