Index: sdch/sdch.gyp |
diff --git a/sdch/sdch.gyp b/sdch/sdch.gyp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e886288da5013a09ff2bd66acc267dfd8542a3cb |
--- /dev/null |
+++ b/sdch/sdch.gyp |
@@ -0,0 +1,109 @@ |
+# 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', |
+ ], |
+ }, |
+ ], |
+} |