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