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