Upstream version 8.37.180.0
[platform/framework/web/crosswalk.git] / src / build / secondary / third_party / leveldatabase / BUILD.gn
1 # Copyright 2014 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.
4
5 # Snappy is a compression library we use.
6 # TODO(brettw) It's not clear why this needs to be parameterized.
7 use_snappy = true
8
9 defines = [ "LEVELDB_PLATFORM_CHROMIUM=1" ]
10
11 config("leveldatabase_config") {
12   include_dirs = [
13     ".",
14     "src",
15     "src/include",
16   ]
17   if (is_win) {
18     include_dirs += [ "src/port/win" ]
19   }
20 }
21
22 static_library("leveldatabase") {
23   sources = [
24     "env_chromium.cc",
25     "env_chromium.h",
26     "env_chromium_stdio.cc",
27     "env_chromium_stdio.h",
28     "env_idb.h",
29     "port/port_chromium.cc",
30     "port/port_chromium.h",
31     "src/db/builder.cc",
32     "src/db/builder.h",
33     "src/db/db_impl.cc",
34     "src/db/db_impl.h",
35     "src/db/db_iter.cc",
36     "src/db/db_iter.h",
37     "src/db/filename.cc",
38     "src/db/filename.h",
39     "src/db/dbformat.cc",
40     "src/db/dbformat.h",
41     "src/db/log_format.h",
42     "src/db/log_reader.cc",
43     "src/db/log_reader.h",
44     "src/db/log_writer.cc",
45     "src/db/log_writer.h",
46     "src/db/memtable.cc",
47     "src/db/memtable.h",
48     "src/db/repair.cc",
49     "src/db/skiplist.h",
50     "src/db/snapshot.h",
51     "src/db/table_cache.cc",
52     "src/db/table_cache.h",
53     "src/db/version_edit.cc",
54     "src/db/version_edit.h",
55     "src/db/version_set.cc",
56     "src/db/version_set.h",
57     "src/db/write_batch.cc",
58     "src/db/write_batch_internal.h",
59     "src/helpers/memenv/memenv.cc",
60     "src/helpers/memenv/memenv.h",
61     "src/include/leveldb/cache.h",
62     "src/include/leveldb/comparator.h",
63     "src/include/leveldb/db.h",
64     "src/include/leveldb/env.h",
65     "src/include/leveldb/filter_policy.h",
66     "src/include/leveldb/iterator.h",
67     "src/include/leveldb/options.h",
68     "src/include/leveldb/slice.h",
69     "src/include/leveldb/status.h",
70     "src/include/leveldb/table.h",
71     "src/include/leveldb/table_builder.h",
72     "src/include/leveldb/write_batch.h",
73     "src/port/port.h",
74     "src/port/port_example.h",
75     #"src/port/port_posix.cc",  # We use the chromium port instead of this.
76     #"src/port/port_posix.h",
77     "src/table/block.cc",
78     "src/table/block.h",
79     "src/table/block_builder.cc",
80     "src/table/block_builder.h",
81     "src/table/filter_block.cc",
82     "src/table/filter_block.h",
83     "src/table/format.cc",
84     "src/table/format.h",
85     "src/table/iterator.cc",
86     "src/table/iterator_wrapper.h",
87     "src/table/merger.cc",
88     "src/table/merger.h",
89     "src/table/table.cc",
90     "src/table/table_builder.cc",
91     "src/table/two_level_iterator.cc",
92     "src/table/two_level_iterator.h",
93     "src/util/arena.cc",
94     "src/util/arena.h",
95     "src/util/bloom.cc",
96     "src/util/cache.cc",
97     "src/util/coding.cc",
98     "src/util/coding.h",
99     "src/util/comparator.cc",
100     "src/util/crc32c.cc",
101     "src/util/crc32c.h",
102     "src/util/env.cc",
103     "src/util/filter_policy.cc",
104     "src/util/hash.cc",
105     "src/util/hash.h",
106     "src/util/logging.cc",
107     "src/util/logging.h",
108     "src/util/mutexlock.h",
109     "src/util/options.cc",
110     "src/util/random.h",
111     "src/util/status.cc",
112   ]
113
114   configs -= [ "//build/config/compiler:chromium_code" ]
115   configs += [ "//build/config/compiler:no_chromium_code" ]
116
117   direct_dependent_configs = [ ":leveldatabase_config" ]
118
119   deps = [
120     "//base",
121     "//base/third_party/dynamic_annotations",
122     "//third_party/re2",
123   ]
124
125   if (use_snappy) {
126     defines += [ "USE_SNAPPY=1" ]
127     deps += [ "//third_party/snappy" ]
128   }
129 }
130
131 if (!is_android) {
132   test("env_chromium_unittests") {
133     sources = [
134       "env_chromium_unittest.cc",
135     ]
136     deps = [
137       ":leveldatabase",
138       "//base/test:test_support",
139       "//testing/gtest",
140     ]
141   }
142
143   static_library("leveldb_testutil") {
144     sources = [
145       "src/util/histogram.cc",
146       "src/util/histogram.h",
147       "src/util/testharness.cc",
148       "src/util/testharness.h",
149       "src/util/testutil.cc",
150       "src/util/testutil.h",
151     ]
152
153     forward_dependent_configs_from = [ ":leveldatabase" ]
154     configs -= [ "//build/config/compiler:chromium_code" ]
155     configs += [ "//build/config/compiler:no_chromium_code" ]
156
157     deps = [
158       ":leveldatabase",
159       "//base",
160     ]
161   }
162
163   test("leveldb_arena_test") {
164     sources = [
165       "src/util/arena_test.cc",
166     ]
167     configs -= [ "//build/config/compiler:chromium_code" ]
168     configs += [ "//build/config/compiler:no_chromium_code" ]
169     deps = [
170       ":leveldb_testutil",
171     ]
172   }
173
174   test("leveldb_bloom_test") {
175     sources = [
176       "src/util/bloom_test.cc",
177     ]
178     configs -= [ "//build/config/compiler:chromium_code" ]
179     configs += [ "//build/config/compiler:no_chromium_code" ]
180     deps = [
181       ":leveldb_testutil",
182     ]
183   }
184
185   test("leveldb_cache_test") {
186     sources = [
187       "src/util/cache_test.cc",
188     ]
189     configs -= [ "//build/config/compiler:chromium_code" ]
190     configs += [ "//build/config/compiler:no_chromium_code" ]
191     deps = [
192       ":leveldb_testutil",
193     ]
194   }
195
196   test("leveldb_corruption_test") {
197     sources = [
198       "src/db/corruption_test.cc",
199     ]
200     configs -= [ "//build/config/compiler:chromium_code" ]
201     configs += [ "//build/config/compiler:no_chromium_code" ]
202     deps = [
203       ":leveldb_testutil",
204     ]
205   }
206
207   test("leveldb_crc32c_test") {
208     sources = [
209       "src/util/crc32c_test.cc"
210     ]
211     configs -= [ "//build/config/compiler:chromium_code" ]
212     configs += [ "//build/config/compiler:no_chromium_code" ]
213     deps = [
214       ":leveldb_testutil",
215     ]
216   }
217
218   test("leveldb_db_bench") {
219     sources = [
220       "src/db/db_bench.cc",
221     ]
222     configs -= [ "//build/config/compiler:chromium_code" ]
223     configs += [ "//build/config/compiler:no_chromium_code" ]
224     deps = [
225       ":leveldb_testutil",
226     ]
227   }
228
229   test("leveldb_db_test") {
230     sources = [
231       "src/db/db_test.cc",
232     ]
233     configs -= [ "//build/config/compiler:chromium_code" ]
234     configs += [ "//build/config/compiler:no_chromium_code" ]
235     deps = [
236       ":leveldb_testutil",
237     ]
238   }
239
240   test("leveldb_dbformat_test") {
241     sources = [
242       "src/db/dbformat_test.cc",
243     ]
244     configs -= [ "//build/config/compiler:chromium_code" ]
245     configs += [ "//build/config/compiler:no_chromium_code" ]
246     deps = [
247       ":leveldb_testutil",
248     ]
249   }
250
251   test("leveldb_env_test") {
252     sources = [
253       "src/util/env_test.cc",
254     ]
255     configs -= [ "//build/config/compiler:chromium_code" ]
256     configs += [ "//build/config/compiler:no_chromium_code" ]
257     deps = [
258       ":leveldb_testutil",
259     ]
260   }
261
262   test("leveldb_filename_test") {
263     sources = [
264       "src/db/filename_test.cc",
265     ]
266     configs -= [ "//build/config/compiler:chromium_code" ]
267     configs += [ "//build/config/compiler:no_chromium_code" ]
268     deps = [
269       ":leveldb_testutil",
270     ]
271   }
272
273   test("leveldb_filter_block_test") {
274     sources = [
275       "src/table/filter_block_test.cc",
276     ]
277     configs -= [ "//build/config/compiler:chromium_code" ]
278     configs += [ "//build/config/compiler:no_chromium_code" ]
279     deps = [
280       ":leveldb_testutil",
281     ]
282   }
283
284   test("leveldb_log_test") {
285     sources = [
286       "src/db/log_test.cc",
287     ]
288     configs -= [ "//build/config/compiler:chromium_code" ]
289     configs += [ "//build/config/compiler:no_chromium_code" ]
290     deps = [
291       ":leveldb_testutil",
292     ]
293   }
294
295   test("leveldb_skiplist_test") {
296     sources = [
297       "src/db/skiplist_test.cc",
298     ]
299     configs -= [ "//build/config/compiler:chromium_code" ]
300     configs += [ "//build/config/compiler:no_chromium_code" ]
301     deps = [
302       ":leveldb_testutil",
303     ]
304   }
305
306   test("leveldb_table_test") {
307     sources = [
308       "src/table/table_test.cc",
309     ]
310     configs -= [ "//build/config/compiler:chromium_code" ]
311     configs += [ "//build/config/compiler:no_chromium_code" ]
312     deps = [
313       ":leveldb_testutil",
314     ]
315   }
316
317   test("leveldb_version_edit_test") {
318     sources = [
319       "src/db/version_edit_test.cc",
320     ]
321     configs -= [ "//build/config/compiler:chromium_code" ]
322     configs += [ "//build/config/compiler:no_chromium_code" ]
323     deps = [
324       ":leveldb_testutil",
325     ]
326   }
327
328   test("leveldb_write_batch_test") {
329     sources = [
330       "src/db/write_batch_test.cc",
331     ]
332     configs -= [ "//build/config/compiler:chromium_code" ]
333     configs += [ "//build/config/compiler:no_chromium_code" ]
334     deps = [
335       ":leveldb_testutil",
336     ]
337   }
338 }