Roll WebRTC 9846:9854, Libjingle 9845:9853
[chromium-blink-merge.git] / courgette / courgette.gyp
blob5ece6e9f98f27c912ec8db087387fefc2eb71a75
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.
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       'courgette.h',
15       'courgette_config.cc',
16       'courgette_config.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       'third_party/bsdiff.h',
47       'third_party/bsdiff_apply.cc',
48       'third_party/bsdiff_create.cc',
49       'third_party/paged_array.h',
50       'third_party/qsufsort.h',
51       'types_elf.h',
52       'types_win_pe.h',
53       'patch_generator_x86_32.h',
54       'patcher_x86_32.h',
55     ],
56   },
57   'targets': [
58     {
59       'target_name': 'courgette_lib',
60       'type': 'static_library',
61       'dependencies': [
62         '../base/base.gyp:base',
63         '../third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk',
64       ],
65       'sources': [
66         '<@(courgette_lib_sources)'
67       ],
68     },
69     {
70       'target_name': 'courgette',
71       'type': 'executable',
72       'sources': [
73         'courgette_tool.cc',
74       ],
75       'dependencies': [
76         'courgette_lib',
77         '../base/base.gyp:base',
78       ],
79       'msvs_settings': {
80         'VCLinkerTool': {
81           'LargeAddressAware': 2,
82         },
83       },
84     },
85     {
86       'target_name': 'courgette_minimal_tool',
87       'type': 'executable',
88       'sources': [
89         'courgette_minimal_tool.cc',
90       ],
91       'dependencies': [
92         'courgette_lib',
93         '../base/base.gyp:base',
94       ],
95     },
96     {
97       'target_name': 'courgette_unittests',
98       'type': 'executable',
99       'sources': [
100         'adjustment_method_unittest.cc',
101         'bsdiff_memory_unittest.cc',
102         'base_test_unittest.cc',
103         'base_test_unittest.h',
104         'difference_estimator_unittest.cc',
105         'disassembler_elf_32_x86_unittest.cc',
106         'disassembler_win32_x86_unittest.cc',
107         'disassembler_win32_x64_unittest.cc',
108         'encoded_program_unittest.cc',
109         'encode_decode_unittest.cc',
110         'ensemble_unittest.cc',
111         'memory_allocator_unittest.cc',
112         'streams_unittest.cc',
113         'typedrva_unittest.cc',
114         'versioning_unittest.cc',
115         'third_party/paged_array_unittest.cc',
116         'third_party/qsufsort_unittest.cc',
117       ],
118       'dependencies': [
119         'courgette_lib',
120         '../base/base.gyp:base',
121         '../base/base.gyp:base_i18n',
122         '../base/base.gyp:run_all_unittests',
123         '../base/base.gyp:test_support_base',
124         '../testing/gtest.gyp:gtest',
125       ],
126       'conditions': [
127         [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', {
128           'conditions': [
129             ['use_allocator!="none"', {
130               'dependencies': [
131                 '../base/allocator/allocator.gyp:allocator',
132               ],
133             }],
134           ],
135         }],
136       ],
137       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
138       'msvs_disabled_warnings': [4267, ],
139     },
140     {
141       'target_name': 'courgette_fuzz',
142       'type': 'executable',
143       'sources': [
144         'base_test_unittest.cc',
145         'base_test_unittest.h',
146         'encoded_program_fuzz_unittest.cc',
147        ],
148       'dependencies': [
149         'courgette_lib',
150         '../base/base.gyp:base',
151         '../base/base.gyp:base_i18n',
152         '../base/base.gyp:test_support_base',
153         '../testing/gtest.gyp:gtest',
154       ],
155     },
156   ],
157   'conditions': [
158     ['OS=="win" and target_arch=="ia32"', {
159       'targets': [
160         {
161           'target_name': 'courgette_lib64',
162           'type': 'static_library',
163           'dependencies': [
164             '../base/base.gyp:base_win64',
165             '../third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk64',
166           ],
167           'sources': [
168             '<@(courgette_lib_sources)',
169           ],
170           'configurations': {
171             'Common_Base': {
172               'msvs_target_platform': 'x64',
173             },
174           },
175         },
176         {
177           'target_name': 'courgette64',
178           'type': 'executable',
179           'sources': [
180             'courgette_tool.cc',
181           ],
182           'dependencies': [
183             'courgette_lib64',
184             '../base/base.gyp:base_win64',
185           ],
186           'configurations': {
187             'Common_Base': {
188               'msvs_target_platform': 'x64',
189             },
190           },
191         },
192       ],
193     }],
194     # The build infrastructure needs courgette to be named courgette64.
195     ['OS=="win" and target_arch=="x64"', {
196       'targets': [
197         {
198           'target_name': 'courgette64',
199           'type': 'none',
200           'dependencies': [
201             'courgette',
202           ],
203           'actions': [{
204             'action_name': 'courgette64',
205             'inputs': [
206               '<(PRODUCT_DIR)/courgette.exe',
207             ],
208             'outputs': [
209               '<(PRODUCT_DIR)/courgette64.exe',
210             ],
211             'action': [
212               'python',
213               '../build/cp.py',
214               '<@(_inputs)',
215               '<@(_outputs)'
216             ],
217           }],
218         },
219       ],
220     }],
221     ['test_isolation_mode != "noop"', {
222       'targets': [
223         {
224           'target_name': 'courgette_unittests_run',
225           'type': 'none',
226           'dependencies': [
227             'courgette_unittests',
228           ],
229           'includes': [
230             '../build/isolate.gypi',
231           ],
232           'sources': [
233             'courgette_unittests.isolate',
234           ],
235         },
236       ],
237     }],
238   ],