# 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': { 'conditions': [ # Define an "os_include" variable that points at the OS-specific generated # headers. These were generated by running the configure script offline. ['os_posix == 1 and OS != "mac"', { 'os_include': 'linux' }], ['OS=="mac"', {'os_include': 'mac'}], ['OS=="win"', {'os_include': 'win32'}], ], 'use_system_libxml%': 0, }, 'targets': [ { 'target_name': 'snappy', 'type': 'static_library', 'include_dirs': [ '<(os_include)', 'src', '../..', ], 'direct_dependent_settings': { 'include_dirs': [ '<(os_include)', 'src', ], }, 'variables': { 'clang_warning_flags': [ # ComputeTable is unused, # https://code.google.com/p/snappy/issues/detail?id=96 '-Wno-unused-function', ], 'clang_warning_flags_unset': [ # snappy-stubs-internal.h unapologetically has: using namespace std # https://code.google.com/p/snappy/issues/detail?id=70 '-Wheader-hygiene', ], }, 'sources': [ 'src/snappy-internal.h', 'src/snappy-sinksource.cc', 'src/snappy-sinksource.h', 'src/snappy-stubs-internal.cc', 'src/snappy-stubs-internal.h', 'src/snappy.cc', 'src/snappy.h', ], 'conditions': [ ['OS=="linux" or OS=="mac"', { 'defines': [ # TODO(tfarina): Only Mac and Linux has the generated config.h for # now. Generate the config.h for Windows too and enable this there # as well. 'HAVE_CONFIG_H=1', ], }], ['OS=="win"', { # Signed/unsigned comparison 'msvs_disabled_warnings': [ # https://code.google.com/p/snappy/issues/detail?id=71 4018, # https://code.google.com/p/snappy/issues/detail?id=75 4267, ], }], ], }, { 'target_name': 'snappy_unittest', 'type': 'executable', 'sources': [ 'src/snappy-test.cc', 'src/snappy-test.h', 'src/snappy_unittest.cc', ], 'dependencies': [ 'snappy', '../../base/base.gyp:base', '../../testing/gtest.gyp:gtest', '../../third_party/zlib/zlib.gyp:zlib', ], 'variables': { 'clang_warning_flags': [ '-Wno-return-type' ], 'clang_warning_flags_unset': [ '-Wheader-hygiene' ], }, 'conditions': [ ['OS=="linux" or OS=="mac"', { 'defines': [ # TODO(tfarina): Only Mac and Linux has the generated config.h for # now. Generate the config.h for Windows too and enable this there # as well. 'HAVE_CONFIG_H=1', ], }], ], }, ], }