Improve scrolling performance in OOP PDF
[chromium-blink-merge.git] / courgette / BUILD.gn
blobefbab04dc3cff7b7a6b4dc0526e198670cb50384
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
3 # found in the LICENSE file.
5 static_library("courgette_lib") {
6   sources = [
7     "adjustment_method.cc",
8     "adjustment_method_2.cc",
9     "adjustment_method.h",
10     "assembly_program.cc",
11     "assembly_program.h",
12     "third_party/bsdiff.h",
13     "third_party/bsdiff_apply.cc",
14     "third_party/bsdiff_create.cc",
15     "third_party/paged_array.h",
16     "courgette.h",
17     "crc.cc",
18     "crc.h",
19     "difference_estimator.cc",
20     "difference_estimator.h",
21     "disassembler.cc",
22     "disassembler.h",
23     "disassembler_elf_32.cc",
24     "disassembler_elf_32.h",
25     "disassembler_elf_32_arm.cc",
26     "disassembler_elf_32_arm.h",
27     "disassembler_elf_32_x86.cc",
28     "disassembler_elf_32_x86.h",
29     "disassembler_win32_x86.cc",
30     "disassembler_win32_x86.h",
31     "disassembler_win32_x64.cc",
32     "disassembler_win32_x64.h",
33     "encoded_program.cc",
34     "encoded_program.h",
35     "ensemble.cc",
36     "ensemble.h",
37     "ensemble_apply.cc",
38     "ensemble_create.cc",
39     "memory_allocator.cc",
40     "memory_allocator.h",
41     "region.h",
42     "simple_delta.cc",
43     "simple_delta.h",
44     "streams.cc",
45     "streams.h",
46     "types_elf.h",
47     "types_win_pe.h",
48     "patch_generator_x86_32.h",
49     "patcher_x86_32.h",
50   ]
52   deps = [
53     "//base",
54     "//third_party/lzma_sdk",
55   ]
58 executable("courgette") {
59   if (is_win && cpu_arch == "x64") {
60     # The build infrastructure needs courgette to be named courgette64.
61     output_name = "courgette64"
62   }
64   sources = [
65     "courgette_tool.cc",
66   ]
68   if (is_win) {
69     ldflags = [ "/LARGEADDRESSAWARE" ]
70   }
72   deps = [
73     ":courgette_lib",
74     "//base",
75   ]
78 executable("courgette_minimal_tool") {
79   sources = [
80     "courgette_minimal_tool.cc",
81   ]
83   deps = [
84     ":courgette_lib",
85     "//base",
86   ]
89 test("courgette_unittests") {
90   sources = [
91     "adjustment_method_unittest.cc",
92     "bsdiff_memory_unittest.cc",
93     "base_test_unittest.cc",
94     "base_test_unittest.h",
95     "difference_estimator_unittest.cc",
96     "disassembler_elf_32_x86_unittest.cc",
97     "disassembler_win32_x86_unittest.cc",
98     "disassembler_win32_x64_unittest.cc",
99     "encoded_program_unittest.cc",
100     "encode_decode_unittest.cc",
101     "ensemble_unittest.cc",
102     "streams_unittest.cc",
103     "typedrva_unittest.cc",
104     "versioning_unittest.cc",
105     "third_party/paged_array_unittest.cc"
106   ]
108   if (is_win) {
109     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
110     cflags = [ "/wd4267" ]
111   }
113   deps = [
114     ":courgette_lib",
115     "//base",
116     "//base:i18n",
117     "//base/allocator",
118     "//base/test:run_all_unittests",
119     "//base/test:test_support",
120     "//testing/gtest",
121   ]
124 test("courgette_fuzz") {
125   sources = [
126     "base_test_unittest.cc",
127     "base_test_unittest.h",
128     "encoded_program_fuzz_unittest.cc",
129   ]
130   deps = [
131     ":courgette_lib",
132     "//base",
133     "//base:i18n",
134     "//base/test:test_support",
135     "//testing/gtest",
136   ]