# 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/google/vcencoder.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/jsonwriter.h',
        'open-vcdiff/src/jsonwriter.cc',
        '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/vcencoder.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': {
        'clang_warning_flags': [
          # sdch uses the pre-c++11 typedef-as-static_assert hack.
          # https://code.google.com/p/open-vcdiff/issues/detail?id=44
          '-Wno-unused-local-typedef',
        ],
        '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',
      ],
    },
  ],
}
