| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| |
| config_setting( |
| name = "darwin", |
| values = {"cpu": "darwin"}, |
| visibility = ["//visibility:public"], |
| ) |
| |
| SOURCES = ["db/builder.cc", |
| "db/c.cc", |
| "db/dbformat.cc", |
| "db/db_impl.cc", |
| "db/db_iter.cc", |
| "db/dumpfile.cc", |
| "db/filename.cc", |
| "db/log_reader.cc", |
| "db/log_writer.cc", |
| "db/memtable.cc", |
| "db/repair.cc", |
| "db/table_cache.cc", |
| "db/version_edit.cc", |
| "db/version_set.cc", |
| "db/write_batch.cc", |
| "table/block_builder.cc", |
| "table/block.cc", |
| "table/filter_block.cc", |
| "table/format.cc", |
| "table/iterator.cc", |
| "table/merger.cc", |
| "table/table_builder.cc", |
| "table/table.cc", |
| "table/two_level_iterator.cc", |
| "util/arena.cc", |
| "util/bloom.cc", |
| "util/cache.cc", |
| "util/coding.cc", |
| "util/comparator.cc", |
| "util/crc32c.cc", |
| "util/env.cc", |
| "util/env_posix.cc", |
| "util/filter_policy.cc", |
| "util/hash.cc", |
| "util/histogram.cc", |
| "util/logging.cc", |
| "util/options.cc", |
| "util/status.cc", |
| "port/port_posix.cc", |
| "port/port_posix_sse.cc", |
| "helpers/memenv/memenv.cc", |
| ] |
| |
| cc_library( |
| name = "leveldb", |
| srcs = SOURCES, |
| hdrs = glob([ |
| "helpers/memenv/*.h", |
| "util/*.h", |
| "port/*.h", |
| "port/win/*.h", |
| "table/*.h", |
| "db/*.h", |
| "include/leveldb/*.h" |
| ], |
| exclude = [ |
| "**/*test.*", |
| ]), |
| includes = [ |
| "include/", |
| ], |
| copts = [ |
| "-fno-builtin-memcmp", |
| "-DLEVELDB_PLATFORM_POSIX=1", |
| "-DLEVELDB_ATOMIC_PRESENT", |
| ], |
| defines = [ |
| "LEVELDB_PLATFORM_POSIX", |
| ] + select({ |
| ":darwin": ["OS_MACOSX"], |
| "//conditions:default": [], |
| }), |
| ) |