Home | History | Annotate | Download | only in snappy
      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       # Define an "os_include" variable that points at the OS-specific generated
      9       # headers.  These were generated by running the configure script offline.
     10       ['os_posix == 1 and OS != "mac"', {
     11         'os_include': 'linux'
     12       }],
     13       ['OS=="mac"', {'os_include': 'mac'}],
     14       ['OS=="win"', {'os_include': 'win32'}],
     15     ],
     16     'use_system_libxml%': 0,
     17   },
     18   'targets': [
     19     {
     20       'target_name': 'snappy',
     21       'type': 'static_library',
     22       'include_dirs': [
     23         '<(os_include)',
     24         'src',
     25         '../..',
     26       ],
     27       'direct_dependent_settings': {
     28         'include_dirs': [
     29           '<(os_include)',
     30           'src',
     31         ],
     32       },
     33       'variables': {
     34         'clang_warning_flags_unset': [
     35           # snappy-stubs-internal.h unapologetically has: using namespace std
     36           # https://code.google.com/p/snappy/issues/detail?id=70
     37           '-Wheader-hygiene',
     38         ],
     39       },
     40       'sources': [
     41         'src/snappy-internal.h',
     42         'src/snappy-sinksource.cc',
     43         'src/snappy-sinksource.h',
     44         'src/snappy-stubs-internal.cc',
     45         'src/snappy-stubs-internal.h',
     46         'src/snappy.cc',
     47         'src/snappy.h',
     48       ],
     49       'conditions': [
     50         ['OS=="linux" or OS=="mac"', {
     51           'defines': [
     52             # TODO(tfarina): Only Mac and Linux has the generated config.h for
     53             # now. Generate the config.h for Windows too and enable this there
     54             # as well.
     55             'HAVE_CONFIG_H=1',
     56           ],
     57         }],
     58         ['OS=="win"', {
     59           # Signed/unsigned comparison
     60           'msvs_disabled_warnings': [
     61             # https://code.google.com/p/snappy/issues/detail?id=71
     62             4018,
     63             # https://code.google.com/p/snappy/issues/detail?id=75
     64             4267,
     65           ],
     66         }],
     67       ],
     68     },
     69     {
     70       'target_name': 'snappy_unittest',
     71       'type': 'executable',
     72       'sources': [
     73         'src/snappy-test.cc',
     74         'src/snappy-test.h',
     75         'src/snappy_unittest.cc',
     76       ],
     77       'dependencies': [
     78         'snappy',
     79         '../../base/base.gyp:base',
     80         '../../testing/gtest.gyp:gtest',
     81         '../../third_party/zlib/zlib.gyp:zlib',
     82       ],
     83       'variables': {
     84         'clang_warning_flags': [ '-Wno-return-type' ],
     85         'clang_warning_flags_unset': [ '-Wheader-hygiene' ],
     86       },
     87       'conditions': [
     88         ['OS=="linux" or OS=="mac"', {
     89           'defines': [
     90             # TODO(tfarina): Only Mac and Linux has the generated config.h for
     91             # now. Generate the config.h for Windows too and enable this there
     92             # as well.
     93             'HAVE_CONFIG_H=1',
     94           ],
     95         }],
     96       ],
     97     },
     98   ],
     99 }
    100