# 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': {
    'chromium_code': 1,
  },
  'targets': [
    {
      'target_name': 'sdch',
      'type': 'static_library',
      'dependencies': [
        '../base/base.gyp:base',
        '../third_party/zlib/zlib.gyp:zlib',
      ],
      'sources': [
        'logging_forward.h',
        'open-vcdiff/src/addrcache.cc',
        'open-vcdiff/src/blockhash.cc',
        'open-vcdiff/src/blockhash.h',
        'open-vcdiff/src/checksum.h',
        'open-vcdiff/src/codetable.cc',
        'open-vcdiff/src/codetable.h',
        'open-vcdiff/src/compile_assert.h',
        'open-vcdiff/src/decodetable.cc',
        'open-vcdiff/src/decodetable.h',
        'open-vcdiff/src/encodetable.cc',
        'open-vcdiff/src/encodetable.h',
        'open-vcdiff/src/google/output_string.h',
        'open-vcdiff/src/google/vcdecoder.h',
        'open-vcdiff/src/headerparser.cc',
        'open-vcdiff/src/headerparser.h',
        'open-vcdiff/src/instruction_map.cc',
        'open-vcdiff/src/instruction_map.h',
        'open-vcdiff/src/rolling_hash.h',
        'open-vcdiff/src/testing.h',
        'open-vcdiff/src/varint_bigendian.cc',
        'open-vcdiff/src/varint_bigendian.h',
        'open-vcdiff/src/vcdecoder.cc',
        'open-vcdiff/src/vcdiff_defs.h',
        'open-vcdiff/src/vcdiffengine.cc',
        'open-vcdiff/src/vcdiffengine.h',
        'open-vcdiff/vsprojects/config.h',
        'open-vcdiff/vsprojects/stdint.h',
      ],
      'include_dirs': [
        'open-vcdiff/src',
      ],
      'direct_dependent_settings': {
        'include_dirs': [
          'open-vcdiff/src',
        ],
      },
      'conditions': [
        [ 'OS == "linux" or OS == "android"', { 'include_dirs': [ 'linux' ] } ],
        [ 'os_bsd==1 or OS=="solaris"', { 'include_dirs': [ 'bsd' ] } ],
        [ 'OS == "ios"', { 'include_dirs': [ 'ios' ] } ],
        [ 'OS == "mac"', { 'include_dirs': [ 'mac' ] } ],
        [ 'OS == "win"', { 'include_dirs': [ 'win' ] } ],
      ],
      # open-vcdiff's logging.h introduces static initializers. This was
      # reported upstream years ago (
      # https://code.google.com/p/open-vcdiff/issues/detail?id=33 ). Since
      # upstream won't fix this, work around it on the chromium side:
      # Inject a header that forwards to base/logging.h instead (which doesn't
      # introduce static initializers, and which prevents open-vcdiff's
      # logging.h from being used).
      'variables': {
        'logging_path': 'logging_forward.h',
        'conditions': [
          # gyp leaves unspecified what the cwd is when running the compiler,
          # and gyp/linux doesn't have a built-in way for forcing an include.
          # So hardcode the base directory. If this spreads, provide native
          # support in gyp, like we have for gyp/mac and gyp/windows.
          # path.
          ['"<(GENERATOR)"=="ninja"', { 'logging_dir': '../..' },
                                      { 'logging_dir': '.' }
          ],
        ],
      },
      # GCC_PREFIX_HEADER is relative to the current directory,
      # ForcedIncludeFiles is relative to include_dirs, cflags relative to the
      # build directory.
      'xcode_settings': { 'GCC_PREFIX_HEADER': '<(logging_path)' },
      'msvs_settings': {
        'VCCLCompilerTool': {
          'ForcedIncludeFiles': [
            'sdch/<(logging_path)',
          ]
        }
      },
      'cflags': [
        '-include', '<(logging_dir)/sdch/<(logging_path)',
        # TODO(mostynb): remove this if open-vcdiff is ever updated for c++11:
        '-Wno-deprecated-declarations',
      ],
    },
  ],
}
