| Index: sdch/sdch.gyp
|
| diff --git a/sdch/sdch.gyp b/sdch/sdch.gyp
|
| index d84be582ed7f9dba0b326e61b428ecd4ed3e0b8b..8b4a8b98dc4c2bcac311fcf51f0e5218d97993a7 100644
|
| --- a/sdch/sdch.gyp
|
| +++ b/sdch/sdch.gyp
|
| @@ -11,9 +11,11 @@
|
| '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',
|
| @@ -31,8 +33,6 @@
|
| 'open-vcdiff/src/headerparser.h',
|
| 'open-vcdiff/src/instruction_map.cc',
|
| 'open-vcdiff/src/instruction_map.h',
|
| - 'open-vcdiff/src/logging.cc',
|
| - 'open-vcdiff/src/logging.h',
|
| 'open-vcdiff/src/rolling_hash.h',
|
| 'open-vcdiff/src/testing.h',
|
| 'open-vcdiff/src/varint_bigendian.cc',
|
| @@ -59,6 +59,34 @@
|
| [ 'OS == "mac"', { 'include_dirs': [ 'mac' ] } ],
|
| [ 'OS == "win"', { 'include_dirs': [ 'open-vcdiff/vsprojects' ] } ],
|
| ],
|
| + # 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)' ],
|
| },
|
| ],
|
| }
|
|
|