# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Snappy is a compression library we use. # TODO(brettw) It's not clear why this needs to be parameterized. use_snappy = true defines = [ "LEVELDB_PLATFORM_CHROMIUM=1" ] config("leveldatabase_config") { include_dirs = [ ".", "src", "src/include", ] if (is_win) { include_dirs += [ "src/port/win" ] } } static_library("leveldatabase") { sources = [ "env_chromium.cc", "env_chromium.h", "env_chromium_stdio.cc", "env_chromium_stdio.h", "env_idb.h", "port/port_chromium.cc", "port/port_chromium.h", "src/db/builder.cc", "src/db/builder.h", "src/db/db_impl.cc", "src/db/db_impl.h", "src/db/db_iter.cc", "src/db/db_iter.h", "src/db/filename.cc", "src/db/filename.h", "src/db/dbformat.cc", "src/db/dbformat.h", "src/db/log_format.h", "src/db/log_reader.cc", "src/db/log_reader.h", "src/db/log_writer.cc", "src/db/log_writer.h", "src/db/memtable.cc", "src/db/memtable.h", "src/db/repair.cc", "src/db/skiplist.h", "src/db/snapshot.h", "src/db/table_cache.cc", "src/db/table_cache.h", "src/db/version_edit.cc", "src/db/version_edit.h", "src/db/version_set.cc", "src/db/version_set.h", "src/db/write_batch.cc", "src/db/write_batch_internal.h", "src/helpers/memenv/memenv.cc", "src/helpers/memenv/memenv.h", "src/include/leveldb/cache.h", "src/include/leveldb/comparator.h", "src/include/leveldb/db.h", "src/include/leveldb/env.h", "src/include/leveldb/filter_policy.h", "src/include/leveldb/iterator.h", "src/include/leveldb/options.h", "src/include/leveldb/slice.h", "src/include/leveldb/status.h", "src/include/leveldb/table.h", "src/include/leveldb/table_builder.h", "src/include/leveldb/write_batch.h", "src/port/port.h", "src/port/port_example.h", #"src/port/port_posix.cc", # We use the chromium port instead of this. #"src/port/port_posix.h", "src/table/block.cc", "src/table/block.h", "src/table/block_builder.cc", "src/table/block_builder.h", "src/table/filter_block.cc", "src/table/filter_block.h", "src/table/format.cc", "src/table/format.h", "src/table/iterator.cc", "src/table/iterator_wrapper.h", "src/table/merger.cc", "src/table/merger.h", "src/table/table.cc", "src/table/table_builder.cc", "src/table/two_level_iterator.cc", "src/table/two_level_iterator.h", "src/util/arena.cc", "src/util/arena.h", "src/util/bloom.cc", "src/util/cache.cc", "src/util/coding.cc", "src/util/coding.h", "src/util/comparator.cc", "src/util/crc32c.cc", "src/util/crc32c.h", "src/util/env.cc", "src/util/filter_policy.cc", "src/util/hash.cc", "src/util/hash.h", "src/util/logging.cc", "src/util/logging.h", "src/util/mutexlock.h", "src/util/options.cc", "src/util/random.h", "src/util/status.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] direct_dependent_configs = [ ":leveldatabase_config" ] deps = [ "//base", "//base/third_party/dynamic_annotations", "//third_party/re2", ] if (use_snappy) { defines += [ "USE_SNAPPY=1" ] deps += [ "//third_party/snappy" ] } } if (!is_android) { test("env_chromium_unittests") { sources = [ "env_chromium_unittest.cc", ] deps = [ ":leveldatabase", "//base/test:test_support", "//testing/gtest", ] } static_library("leveldb_testutil") { sources = [ "src/util/histogram.cc", "src/util/histogram.h", "src/util/testharness.cc", "src/util/testharness.h", "src/util/testutil.cc", "src/util/testutil.h", ] forward_dependent_configs_from = [ ":leveldatabase" ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldatabase", "//base", ] } test("leveldb_arena_test") { sources = [ "src/util/arena_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_bloom_test") { sources = [ "src/util/bloom_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_cache_test") { sources = [ "src/util/cache_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_corruption_test") { sources = [ "src/db/corruption_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_crc32c_test") { sources = [ "src/util/crc32c_test.cc" ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_db_bench") { sources = [ "src/db/db_bench.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_db_test") { sources = [ "src/db/db_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_dbformat_test") { sources = [ "src/db/dbformat_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_env_test") { sources = [ "src/util/env_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_filename_test") { sources = [ "src/db/filename_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_filter_block_test") { sources = [ "src/table/filter_block_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_log_test") { sources = [ "src/db/log_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_skiplist_test") { sources = [ "src/db/skiplist_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_table_test") { sources = [ "src/table/table_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_version_edit_test") { sources = [ "src/db/version_edit_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } test("leveldb_write_batch_test") { sources = [ "src/db/write_batch_test.cc", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] deps = [ ":leveldb_testutil", ] } }