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