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: 375