[Sync] Fix invalidations on Android.
[chromium-blink-merge.git] / third_party / leveldatabase / leveldatabase.gyp
blob8dc5f32a0017452dcfb30ad74e655dddc0deb52c
1 # Copyright (c) 2011 The LevelDB 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. See the AUTHORS file for names of contributors.
6   'conditions': [
7     ['OS=="android"', {
8       'targets': [{
9         'target_name': 'env_chromium_unittests_apk',
10         'type': 'none',
11         'dependencies': [
12           '<(DEPTH)/base/base.gyp:base_java',
13           'env_chromium_unittests',
14         ],
15         'variables': {
16           'test_suite_name': 'env_chromium_unittests',
17         },
18         'includes': [ '../../build/apk_test.gypi' ],
19       }],
20     }],
21   ],
22   'target_defaults': {
23     'defines': [
24       'LEVELDB_PLATFORM_CHROMIUM=1',
25       'USE_SNAPPY=1',
26     ],
27     'include_dirs': [
28       '.',
29       'src/',
30       'src/include/',
31     ],
32     'conditions': [
33       ['OS!="win"', {
34         'sources/': [ ['exclude', '_win.(h|cc)$'], ],
35       }],
36     ],
37   },
38   'targets': [
39     {
40       'target_name': 'leveldatabase',
41       'type': 'static_library',
42       'dependencies': [
43         '../../base/base.gyp:base',
44         # base::LazyInstance is a template that pulls in dynamic_annotations so
45         # we need to explictly link in the code for dynamic_annotations.
46         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
47         '../../third_party/re2/re2.gyp:re2',
48         '../../third_party/snappy/snappy.gyp:snappy',
49       ],
50       'direct_dependent_settings': {
51         'include_dirs': [
52           'src/include/',
53           'src/',
54           '.',
55         ],
56       },
57       # Patch posted for upstream, can be removed once that's landed and
58       # rolled into Chromium.
59       # Internal link: https://mondrian.corp.google.com/#review/29997992
60       'msvs_disabled_warnings': [
61         # Signed/unsigned comparison.
62         4018,
64         # TODO(jschuh): http://crbug.com/167187 size_t -> int
65         4267,
66       ],
67       'sources': [
68         # Include and then exclude so that all files show up in IDEs, even if
69         # they don't build.
70         'chromium_logger.h',
71         'env_chromium.cc',
72         'env_chromium.h',
73         'env_idb.h',
74         'port/port_chromium.cc',
75         'port/port_chromium.h',
76         'src/db/builder.cc',
77         'src/db/builder.h',
78         'src/db/db_impl.cc',
79         'src/db/db_impl.h',
80         'src/db/db_iter.cc',
81         'src/db/db_iter.h',
82         'src/db/dbformat.cc',
83         'src/db/dbformat.h',
84         'src/db/dumpfile.cc',
85         'src/db/filename.cc',
86         'src/db/filename.h',
87         'src/db/log_format.h',
88         'src/db/log_reader.cc',
89         'src/db/log_reader.h',
90         'src/db/log_writer.cc',
91         'src/db/log_writer.h',
92         'src/db/memtable.cc',
93         'src/db/memtable.h',
94         'src/db/repair.cc',
95         'src/db/skiplist.h',
96         'src/db/snapshot.h',
97         'src/db/table_cache.cc',
98         'src/db/table_cache.h',
99         'src/db/version_edit.cc',
100         'src/db/version_edit.h',
101         'src/db/version_set.cc',
102         'src/db/version_set.h',
103         'src/db/write_batch.cc',
104         'src/db/write_batch_internal.h',
105         'src/helpers/memenv/memenv.cc',
106         'src/helpers/memenv/memenv.h',
107         'src/include/leveldb/cache.h',
108         'src/include/leveldb/comparator.h',
109         'src/include/leveldb/db.h',
110         'src/include/leveldb/dumpfile.h',
111         'src/include/leveldb/env.h',
112         'src/include/leveldb/filter_policy.h',
113         'src/include/leveldb/iterator.h',
114         'src/include/leveldb/options.h',
115         'src/include/leveldb/slice.h',
116         'src/include/leveldb/status.h',
117         'src/include/leveldb/table.h',
118         'src/include/leveldb/table_builder.h',
119         'src/include/leveldb/write_batch.h',
120         'src/port/port.h',
121         'src/port/port_example.h',
122         'src/port/port_posix.cc',
123         'src/port/port_posix.h',
124         'src/table/block.cc',
125         'src/table/block.h',
126         'src/table/block_builder.cc',
127         'src/table/block_builder.h',
128         'src/table/filter_block.cc',
129         'src/table/filter_block.h',
130         'src/table/format.cc',
131         'src/table/format.h',
132         'src/table/iterator.cc',
133         'src/table/iterator_wrapper.h',
134         'src/table/merger.cc',
135         'src/table/merger.h',
136         'src/table/table.cc',
137         'src/table/table_builder.cc',
138         'src/table/two_level_iterator.cc',
139         'src/table/two_level_iterator.h',
140         'src/util/arena.cc',
141         'src/util/arena.h',
142         'src/util/bloom.cc',
143         'src/util/cache.cc',
144         'src/util/coding.cc',
145         'src/util/coding.h',
146         'src/util/comparator.cc',
147         'src/util/crc32c.cc',
148         'src/util/crc32c.h',
149         'src/util/env.cc',
150         'src/util/filter_policy.cc',
151         'src/util/hash.cc',
152         'src/util/hash.h',
153         'src/util/logging.cc',
154         'src/util/logging.h',
155         'src/util/mutexlock.h',
156         'src/util/options.cc',
157         'src/util/random.h',
158         'src/util/status.cc',
159       ],
160       'sources/': [
161         ['exclude', '_(example|posix)\\.(h|cc)$'],
162       ],
163     },
164     {
165       'target_name': 'env_chromium_unittests',
166       'type': '<(gtest_target_type)',
167       'dependencies': [
168         'leveldatabase',
169         '../../base/base.gyp:test_support_base',
170         '../../testing/gtest.gyp:gtest',
171       ],
172       'sources': [
173         'env_chromium_unittest.cc',
174       ],
175       'conditions': [
176         ['OS=="android"', {
177           'type': 'shared_library',
178           'dependencies': [
179             '../../testing/android/native_test.gyp:native_test_native_code',
180             '../../tools/android/forwarder2/forwarder.gyp:forwarder2',
181           ],
182         }],
183       ],
184     },
185     {
186       'target_name': 'leveldb_testutil',
187       'type': 'static_library',
188       'dependencies': [
189         '../../base/base.gyp:base',
190         'leveldatabase',
191       ],
192       'export_dependent_settings': [
193         # The tests use include directories from these projects.
194         '../../base/base.gyp:base',
195         'leveldatabase',
196       ],
197       'sources': [
198         'src/util/histogram.cc',
199         'src/util/histogram.h',
200         'src/util/testharness.cc',
201         'src/util/testharness.h',
202         'src/util/testutil.cc',
203         'src/util/testutil.h',
204       ],
205     },
206     {
207       'target_name': 'leveldb_arena_test',
208       'type': 'executable',
209       'dependencies': [
210         'leveldb_testutil',
211       ],
212       'sources': [
213         'src/util/arena_test.cc',
214       ],
215     },
216     {
217       'target_name': 'leveldb_bloom_test',
218       'type': 'executable',
219       'dependencies': [
220         'leveldb_testutil',
221       ],
222       'sources': [
223         'src/util/bloom_test.cc',
224       ],
225     },
226     {
227       'target_name': 'leveldb_cache_test',
228       'type': 'executable',
229       'dependencies': [
230         'leveldb_testutil',
231       ],
232       'sources': [
233         'src/util/cache_test.cc',
234       ],
235     },
236     {
237       'target_name': 'leveldb_coding_test',
238       'type': 'executable',
239       'dependencies': [
240         'leveldb_testutil',
241       ],
242       'sources': [
243         'src/util/coding_test.cc',
244       ],
245     },
246     {
247       'target_name': 'leveldb_corruption_test',
248       'type': 'executable',
249       'dependencies': [
250         'leveldb_testutil',
251       ],
252       'sources': [
253         'src/db/corruption_test.cc',
254       ],
255     },
256     {
257       'target_name': 'leveldb_fault_injection_test',
258       'type': 'executable',
259       'dependencies': [
260         'leveldb_testutil',
261       ],
262       'sources': [
263         'src/db/fault_injection_test.cc',
264       ],
265     },
266     {
267       'target_name': 'leveldb_recovery_test',
268       'type': 'executable',
269       'dependencies': [
270         'leveldb_testutil',
271       ],
272       'sources': [
273         'src/db/recovery_test.cc',
274       ],
275     },
276     {
277       'target_name': 'leveldb_crc32c_test',
278       'type': 'executable',
279       'dependencies': [
280         'leveldb_testutil',
281       ],
282       'sources': [
283         'src/util/crc32c_test.cc',
284       ],
285     },
286     {
287       'target_name': 'leveldb_db_bench',
288       'type': 'executable',
289       'dependencies': [
290         'leveldb_testutil',
291       ],
292       'sources': [
293         'src/db/db_bench.cc',
294       ],
295     },
296     {
297       'target_name': 'leveldb_db_test',
298       'type': 'executable',
299       'dependencies': [
300         'leveldb_testutil',
301       ],
302       'sources': [
303         'src/db/db_test.cc',
304       ],
305     },
306     {
307       'target_name': 'leveldb_dbformat_test',
308       'type': 'executable',
309       'dependencies': [
310         'leveldb_testutil',
311       ],
312       'sources': [
313         'src/db/dbformat_test.cc',
314       ],
315     },
316     {
317       'target_name': 'leveldb_env_test',
318       'type': 'executable',
319       'dependencies': [
320         'leveldb_testutil',
321       ],
322       'sources': [
323         'src/util/env_test.cc',
324       ],
325     },
326     {
327       'target_name': 'leveldb_filename_test',
328       'type': 'executable',
329       'dependencies': [
330         'leveldb_testutil',
331       ],
332       'sources': [
333         'src/db/filename_test.cc',
334       ],
335     },
336     {
337       'target_name': 'leveldb_filter_block_test',
338       'type': 'executable',
339       'dependencies': [
340         'leveldb_testutil',
341       ],
342       'sources': [
343         'src/table/filter_block_test.cc',
344       ],
345     },
346     {
347       'target_name': 'leveldb_log_test',
348       'type': 'executable',
349       'dependencies': [
350         'leveldb_testutil',
351       ],
352       'sources': [
353         'src/db/log_test.cc',
354       ],
355     },
356     {
357       'target_name': 'leveldb_skiplist_test',
358       'type': 'executable',
359       'dependencies': [
360         'leveldb_testutil',
361       ],
362       'sources': [
363         'src/db/skiplist_test.cc',
364       ],
365     },
366     {
367       'target_name': 'leveldb_table_test',
368       'type': 'executable',
369       'dependencies': [
370         'leveldb_testutil',
371       ],
372       'sources': [
373         'src/table/table_test.cc',
374       ],
375     },
376     {
377       'target_name': 'leveldb_version_edit_test',
378       'type': 'executable',
379       'dependencies': [
380         'leveldb_testutil',
381       ],
382       'sources': [
383         'src/db/version_edit_test.cc',
384       ],
385     },
386     {
387       'target_name': 'leveldb_write_batch_test',
388       'type': 'executable',
389       'dependencies': [
390         'leveldb_testutil',
391       ],
392       'sources': [
393         'src/db/write_batch_test.cc',
394       ],
395     },
396     {
397       'target_name': 'leveldb_main',
398       'type': 'executable',
399       'dependencies': [
400         'leveldb_testutil',
401       ],
402       'sources': [
403         'src/db/leveldb_main.cc',
404       ],
405     },
406   ],