- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / leveldatabase / leveldatabase.gyp
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.
4
5 {
6   'variables': {
7     'use_snappy%': 1,
8   },
9   'conditions': [
10     ['OS == "android" and android_webview_build == 1', {
11       'variables': {
12         # Snappy not used in Android WebView
13         # crbug.com/236780
14         'use_snappy': 0,
15       },
16     }],
17   ],
18   'target_defaults': {
19     'defines': [
20       'LEVELDB_PLATFORM_CHROMIUM=1',
21     ],
22     'include_dirs': [
23       '.',
24       'src/',
25       'src/include/',
26     ],
27     'conditions': [
28       ['use_snappy', {
29         'defines': [
30           'USE_SNAPPY=1',
31         ],
32       }],
33     ],
34   },
35   'targets': [
36     {
37       'target_name': 'leveldatabase',
38       'type': 'static_library',
39       'dependencies': [
40         '../../base/base.gyp:base',
41         # base::LazyInstance is a template that pulls in dynamic_annotations so
42         # we need to explictly link in the code for dynamic_annotations.
43         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
44         '../re2/re2.gyp:re2',
45       ],
46       'conditions': [
47         ['use_snappy', {
48           'dependencies': [
49             '../../third_party/snappy/snappy.gyp:snappy',
50           ],
51         }],
52       ],
53       'direct_dependent_settings': {
54         'include_dirs': [
55           'src/include/',
56           'src/',
57           '.',
58         ],
59       },
60       # Patch posted for upstream, can be removed once that's landed and
61       # rolled into Chromium.
62       # Internal link: https://mondrian.corp.google.com/#review/29997992
63       'msvs_disabled_warnings': [
64         # Signed/unsigned comparison.
65         4018,
66
67         # TODO(jschuh): http://crbug.com/167187 size_t -> int
68         4267,
69       ],
70       'sources': [
71         # Include and then exclude so that all files show up in IDEs, even if
72         # they don't build.
73         'env_chromium.cc',
74         'env_chromium.h',
75         'env_idb.h',
76         'port/port_chromium.cc',
77         'port/port_chromium.h',
78         'src/db/builder.cc',
79         'src/db/builder.h',
80         'src/db/db_impl.cc',
81         'src/db/db_impl.h',
82         'src/db/db_iter.cc',
83         'src/db/db_iter.h',
84         'src/db/filename.cc',
85         'src/db/filename.h',
86         'src/db/dbformat.cc',
87         'src/db/dbformat.h',
88         'src/db/log_format.h',
89         'src/db/log_reader.cc',
90         'src/db/log_reader.h',
91         'src/db/log_writer.cc',
92         'src/db/log_writer.h',
93         'src/db/memtable.cc',
94         'src/db/memtable.h',
95         'src/db/repair.cc',
96         'src/db/skiplist.h',
97         'src/db/snapshot.h',
98         'src/db/table_cache.cc',
99         'src/db/table_cache.h',
100         'src/db/version_edit.cc',
101         'src/db/version_edit.h',
102         'src/db/version_set.cc',
103         'src/db/version_set.h',
104         'src/db/write_batch.cc',
105         'src/db/write_batch_internal.h',
106         'src/helpers/memenv/memenv.cc',
107         'src/helpers/memenv/memenv.h',
108         'src/include/leveldb/cache.h',
109         'src/include/leveldb/comparator.h',
110         'src/include/leveldb/db.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', '_(android|example|portable|posix)\\.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     },
176     {
177       'target_name': 'leveldb_testutil',
178       'type': 'static_library',
179       'dependencies': [
180         '../../base/base.gyp:base',
181         'leveldatabase',
182       ],
183       'export_dependent_settings': [
184         # The tests use include directories from these projects.
185         '../../base/base.gyp:base',
186         'leveldatabase',
187       ],
188       'sources': [
189         'src/util/histogram.cc',
190         'src/util/histogram.h',
191         'src/util/testharness.cc',
192         'src/util/testharness.h',
193         'src/util/testutil.cc',
194         'src/util/testutil.h',
195       ],
196     },
197     {
198       'target_name': 'leveldb_arena_test',
199       'type': 'executable',
200       'dependencies': [
201         'leveldb_testutil',
202       ],
203       'sources': [
204         'src/util/arena_test.cc',
205       ],
206     },
207     {
208       'target_name': 'leveldb_bloom_test',
209       'type': 'executable',
210       'dependencies': [
211         'leveldb_testutil',
212       ],
213       'sources': [
214         'src/util/bloom_test.cc',
215       ],
216     },
217     {
218       'target_name': 'leveldb_cache_test',
219       'type': 'executable',
220       'dependencies': [
221         'leveldb_testutil',
222       ],
223       'sources': [
224         'src/util/cache_test.cc',
225       ],
226     },
227     {
228       'target_name': 'leveldb_coding_test',
229       'type': 'executable',
230       'dependencies': [
231         'leveldb_testutil',
232       ],
233       'sources': [
234         'src/util/coding_test.cc',
235       ],
236     },
237     {
238       'target_name': 'leveldb_corruption_test',
239       'type': 'executable',
240       'dependencies': [
241         'leveldb_testutil',
242       ],
243       'sources': [
244         'src/db/corruption_test.cc',
245       ],
246     },
247     {
248       'target_name': 'leveldb_crc32c_test',
249       'type': 'executable',
250       'dependencies': [
251         'leveldb_testutil',
252       ],
253       'sources': [
254         'src/util/crc32c_test.cc',
255       ],
256     },
257     {
258       'target_name': 'leveldb_db_bench',
259       'type': 'executable',
260       'dependencies': [
261         'leveldb_testutil',
262       ],
263       'sources': [
264         'src/db/db_bench.cc',
265       ],
266     },
267     {
268       'target_name': 'leveldb_db_test',
269       'type': 'executable',
270       'dependencies': [
271         'leveldb_testutil',
272       ],
273       'sources': [
274         'src/db/db_test.cc',
275       ],
276     },
277     {
278       'target_name': 'leveldb_dbformat_test',
279       'type': 'executable',
280       'dependencies': [
281         'leveldb_testutil',
282       ],
283       'sources': [
284         'src/db/dbformat_test.cc',
285       ],
286     },
287     {
288       'target_name': 'leveldb_env_test',
289       'type': 'executable',
290       'dependencies': [
291         'leveldb_testutil',
292       ],
293       'sources': [
294         'src/util/env_test.cc',
295       ],
296     },
297     {
298       'target_name': 'leveldb_filename_test',
299       'type': 'executable',
300       'dependencies': [
301         'leveldb_testutil',
302       ],
303       'sources': [
304         'src/db/filename_test.cc',
305       ],
306     },
307     {
308       'target_name': 'leveldb_filter_block_test',
309       'type': 'executable',
310       'dependencies': [
311         'leveldb_testutil',
312       ],
313       'sources': [
314         'src/table/filter_block_test.cc',
315       ],
316     },
317     {
318       'target_name': 'leveldb_log_test',
319       'type': 'executable',
320       'dependencies': [
321         'leveldb_testutil',
322       ],
323       'sources': [
324         'src/db/log_test.cc',
325       ],
326     },
327     {
328       'target_name': 'leveldb_skiplist_test',
329       'type': 'executable',
330       'dependencies': [
331         'leveldb_testutil',
332       ],
333       'sources': [
334         'src/db/skiplist_test.cc',
335       ],
336     },
337     {
338       'target_name': 'leveldb_table_test',
339       'type': 'executable',
340       'dependencies': [
341         'leveldb_testutil',
342       ],
343       'sources': [
344         'src/table/table_test.cc',
345       ],
346     },
347     {
348       'target_name': 'leveldb_version_edit_test',
349       'type': 'executable',
350       'dependencies': [
351         'leveldb_testutil',
352       ],
353       'sources': [
354         'src/db/version_edit_test.cc',
355       ],
356     },
357     {
358       'target_name': 'leveldb_write_batch_test',
359       'type': 'executable',
360       'dependencies': [
361         'leveldb_testutil',
362       ],
363       'sources': [
364         'src/db/write_batch_test.cc',
365       ],
366     },
367   ],
368 }
369
370 # Local Variables:
371 # tab-width:2
372 # indent-tabs-mode:nil
373 # End:
374 # vim: set expandtab tabstop=2 shiftwidth=2: