1 # Copyright (c) 2011 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. 4 5 { 6 'variables': { 7 'chromium_code': 1, 8 'courgette_lib_sources': [ 9 'adjustment_method.cc', 10 'adjustment_method_2.cc', 11 'adjustment_method.h', 12 'assembly_program.cc', 13 'assembly_program.h', 14 'third_party/bsdiff.h', 15 'third_party/bsdiff_apply.cc', 16 'third_party/bsdiff_create.cc', 17 'third_party/paged_array.h', 18 'courgette.h', 19 'crc.cc', 20 'crc.h', 21 'difference_estimator.cc', 22 'difference_estimator.h', 23 'disassembler.cc', 24 'disassembler.h', 25 'disassembler_elf_32.cc', 26 'disassembler_elf_32.h', 27 'disassembler_elf_32_arm.cc', 28 'disassembler_elf_32_arm.h', 29 'disassembler_elf_32_x86.cc', 30 'disassembler_elf_32_x86.h', 31 'disassembler_win32_x86.cc', 32 'disassembler_win32_x86.h', 33 'disassembler_win32_x64.cc', 34 'disassembler_win32_x64.h', 35 'encoded_program.cc', 36 'encoded_program.h', 37 'ensemble.cc', 38 'ensemble.h', 39 'ensemble_apply.cc', 40 'ensemble_create.cc', 41 'memory_allocator.cc', 42 'memory_allocator.h', 43 'region.h', 44 'simple_delta.cc', 45 'simple_delta.h', 46 'streams.cc', 47 'streams.h', 48 'types_elf.h', 49 'types_win_pe.h', 50 'patch_generator_x86_32.h', 51 'patcher_x86_32.h', 52 ], 53 }, 54 'targets': [ 55 { 56 'target_name': 'courgette_lib', 57 'type': 'static_library', 58 'dependencies': [ 59 '../base/base.gyp:base', 60 '../third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk', 61 ], 62 'sources': [ 63 '<@(courgette_lib_sources)' 64 ], 65 }, 66 { 67 'target_name': 'courgette', 68 'type': 'executable', 69 'sources': [ 70 'courgette_tool.cc', 71 ], 72 'dependencies': [ 73 'courgette_lib', 74 '../base/base.gyp:base', 75 ], 76 'msvs_settings': { 77 'VCLinkerTool': { 78 'LargeAddressAware': 2, 79 }, 80 }, 81 }, 82 { 83 'target_name': 'courgette_minimal_tool', 84 'type': 'executable', 85 'sources': [ 86 'courgette_minimal_tool.cc', 87 ], 88 'dependencies': [ 89 'courgette_lib', 90 '../base/base.gyp:base', 91 ], 92 }, 93 { 94 'target_name': 'courgette_unittests', 95 'type': 'executable', 96 'sources': [ 97 'adjustment_method_unittest.cc', 98 'bsdiff_memory_unittest.cc', 99 'base_test_unittest.cc', 100 'base_test_unittest.h', 101 'difference_estimator_unittest.cc', 102 'disassembler_elf_32_x86_unittest.cc', 103 'disassembler_win32_x86_unittest.cc', 104 'disassembler_win32_x64_unittest.cc', 105 'encoded_program_unittest.cc', 106 'encode_decode_unittest.cc', 107 'ensemble_unittest.cc', 108 'streams_unittest.cc', 109 'typedrva_unittest.cc', 110 'versioning_unittest.cc', 111 'third_party/paged_array_unittest.cc' 112 ], 113 'dependencies': [ 114 'courgette_lib', 115 '../base/base.gyp:base', 116 '../base/base.gyp:base_i18n', 117 '../base/base.gyp:run_all_unittests', 118 '../base/base.gyp:test_support_base', 119 '../testing/gtest.gyp:gtest', 120 ], 121 'conditions': [ 122 [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 123 'conditions': [ 124 ['use_allocator!="none"', { 125 'dependencies': [ 126 '../base/allocator/allocator.gyp:allocator', 127 ], 128 }], 129 ], 130 }], 131 ], 132 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 133 'msvs_disabled_warnings': [4267, ], 134 }, 135 { 136 'target_name': 'courgette_fuzz', 137 'type': 'executable', 138 'sources': [ 139 'base_test_unittest.cc', 140 'base_test_unittest.h', 141 'encoded_program_fuzz_unittest.cc', 142 ], 143 'dependencies': [ 144 'courgette_lib', 145 '../base/base.gyp:base', 146 '../base/base.gyp:base_i18n', 147 '../base/base.gyp:test_support_base', 148 '../testing/gtest.gyp:gtest', 149 ], 150 }, 151 ], 152 'conditions': [ 153 ['OS=="win" and target_arch=="ia32"', { 154 'targets': [ 155 { 156 'target_name': 'courgette_lib64', 157 'type': 'static_library', 158 'dependencies': [ 159 '../base/base.gyp:base_win64', 160 '../third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk64', 161 ], 162 'sources': [ 163 '<@(courgette_lib_sources)', 164 ], 165 'configurations': { 166 'Common_Base': { 167 'msvs_target_platform': 'x64', 168 }, 169 }, 170 }, 171 { 172 'target_name': 'courgette64', 173 'type': 'executable', 174 'sources': [ 175 'courgette_tool.cc', 176 ], 177 'dependencies': [ 178 'courgette_lib64', 179 '../base/base.gyp:base_win64', 180 ], 181 'configurations': { 182 'Common_Base': { 183 'msvs_target_platform': 'x64', 184 }, 185 }, 186 }, 187 ], 188 }], 189 # The build infrastructure needs courgette to be named courgette64. 190 ['OS=="win" and target_arch=="x64"', { 191 'targets': [ 192 { 193 'target_name': 'courgette64', 194 'type': 'none', 195 'dependencies': [ 196 'courgette', 197 ], 198 'actions': [{ 199 'action_name': 'courgette64', 200 'inputs': [ 201 '<(PRODUCT_DIR)/courgette.exe', 202 ], 203 'outputs': [ 204 '<(PRODUCT_DIR)/courgette64.exe', 205 ], 206 'action': [ 207 'python', 208 '../build/cp.py', 209 '<@(_inputs)', 210 '<@(_outputs)' 211 ], 212 }], 213 }, 214 ], 215 }], 216 ], 217 } 218