skia2/gyp/libwebp.gyp

162 lines
5.6 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'variables': {
'use_system_libwebp%': 0,
},
'conditions': [
['use_system_libwebp==0', {
'targets': [
{
'target_name': 'libwebp_dec',
'type': 'static_library',
'include_dirs': [
'../third_party/externals/libwebp',
],
'sources': [
'../third_party/externals/libwebp/dec/alpha.c',
'../third_party/externals/libwebp/dec/buffer.c',
'../third_party/externals/libwebp/dec/frame.c',
'../third_party/externals/libwebp/dec/idec.c',
'../third_party/externals/libwebp/dec/io.c',
'../third_party/externals/libwebp/dec/layer.c',
'../third_party/externals/libwebp/dec/quant.c',
'../third_party/externals/libwebp/dec/tree.c',
'../third_party/externals/libwebp/dec/vp8.c',
'../third_party/externals/libwebp/dec/vp8l.c',
'../third_party/externals/libwebp/dec/webp.c',
],
},
{
'target_name': 'libwebp_dsp',
'type': 'static_library',
'include_dirs': [
'../third_party/externals/libwebp',
],
'sources': [
'../third_party/externals/libwebp/dsp/cpu.c',
'../third_party/externals/libwebp/dsp/dec.c',
'../third_party/externals/libwebp/dsp/dec_sse2.c',
'../third_party/externals/libwebp/dsp/enc.c',
'../third_party/externals/libwebp/dsp/enc_sse2.c',
'../third_party/externals/libwebp/dsp/lossless.c',
'../third_party/externals/libwebp/dsp/upsampling.c',
'../third_party/externals/libwebp/dsp/upsampling_sse2.c',
'../third_party/externals/libwebp/dsp/yuv.c',
],
'conditions': [
['skia_os == "android"', {
'dependencies' : [
'android_deps.gyp:cpu_features',
],
}],
],
},
{
'target_name': 'libwebp_dsp_neon',
'conditions': [
['armv7 == 1', {
'type': 'static_library',
'include_dirs': [
'../third_party/externals/libwebp',
],
'sources': [
'../third_party/externals/libwebp/dsp/dec_neon.c',
],
# behavior similar dsp_neon.c.neon in an Android.mk
'cflags!': [
'-mfpu=vfpv3-d16',
],
'cflags': [ '-mfpu=neon' ],
},{ # "armv7 != 1"
'type': 'none',
}],
],
},
{
'target_name': 'libwebp_enc',
'type': 'static_library',
'include_dirs': [
'../third_party/externals/libwebp',
],
'sources': [
'../third_party/externals/libwebp/enc/alpha.c',
'../third_party/externals/libwebp/enc/analysis.c',
'../third_party/externals/libwebp/enc/backward_references.c',
'../third_party/externals/libwebp/enc/config.c',
'../third_party/externals/libwebp/enc/cost.c',
'../third_party/externals/libwebp/enc/filter.c',
'../third_party/externals/libwebp/enc/frame.c',
'../third_party/externals/libwebp/enc/histogram.c',
'../third_party/externals/libwebp/enc/iterator.c',
'../third_party/externals/libwebp/enc/layer.c',
'../third_party/externals/libwebp/enc/picture.c',
'../third_party/externals/libwebp/enc/quant.c',
'../third_party/externals/libwebp/enc/syntax.c',
'../third_party/externals/libwebp/enc/tree.c',
'../third_party/externals/libwebp/enc/vp8l.c',
'../third_party/externals/libwebp/enc/webpenc.c',
],
},
{
'target_name': 'libwebp_utils',
'type': 'static_library',
'include_dirs': [
'../third_party/externals/libwebp',
],
'sources': [
'../third_party/externals/libwebp/utils/bit_reader.c',
'../third_party/externals/libwebp/utils/bit_writer.c',
'../third_party/externals/libwebp/utils/color_cache.c',
'../third_party/externals/libwebp/utils/filters.c',
'../third_party/externals/libwebp/utils/huffman.c',
'../third_party/externals/libwebp/utils/huffman_encode.c',
'../third_party/externals/libwebp/utils/quant_levels.c',
'../third_party/externals/libwebp/utils/rescaler.c',
'../third_party/externals/libwebp/utils/thread.c',
'../third_party/externals/libwebp/utils/utils.c',
],
},
{
'target_name': 'libwebp',
'type': 'none',
'dependencies' : [
'libwebp_dec',
'libwebp_dsp',
'libwebp_dsp_neon',
'libwebp_enc',
'libwebp_utils',
],
'direct_dependent_settings': {
'include_dirs': [
'../third_party/externals/libwebp',
],
},
'conditions': [
['OS!="win"', {'product_name': 'webp'}],
],
},
],
}, {
'targets': [
{
'target_name': 'libwebp',
'type': 'none',
'direct_dependent_settings': {
'defines': [
'ENABLE_WEBP',
],
},
'link_settings': {
'libraries': [
'-lwebp',
],
},
}
],
}],
],
}