| OLD | NEW |
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 config("sdch_config") { | 5 config("sdch_config") { |
| 6 include_dirs = [ "open-vcdiff/src" ] | 6 include_dirs = [ "open-vcdiff/src" ] |
| 7 } | 7 } |
| 8 | 8 |
| 9 static_library("sdch") { | 9 static_library("sdch") { |
| 10 sources = [ | 10 sources = [ |
| 11 "logging_forward.h", |
| 11 "open-vcdiff/src/addrcache.cc", | 12 "open-vcdiff/src/addrcache.cc", |
| 12 "open-vcdiff/src/blockhash.cc", | 13 "open-vcdiff/src/blockhash.cc", |
| 13 "open-vcdiff/src/blockhash.h", | 14 "open-vcdiff/src/blockhash.h", |
| 14 "open-vcdiff/src/checksum.h", | 15 "open-vcdiff/src/checksum.h", |
| 15 "open-vcdiff/src/codetable.cc", | 16 "open-vcdiff/src/codetable.cc", |
| 16 "open-vcdiff/src/codetable.h", | 17 "open-vcdiff/src/codetable.h", |
| 17 "open-vcdiff/src/compile_assert.h", | 18 "open-vcdiff/src/compile_assert.h", |
| 18 "open-vcdiff/src/decodetable.cc", | 19 "open-vcdiff/src/decodetable.cc", |
| 19 "open-vcdiff/src/decodetable.h", | 20 "open-vcdiff/src/decodetable.h", |
| 20 "open-vcdiff/src/encodetable.cc", | 21 "open-vcdiff/src/encodetable.cc", |
| 21 "open-vcdiff/src/encodetable.h", | 22 "open-vcdiff/src/encodetable.h", |
| 22 "open-vcdiff/src/google/output_string.h", | 23 "open-vcdiff/src/google/output_string.h", |
| 23 "open-vcdiff/src/google/vcdecoder.h", | 24 "open-vcdiff/src/google/vcdecoder.h", |
| 24 "open-vcdiff/src/headerparser.cc", | 25 "open-vcdiff/src/headerparser.cc", |
| 25 "open-vcdiff/src/headerparser.h", | 26 "open-vcdiff/src/headerparser.h", |
| 26 "open-vcdiff/src/instruction_map.cc", | 27 "open-vcdiff/src/instruction_map.cc", |
| 27 "open-vcdiff/src/instruction_map.h", | 28 "open-vcdiff/src/instruction_map.h", |
| 28 "open-vcdiff/src/logging.cc", | |
| 29 "open-vcdiff/src/logging.h", | |
| 30 "open-vcdiff/src/rolling_hash.h", | 29 "open-vcdiff/src/rolling_hash.h", |
| 31 "open-vcdiff/src/testing.h", | 30 "open-vcdiff/src/testing.h", |
| 32 "open-vcdiff/src/varint_bigendian.cc", | 31 "open-vcdiff/src/varint_bigendian.cc", |
| 33 "open-vcdiff/src/varint_bigendian.h", | 32 "open-vcdiff/src/varint_bigendian.h", |
| 34 "open-vcdiff/src/vcdecoder.cc", | 33 "open-vcdiff/src/vcdecoder.cc", |
| 35 "open-vcdiff/src/vcdiff_defs.h", | 34 "open-vcdiff/src/vcdiff_defs.h", |
| 36 "open-vcdiff/src/vcdiffengine.cc", | 35 "open-vcdiff/src/vcdiffengine.cc", |
| 37 "open-vcdiff/src/vcdiffengine.h", | 36 "open-vcdiff/src/vcdiffengine.h", |
| 38 "open-vcdiff/vsprojects/config.h", | 37 "open-vcdiff/vsprojects/config.h", |
| 39 "open-vcdiff/vsprojects/stdint.h", | 38 "open-vcdiff/vsprojects/stdint.h", |
| 40 ] | 39 ] |
| 41 | 40 |
| 42 direct_dependent_configs = [ ":sdch_config" ] | 41 direct_dependent_configs = [ ":sdch_config" ] |
| 43 | 42 |
| 43 deps = [ |
| 44 "//base", |
| 45 "//third_party/zlib", |
| 46 ] |
| 47 |
| 44 if (is_linux || is_android) { | 48 if (is_linux || is_android) { |
| 45 include_dirs = [ "linux" ] | 49 include_dirs = [ "linux" ] |
| 46 } else if (is_ios) { | 50 } else if (is_ios) { |
| 47 include_dirs = [ "ios" ] | 51 include_dirs = [ "ios" ] |
| 48 } else if (is_mac) { | 52 } else if (is_mac) { |
| 49 include_dirs = [ "mac" ] | 53 include_dirs = [ "mac" ] |
| 50 } else if (is_win) { | 54 } else if (is_win) { |
| 51 include_dirs = [ "win" ] | 55 include_dirs = [ "win" ] |
| 52 } | 56 } |
| 53 | 57 |
| 54 deps = [ "//third_party/zlib" ] | 58 # open-vcdiff's logging.h introduces static initializers. This was |
| 55 | 59 # reported upstream years ago ( |
| 56 if (is_clang) { | 60 # https://code.google.com/p/open-vcdiff/issues/detail?id=33 ). Since |
| 61 # upstream won't fix this, work around it on the chromium side: |
| 62 # Inject a header that forwards to base/logging.h instead (which doesn't |
| 63 # introduce static initializers, and which prevents open-vcdiff's |
| 64 # logging.h from being used). |
| 65 logging_file = rebase_path("logging_forward.h", root_build_dir) |
| 66 if (is_win) { |
| 57 cflags = [ | 67 cflags = [ |
| 68 "/FI", rebase_path("//build/intsafe_workaround.h", root_build_dir), |
| 69 "/FI", logging_file, |
| 70 ] |
| 71 } else { |
| 72 cflags = [ "-include", logging_file ] |
| 73 if (is_linux) { |
| 58 # TODO(mostynb): remove this if open-vcdiff is ever updated for c++11: | 74 # TODO(mostynb): remove this if open-vcdiff is ever updated for c++11: |
| 59 "-Wno-deprecated-declarations", | 75 cflags += [ "-Wno-deprecated-declarations" ] |
| 60 ] | 76 } |
| 61 } | 77 } |
| 62 } | 78 } |
| OLD | NEW |