# Copyright 2014 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. import("//testing/test.gni") static_library("courgette_lib") { sources = [ "adjustment_method.cc", "adjustment_method.h", "adjustment_method_2.cc", "assembly_program.cc", "assembly_program.h", "consecutive_range_visitor.h", "courgette.h", "crc.cc", "crc.h", "difference_estimator.cc", "difference_estimator.h", "disassembler.cc", "disassembler.h", "disassembler_elf_32.cc", "disassembler_elf_32.h", "disassembler_elf_32_arm.cc", "disassembler_elf_32_arm.h", "disassembler_elf_32_x86.cc", "disassembler_elf_32_x86.h", "disassembler_win32_x64.cc", "disassembler_win32_x64.h", "disassembler_win32_x86.cc", "disassembler_win32_x86.h", "encoded_program.cc", "encoded_program.h", "ensemble.cc", "ensemble.h", "ensemble_apply.cc", "ensemble_create.cc", "image_utils.h", "label_manager.cc", "label_manager.h", "memory_allocator.cc", "memory_allocator.h", "patch_generator_x86_32.h", "patcher_x86_32.h", "program_detector.cc", "program_detector.h", "region.h", "rel32_finder_win32_x86.cc", "rel32_finder_win32_x86.h", "simple_delta.cc", "simple_delta.h", "streams.cc", "streams.h", "third_party/bsdiff.h", "third_party/bsdiff_apply.cc", "third_party/bsdiff_create.cc", "third_party/paged_array.h", "third_party/qsufsort.h", "types_elf.h", "types_win_pe.h", ] deps = [ "//base", "//third_party/lzma_sdk", ] } executable("courgette") { if (is_win && current_cpu == "x64") { # The build infrastructure needs courgette to be named courgette64. output_name = "courgette64" } sources = [ "courgette_tool.cc", ] if (is_win) { ldflags = [ "/LARGEADDRESSAWARE" ] } deps = [ ":courgette_lib", "//base", "//build/config/sanitizers:deps", ] } executable("courgette_minimal_tool") { sources = [ "courgette_minimal_tool.cc", ] deps = [ ":courgette_lib", "//base", "//build/config/sanitizers:deps", ] } test("courgette_unittests") { sources = [ "adjustment_method_unittest.cc", "base_test_unittest.cc", "base_test_unittest.h", "bsdiff_memory_unittest.cc", "consecutive_range_visitor_unittest.cc", "difference_estimator_unittest.cc", "disassembler_elf_32_x86_unittest.cc", "disassembler_win32_x64_unittest.cc", "disassembler_win32_x86_unittest.cc", "encode_decode_unittest.cc", "encoded_program_unittest.cc", "ensemble_unittest.cc", "image_utils_unittest.cc", "label_manager_unittest.cc", "memory_allocator_unittest.cc", "rel32_finder_win32_x86_unittest.cc", "streams_unittest.cc", "third_party/paged_array_unittest.cc", "third_party/qsufsort_unittest.cc", "typedrva_unittest.cc", "versioning_unittest.cc", ] # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] deps = [ ":courgette_lib", "//base", "//base:i18n", "//base/test:run_all_unittests", "//base/test:test_support", "//testing/gtest", ] data = [ "testdata/", ] } test("courgette_fuzz") { sources = [ "base_test_unittest.cc", "base_test_unittest.h", "encoded_program_fuzz_unittest.cc", ] deps = [ ":courgette_lib", "//base", "//base:i18n", "//base/test:test_support", "//testing/gtest", ] }