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 import("//testing/test.gni")
7 static_library("courgette_lib") {
9 "adjustment_method.cc",
10 "adjustment_method.h",
11 "adjustment_method_2.cc",
12 "assembly_program.cc",
17 "difference_estimator.cc",
18 "difference_estimator.h",
21 "disassembler_elf_32.cc",
22 "disassembler_elf_32.h",
23 "disassembler_elf_32_arm.cc",
24 "disassembler_elf_32_arm.h",
25 "disassembler_elf_32_x86.cc",
26 "disassembler_elf_32_x86.h",
27 "disassembler_win32_x64.cc",
28 "disassembler_win32_x64.h",
29 "disassembler_win32_x86.cc",
30 "disassembler_win32_x86.h",
38 "memory_allocator.cc",
40 "patch_generator_x86_32.h",
43 "rel32_finder_win32_x86.cc",
44 "rel32_finder_win32_x86.h",
49 "third_party/bsdiff.h",
50 "third_party/bsdiff_apply.cc",
51 "third_party/bsdiff_create.cc",
52 "third_party/paged_array.h",
53 "third_party/qsufsort.h",
60 "//third_party/lzma_sdk",
64 executable("courgette") {
65 if (is_win && current_cpu == "x64") {
66 # The build infrastructure needs courgette to be named courgette64.
67 output_name = "courgette64"
75 ldflags = [ "/LARGEADDRESSAWARE" ]
81 "//build/config/sanitizers:deps",
85 executable("courgette_minimal_tool") {
87 "courgette_minimal_tool.cc",
93 "//build/config/sanitizers:deps",
97 test("courgette_unittests") {
99 "adjustment_method_unittest.cc",
100 "base_test_unittest.cc",
101 "base_test_unittest.h",
102 "bsdiff_memory_unittest.cc",
103 "difference_estimator_unittest.cc",
104 "disassembler_elf_32_x86_unittest.cc",
105 "disassembler_win32_x64_unittest.cc",
106 "disassembler_win32_x86_unittest.cc",
107 "encode_decode_unittest.cc",
108 "encoded_program_unittest.cc",
109 "ensemble_unittest.cc",
110 "image_utils_unittest.cc",
111 "memory_allocator_unittest.cc",
112 "rel32_finder_win32_x86_unittest.cc",
113 "streams_unittest.cc",
114 "third_party/paged_array_unittest.cc",
115 "third_party/qsufsort_unittest.cc",
116 "typedrva_unittest.cc",
117 "versioning_unittest.cc",
120 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
121 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
128 "//base/test:run_all_unittests",
129 "//base/test:test_support",
134 test("courgette_fuzz") {
136 "base_test_unittest.cc",
137 "base_test_unittest.h",
138 "encoded_program_fuzz_unittest.cc",
144 "//base/test:test_support",