Home | History | Annotate | Download | only in gyp
      1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 {
      6   'variables': {
      7     'use_system_libwebp%': 0,
      8   },
      9   'conditions': [
     10     ['use_system_libwebp==0', {
     11       'targets': [
     12         {
     13           'target_name': 'libwebp_dec',
     14           'type': 'static_library',
     15           'include_dirs': [
     16               '../third_party/externals/libwebp',
     17           ],
     18           'sources': [
     19             '../third_party/externals/libwebp/src/dec/alpha.c',
     20             '../third_party/externals/libwebp/src/dec/buffer.c',
     21             '../third_party/externals/libwebp/src/dec/frame.c',
     22             '../third_party/externals/libwebp/src/dec/idec.c',
     23             '../third_party/externals/libwebp/src/dec/io.c',
     24             '../third_party/externals/libwebp/src/dec/layer.c',
     25             '../third_party/externals/libwebp/src/dec/quant.c',
     26             '../third_party/externals/libwebp/src/dec/tree.c',
     27             '../third_party/externals/libwebp/src/dec/vp8.c',
     28             '../third_party/externals/libwebp/src/dec/vp8l.c',
     29             '../third_party/externals/libwebp/src/dec/webp.c',
     30           ],
     31         },
     32         {
     33           'target_name': 'libwebp_demux',
     34           'type': 'static_library',
     35           'include_dirs': [
     36               '../third_party/externals/libwebp',
     37           ],
     38           'sources': [
     39             '../third_party/externals/libwebp/src/demux/demux.c',
     40           ],
     41         },
     42         {
     43           'target_name': 'libwebp_dsp',
     44           'type': 'static_library',
     45           'include_dirs': [
     46               '../third_party/externals/libwebp',
     47           ],
     48           'sources': [
     49             '../third_party/externals/libwebp/src/dsp/cpu.c',
     50             '../third_party/externals/libwebp/src/dsp/dec.c',
     51             '../third_party/externals/libwebp/src/dsp/dec_sse2.c',
     52             '../third_party/externals/libwebp/src/dsp/enc.c',
     53             '../third_party/externals/libwebp/src/dsp/enc_sse2.c',
     54             '../third_party/externals/libwebp/src/dsp/lossless.c',
     55             '../third_party/externals/libwebp/src/dsp/upsampling.c',
     56             '../third_party/externals/libwebp/src/dsp/upsampling_sse2.c',
     57             '../third_party/externals/libwebp/src/dsp/yuv.c',
     58           ],
     59           'conditions': [
     60             ['skia_os == "android"', {
     61               'dependencies' : [
     62                 'android_deps.gyp:cpu_features',
     63               ],
     64             }],
     65           ],
     66         },
     67         {
     68           'target_name': 'libwebp_dsp_neon',
     69           'conditions': [
     70             ['arm_version >= 7', {
     71               'type': 'static_library',
     72               'include_dirs': [
     73                   '../third_party/externals/libwebp',
     74               ],
     75               'sources': [
     76                 '../third_party/externals/libwebp/src/dsp/dec_neon.c',
     77                 '../third_party/externals/libwebp/src/dsp/enc_neon.c',
     78                 '../third_party/externals/libwebp/src/dsp/upsampling_neon.c',
     79               ],
     80               # behavior similar dsp_neon.c.neon in an Android.mk
     81               'cflags!': [
     82                 '-mfpu=vfpv3-d16',
     83               ],
     84               'cflags': [ '-mfpu=neon' ],
     85             },{  # !(arm_version >= 7)
     86               'type': 'none',
     87             }],
     88           ],
     89         },
     90         {
     91           'target_name': 'libwebp_enc',
     92           'type': 'static_library',
     93           'include_dirs': [
     94               '../third_party/externals/libwebp',
     95           ],
     96           'sources': [
     97             '../third_party/externals/libwebp/src/enc/alpha.c',
     98             '../third_party/externals/libwebp/src/enc/analysis.c',
     99             '../third_party/externals/libwebp/src/enc/backward_references.c',
    100             '../third_party/externals/libwebp/src/enc/config.c',
    101             '../third_party/externals/libwebp/src/enc/cost.c',
    102             '../third_party/externals/libwebp/src/enc/filter.c',
    103             '../third_party/externals/libwebp/src/enc/frame.c',
    104             '../third_party/externals/libwebp/src/enc/histogram.c',
    105             '../third_party/externals/libwebp/src/enc/iterator.c',
    106             '../third_party/externals/libwebp/src/enc/layer.c',
    107             '../third_party/externals/libwebp/src/enc/picture.c',
    108             '../third_party/externals/libwebp/src/enc/quant.c',
    109             '../third_party/externals/libwebp/src/enc/syntax.c',
    110             '../third_party/externals/libwebp/src/enc/token.c',
    111             '../third_party/externals/libwebp/src/enc/tree.c',
    112             '../third_party/externals/libwebp/src/enc/vp8l.c',
    113             '../third_party/externals/libwebp/src/enc/webpenc.c',
    114           ],
    115         },
    116         {
    117           'target_name': 'libwebp_utils',
    118           'type': 'static_library',
    119           'include_dirs': [
    120               '../third_party/externals/libwebp',
    121           ],
    122           'sources': [
    123             '../third_party/externals/libwebp/src/utils/bit_reader.c',
    124             '../third_party/externals/libwebp/src/utils/bit_writer.c',
    125             '../third_party/externals/libwebp/src/utils/color_cache.c',
    126             '../third_party/externals/libwebp/src/utils/filters.c',
    127             '../third_party/externals/libwebp/src/utils/huffman.c',
    128             '../third_party/externals/libwebp/src/utils/huffman_encode.c',
    129             '../third_party/externals/libwebp/src/utils/quant_levels.c',
    130             '../third_party/externals/libwebp/src/utils/quant_levels_dec.c',
    131             '../third_party/externals/libwebp/src/utils/rescaler.c',
    132             '../third_party/externals/libwebp/src/utils/thread.c',
    133             '../third_party/externals/libwebp/src/utils/utils.c',
    134           ],
    135         },
    136         {
    137           'target_name': 'libwebp',
    138           'type': 'none',
    139           'dependencies' : [
    140             'libwebp_dec',
    141             'libwebp_demux',
    142             'libwebp_dsp',
    143             'libwebp_dsp_neon',
    144             'libwebp_enc',
    145             'libwebp_utils',
    146           ],
    147           'direct_dependent_settings': {
    148             'include_dirs': [
    149               '../third_party/externals/libwebp/src',
    150             ],
    151           },
    152           'conditions': [
    153             ['OS!="win"', {'product_name': 'webp'}],
    154           ],
    155         },
    156       ],
    157     }, {
    158       'targets': [
    159         {
    160           'target_name': 'libwebp',
    161           'type': 'none',
    162           'direct_dependent_settings': {
    163             'defines': [
    164               'ENABLE_WEBP',
    165             ],
    166           },
    167           'link_settings': {
    168             'libraries': [
    169               '-lwebp',
    170             ],
    171           },
    172         }
    173       ],
    174     }],
    175   ],
    176 }
    177