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 '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 ], 51 }, 52 'targets': [ 53 { 54 'target_name': 'courgette_lib', 55 'type': 'static_library', 56 'dependencies': [ 57 '../base/base.gyp:base', 58 '../third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk', 59 ], 60 'sources': [ 61 '<@(courgette_lib_sources)' 62 ], 63 }, 64 { 65 'target_name': 'courgette', 66 'type': 'executable', 67 'sources': [ 68 'courgette_tool.cc', 69 ], 70 'dependencies': [ 71 'courgette_lib', 72 '../base/base.gyp:base', 73 ], 74 'msvs_settings': { 75 'VCLinkerTool': { 76 'LargeAddressAware': 2, 77 }, 78 }, 79 }, 80 { 81 'target_name': 'courgette_minimal_tool', 82 'type': 'executable', 83 'sources': [ 84 'courgette_minimal_tool.cc', 85 ], 86 'dependencies': [ 87 'courgette_lib', 88 '../base/base.gyp:base', 89 ], 90 }, 91 { 92 'target_name': 'courgette_unittests', 93 'type': 'executable', 94 'sources': [ 95 'adjustment_method_unittest.cc', 96 'bsdiff_memory_unittest.cc', 97 'base_test_unittest.cc', 98 'base_test_unittest.h', 99 'difference_estimator_unittest.cc', 100 'disassembler_elf_32_x86_unittest.cc', 101 'disassembler_win32_x86_unittest.cc', 102 'encoded_program_unittest.cc', 103 'encode_decode_unittest.cc', 104 'ensemble_unittest.cc', 105 'run_all_unittests.cc', 106 'streams_unittest.cc', 107 'typedrva_unittest.cc', 108 'versioning_unittest.cc', 109 'third_party/paged_array_unittest.cc' 110 ], 111 'dependencies': [ 112 'courgette_lib', 113 '../base/base.gyp:base', 114 '../base/base.gyp:base_i18n', 115 '../base/base.gyp:test_support_base', 116 '../testing/gtest.gyp:gtest', 117 ], 118 'conditions': [ 119 [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 120 'conditions': [ 121 ['linux_use_tcmalloc==1', { 122 'dependencies': [ 123 '../base/allocator/allocator.gyp:allocator', 124 ], 125 }], 126 ], 127 }], 128 [ 'toolkit_uses_gtk == 1', { 129 'dependencies': [ 130 # Workaround for gyp bug 69. 131 # Needed to handle the #include chain: 132 # base/test_suite.h 133 # gtk/gtk.h 134 '../build/linux/system.gyp:gtk', 135 ], 136 }], 137 ], 138 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 139 'msvs_disabled_warnings': [4267, ], 140 }, 141 { 142 'target_name': 'courgette_fuzz', 143 'type': 'executable', 144 'sources': [ 145 'base_test_unittest.cc', 146 'base_test_unittest.h', 147 'encoded_program_fuzz_unittest.cc', 148 ], 149 'dependencies': [ 150 'courgette_lib', 151 '../base/base.gyp:base', 152 '../base/base.gyp:base_i18n', 153 '../base/base.gyp:test_support_base', 154 '../testing/gtest.gyp:gtest', 155 ], 156 'conditions': [ 157 [ 'toolkit_uses_gtk == 1', { 158 'dependencies': [ 159 # Workaround for gyp bug 69. 160 # Needed to handle the #include chain: 161 # base/test_suite.h 162 # gtk/gtk.h 163 '../build/linux/system.gyp:gtk', 164 ], 165 }], 166 ], 167 }, 168 ], 169 'conditions': [ 170 ['OS=="win" and target_arch=="ia32"', { 171 'targets': [ 172 { 173 'target_name': 'courgette_lib64', 174 'type': 'static_library', 175 'dependencies': [ 176 '../base/base.gyp:base_nacl_win64', 177 '../third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk64', 178 ], 179 'sources': [ 180 '<@(courgette_lib_sources)', 181 ], 182 'configurations': { 183 'Common_Base': { 184 'msvs_target_platform': 'x64', 185 }, 186 }, 187 }, 188 { 189 'target_name': 'courgette64', 190 'type': 'executable', 191 'sources': [ 192 'courgette_tool.cc', 193 ], 194 'dependencies': [ 195 'courgette_lib64', 196 '../base/base.gyp:base_nacl_win64', 197 ], 198 'configurations': { 199 'Common_Base': { 200 'msvs_target_platform': 'x64', 201 }, 202 }, 203 }, 204 ], 205 }], 206 ], 207 } 208