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     'conditions':[
      8       ['skia_android_framework == 1', {
      9         'use_system_libwebp': 1,
     10       }, {
     11         'use_system_libwebp%': 0,
     12       }],
     13     ],
     14   },
     15   'conditions': [
     16     ['use_system_libwebp==0', {
     17       'targets': [
     18         {
     19           'target_name': 'libwebp_dec',
     20           'type': 'static_library',
     21           'include_dirs': [
     22               '../third_party/externals/libwebp',
     23           ],
     24           'sources': [
     25             '../third_party/externals/libwebp/src/dec/alpha.c',
     26             '../third_party/externals/libwebp/src/dec/buffer.c',
     27             '../third_party/externals/libwebp/src/dec/frame.c',
     28             '../third_party/externals/libwebp/src/dec/idec.c',
     29             '../third_party/externals/libwebp/src/dec/io.c',
     30             '../third_party/externals/libwebp/src/dec/layer.c',
     31             '../third_party/externals/libwebp/src/dec/quant.c',
     32             '../third_party/externals/libwebp/src/dec/tree.c',
     33             '../third_party/externals/libwebp/src/dec/vp8.c',
     34             '../third_party/externals/libwebp/src/dec/vp8l.c',
     35             '../third_party/externals/libwebp/src/dec/webp.c',
     36           ],
     37           'cflags': [ '-w' ],
     38         },
     39         {
     40           'target_name': 'libwebp_demux',
     41           'type': 'static_library',
     42           'include_dirs': [
     43               '../third_party/externals/libwebp',
     44           ],
     45           'sources': [
     46             '../third_party/externals/libwebp/src/demux/demux.c',
     47           ],
     48           'cflags': [ '-w' ],
     49         },
     50         {
     51           'target_name': 'libwebp_dsp',
     52           'type': 'static_library',
     53           'include_dirs': [
     54               '../third_party/externals/libwebp',
     55           ],
     56           'sources': [
     57             '../third_party/externals/libwebp/src/dsp/cpu.c',
     58             '../third_party/externals/libwebp/src/dsp/dec.c',
     59             '../third_party/externals/libwebp/src/dsp/dec_sse2.c',
     60             '../third_party/externals/libwebp/src/dsp/enc.c',
     61             '../third_party/externals/libwebp/src/dsp/enc_sse2.c',
     62             '../third_party/externals/libwebp/src/dsp/lossless.c',
     63             '../third_party/externals/libwebp/src/dsp/upsampling.c',
     64             '../third_party/externals/libwebp/src/dsp/upsampling_sse2.c',
     65             '../third_party/externals/libwebp/src/dsp/yuv.c',
     66           ],
     67           'cflags': [ '-w' ],
     68           'conditions': [
     69             ['skia_os == "android"', {
     70               'dependencies' : [
     71                 'android_deps.gyp:cpu_features',
     72               ],
     73             }],
     74           ],
     75         },
     76         {
     77           'target_name': 'libwebp_dsp_neon',
     78           'conditions': [
     79             ['arm_version >= 7', {
     80               'type': 'static_library',
     81               'include_dirs': [
     82                   '../third_party/externals/libwebp',
     83               ],
     84               'sources': [
     85                 '../third_party/externals/libwebp/src/dsp/dec_neon.c',
     86                 '../third_party/externals/libwebp/src/dsp/enc_neon.c',
     87                 '../third_party/externals/libwebp/src/dsp/upsampling_neon.c',
     88               ],
     89               # behavior similar dsp_neon.c.neon in an Android.mk
     90               'cflags!': [
     91                 '-mfpu=vfpv3-d16',
     92               ],
     93               'cflags': [ '-mfpu=neon', '-w' ],
     94             },{  # !(arm_version >= 7)
     95               'type': 'none',
     96             }],
     97           ],
     98         },
     99         {
    100           'target_name': 'libwebp_enc',
    101           'type': 'static_library',
    102           'include_dirs': [
    103               '../third_party/externals/libwebp',
    104           ],
    105           'sources': [
    106             '../third_party/externals/libwebp/src/enc/alpha.c',
    107             '../third_party/externals/libwebp/src/enc/analysis.c',
    108             '../third_party/externals/libwebp/src/enc/backward_references.c',
    109             '../third_party/externals/libwebp/src/enc/config.c',
    110             '../third_party/externals/libwebp/src/enc/cost.c',
    111             '../third_party/externals/libwebp/src/enc/filter.c',
    112             '../third_party/externals/libwebp/src/enc/frame.c',
    113             '../third_party/externals/libwebp/src/enc/histogram.c',
    114             '../third_party/externals/libwebp/src/enc/iterator.c',
    115             '../third_party/externals/libwebp/src/enc/layer.c',
    116             '../third_party/externals/libwebp/src/enc/picture.c',
    117             '../third_party/externals/libwebp/src/enc/quant.c',
    118             '../third_party/externals/libwebp/src/enc/syntax.c',
    119             '../third_party/externals/libwebp/src/enc/token.c',
    120             '../third_party/externals/libwebp/src/enc/tree.c',
    121             '../third_party/externals/libwebp/src/enc/vp8l.c',
    122             '../third_party/externals/libwebp/src/enc/webpenc.c',
    123           ],
    124           'cflags': [ '-w' ],
    125         },
    126         {
    127           'target_name': 'libwebp_utils',
    128           'type': 'static_library',
    129           'include_dirs': [
    130               '../third_party/externals/libwebp',
    131           ],
    132           'sources': [
    133             '../third_party/externals/libwebp/src/utils/bit_reader.c',
    134             '../third_party/externals/libwebp/src/utils/bit_writer.c',
    135             '../third_party/externals/libwebp/src/utils/color_cache.c',
    136             '../third_party/externals/libwebp/src/utils/filters.c',
    137             '../third_party/externals/libwebp/src/utils/huffman.c',
    138             '../third_party/externals/libwebp/src/utils/huffman_encode.c',
    139             '../third_party/externals/libwebp/src/utils/quant_levels.c',
    140             '../third_party/externals/libwebp/src/utils/quant_levels_dec.c',
    141             '../third_party/externals/libwebp/src/utils/rescaler.c',
    142             '../third_party/externals/libwebp/src/utils/thread.c',
    143             '../third_party/externals/libwebp/src/utils/utils.c',
    144           ],
    145           'cflags': [ '-w' ],
    146         },
    147         {
    148           'target_name': 'libwebp',
    149           'type': 'none',
    150           'dependencies' : [
    151             'libwebp_dec',
    152             'libwebp_demux',
    153             'libwebp_dsp',
    154             'libwebp_dsp_neon',
    155             'libwebp_enc',
    156             'libwebp_utils',
    157           ],
    158           'direct_dependent_settings': {
    159             'include_dirs': [
    160               '../third_party/externals/libwebp/src',
    161             ],
    162           },
    163           'conditions': [
    164             ['OS!="win"', {'product_name': 'webp'}],
    165           ],
    166         },
    167       ],
    168     }, {
    169       # use_system_libwep == 1
    170       'targets': [
    171         {
    172           'target_name': 'libwebp',
    173           'type': 'none',
    174           'conditions': [
    175             [ 'skia_android_framework', {
    176               'direct_dependent_settings': {
    177                 'libraries': [
    178                   'libwebp-decode.a',
    179                   'libwebp-encode.a',
    180                 ],
    181               'include_dirs': [
    182                 'external/webp/include',
    183               ],
    184               },
    185             }, { # skia_android_framework == 0
    186               'direct_dependent_settings': {
    187                 'defines': [
    188                   'ENABLE_WEBP',
    189                 ],
    190                 },
    191                 'link_settings': {
    192                   'libraries': [
    193                     '-lwebp',
    194                   ],
    195                 },
    196               },
    197             ],
    198           ],
    199         }
    200       ],
    201     }],
    202   ],
    203 }
    204