diff options
-rw-r--r-- | .github/workflows/rust.yml | 111 | ||||
-rw-r--r-- | .gitmodules | 6 | ||||
-rw-r--r-- | librocksdb-sys/Makefile | 6 | ||||
-rw-r--r-- | librocksdb-sys/build.rs | 360 | ||||
-rw-r--r-- | librocksdb-sys/build_version.cc | 77 | ||||
m--------- | librocksdb-sys/rocksdb | 0 | ||||
-rw-r--r-- | librocksdb-sys/rocksdb_lib_sources.txt | 316 | ||||
m--------- | librocksdb-sys/snappy | 0 | ||||
-rw-r--r-- | librocksdb-sys/snappy-stubs-public.h | 97 |
9 files changed, 11 insertions, 962 deletions
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml deleted file mode 100644 index 36da02d..0000000 --- a/.github/workflows/rust.yml +++ /dev/null @@ -1,111 +0,0 @@ -name: RocksDB CI - -on: [push, pull_request] -env: - RUST_VERSION: 1.70.0 - -jobs: - fmt: - name: Rustfmt - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Install rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - components: rustfmt - profile: minimal - override: true - - name: Run rustfmt - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check - - doc-check: - name: Rustdoc-check - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Install rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - components: rust-docs - profile: minimal - override: true - - name: Run cargo rustdoc - uses: actions-rs/cargo@v1 - with: - command: rustdoc - args: -- -D warnings - - clippy: - name: Clippy - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Install rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - components: clippy - profile: minimal - override: true - - name: Run clippy - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --all-targets -- -D warnings - - audit: - name: Security audit - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/audit-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - test: - name: ${{ matrix.build }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - build: [Linux, macOS, Windows] - include: - - build: Linux - os: ubuntu-latest - - build: macOS - os: macos-latest - - build: Windows - os: windows-latest - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Install rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - target: ${{ matrix.target }} - profile: minimal - override: true - - name: Remove msys64 # Workaround to resolve link error with C:\msys64\mingw64\bin\libclang.dll - if: runner.os == 'Windows' - run: Remove-Item -LiteralPath "C:\msys64\" -Force -Recurse - - name: Install dependencies - if: runner.os == 'Windows' - run: choco install llvm -y - - name: Run rocksdb tests - run: | - cargo test --all - cargo test --all --features multi-threaded-cf - - name: Free disk space - run: cargo clean - - name: Run rocksdb tests (jemalloc) - if: runner.os != 'Windows' - run: cargo test --all --features jemalloc diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 2c818bd..0000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "rocksdb_sys/snappy"] - path = librocksdb-sys/snappy - url = https://github.com/google/snappy.git -[submodule "rocksdb_sys/rocksdb"] - path = librocksdb-sys/rocksdb - url = https://github.com/facebook/rocksdb.git diff --git a/librocksdb-sys/Makefile b/librocksdb-sys/Makefile deleted file mode 100644 index c76fbd6..0000000 --- a/librocksdb-sys/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -include rocksdb/src.mk - -rocksdb_lib_sources.txt: rocksdb/src.mk - @echo -n "${LIB_SOURCES}" | tr ' ' '\n' > rocksdb_lib_sources.txt - -gen_lib_sources: rocksdb_lib_sources.txt diff --git a/librocksdb-sys/build.rs b/librocksdb-sys/build.rs index 7f12fc5..6b4a86d 100644 --- a/librocksdb-sys/build.rs +++ b/librocksdb-sys/build.rs @@ -1,31 +1,9 @@ -use std::path::Path; -use std::{env, fs, path::PathBuf, process::Command}; - -fn link(name: &str, bundled: bool) { - use std::env::var; - let target = var("TARGET").unwrap(); - let target: Vec<_> = target.split('-').collect(); - if target.get(2) == Some(&"windows") { - println!("cargo:rustc-link-lib=dylib={name}"); - if bundled && target.get(3) == Some(&"gnu") { - let dir = var("CARGO_MANIFEST_DIR").unwrap(); - println!("cargo:rustc-link-search=native={}/{}", dir, target[0]); - } - } -} - -fn fail_on_empty_directory(name: &str) { - if fs::read_dir(name).unwrap().count() == 0 { - println!("The `{name}` directory is empty, did you forget to pull the submodules?"); - println!("Try `git submodule update --init --recursive`"); - panic!(); - } -} +use std::{env, path::PathBuf}; fn rocksdb_include_dir() -> String { match env::var("ROCKSDB_INCLUDE_DIR") { Ok(val) => val, - Err(_) => "rocksdb/include".to_string(), + Err(_) => "/usr/local/include".to_string(), // RW 2024-01-11 } } @@ -45,334 +23,18 @@ fn bindgen_rocksdb() { .expect("unable to write rocksdb bindings"); } -fn build_rocksdb() { - let target = env::var("TARGET").unwrap(); - - let mut config = cc::Build::new(); - config.include("rocksdb/include/"); - config.include("rocksdb/"); - config.include("rocksdb/third-party/gtest-1.8.1/fused-src/"); - - if cfg!(feature = "snappy") { - config.define("SNAPPY", Some("1")); - config.include("snappy/"); - } - - if cfg!(feature = "lz4") { - config.define("LZ4", Some("1")); - if let Some(path) = env::var_os("DEP_LZ4_INCLUDE") { - config.include(path); - } - } - - if cfg!(feature = "zstd") { - config.define("ZSTD", Some("1")); - if let Some(path) = env::var_os("DEP_ZSTD_INCLUDE") { - config.include(path); - } - } - - if cfg!(feature = "zlib") { - config.define("ZLIB", Some("1")); - if let Some(path) = env::var_os("DEP_Z_INCLUDE") { - config.include(path); - } - } - - if cfg!(feature = "bzip2") { - config.define("BZIP2", Some("1")); - if let Some(path) = env::var_os("DEP_BZIP2_INCLUDE") { - config.include(path); - } - } - - if cfg!(feature = "rtti") { - config.define("USE_RTTI", Some("1")); - } - - config.include("."); - config.define("NDEBUG", Some("1")); - - let mut lib_sources = include_str!("rocksdb_lib_sources.txt") - .trim() - .split('\n') - .map(str::trim) - // We have a pre-generated a version of build_version.cc in the local directory - .filter(|file| !matches!(*file, "util/build_version.cc")) - .collect::<Vec<&'static str>>(); - - if let (true, Ok(target_feature_value)) = ( - target.contains("x86_64"), - env::var("CARGO_CFG_TARGET_FEATURE"), - ) { - // This is needed to enable hardware CRC32C. Technically, SSE 4.2 is - // only available since Intel Nehalem (about 2010) and AMD Bulldozer - // (about 2011). - let target_features: Vec<_> = target_feature_value.split(',').collect(); - - if target_features.contains(&"sse2") { - config.flag_if_supported("-msse2"); - } - if target_features.contains(&"sse4.1") { - config.flag_if_supported("-msse4.1"); - } - if target_features.contains(&"sse4.2") { - config.flag_if_supported("-msse4.2"); - } - // Pass along additional target features as defined in - // build_tools/build_detect_platform. - if target_features.contains(&"avx2") { - config.flag_if_supported("-mavx2"); - } - if target_features.contains(&"bmi1") { - config.flag_if_supported("-mbmi"); - } - if target_features.contains(&"lzcnt") { - config.flag_if_supported("-mlzcnt"); - } - if !target.contains("android") && target_features.contains(&"pclmulqdq") { - config.flag_if_supported("-mpclmul"); - } - } - - if target.contains("apple-ios") { - config.define("OS_MACOSX", None); - - config.define("IOS_CROSS_COMPILE", None); - config.define("PLATFORM", "IOS"); - config.define("NIOSTATS_CONTEXT", None); - config.define("NPERF_CONTEXT", None); - config.define("ROCKSDB_PLATFORM_POSIX", None); - config.define("ROCKSDB_LIB_IO_POSIX", None); - - env::set_var("IPHONEOS_DEPLOYMENT_TARGET", "12.0"); - } else if target.contains("darwin") { - config.define("OS_MACOSX", None); - config.define("ROCKSDB_PLATFORM_POSIX", None); - config.define("ROCKSDB_LIB_IO_POSIX", None); - } else if target.contains("android") { - config.define("OS_ANDROID", None); - config.define("ROCKSDB_PLATFORM_POSIX", None); - config.define("ROCKSDB_LIB_IO_POSIX", None); - } else if target.contains("linux") { - config.define("OS_LINUX", None); - config.define("ROCKSDB_PLATFORM_POSIX", None); - config.define("ROCKSDB_LIB_IO_POSIX", None); - } else if target.contains("freebsd") { - config.define("OS_FREEBSD", None); - config.define("ROCKSDB_PLATFORM_POSIX", None); - config.define("ROCKSDB_LIB_IO_POSIX", None); - } else if target.contains("windows") { - link("rpcrt4", false); - link("shlwapi", false); - config.define("DWIN32", None); - config.define("OS_WIN", None); - config.define("_MBCS", None); - config.define("WIN64", None); - config.define("NOMINMAX", None); - config.define("ROCKSDB_WINDOWS_UTF8_FILENAMES", None); - - if &target == "x86_64-pc-windows-gnu" { - // Tell MinGW to create localtime_r wrapper of localtime_s function. - config.define("_POSIX_C_SOURCE", Some("1")); - // Tell MinGW to use at least Windows Vista headers instead of the ones of Windows XP. - // (This is minimum supported version of rocksdb) - config.define("_WIN32_WINNT", Some("_WIN32_WINNT_VISTA")); - } - - // Remove POSIX-specific sources - lib_sources = lib_sources - .iter() - .cloned() - .filter(|file| { - !matches!( - *file, - "port/port_posix.cc" - | "env/env_posix.cc" - | "env/fs_posix.cc" - | "env/io_posix.cc" - ) - }) - .collect::<Vec<&'static str>>(); - - // Add Windows-specific sources - lib_sources.extend([ - "port/win/env_default.cc", - "port/win/port_win.cc", - "port/win/xpress_win.cc", - "port/win/io_win.cc", - "port/win/win_thread.cc", - "port/win/env_win.cc", - "port/win/win_logger.cc", - ]); - - if cfg!(feature = "jemalloc") { - lib_sources.push("port/win/win_jemalloc.cc"); - } - } - - config.define("ROCKSDB_SUPPORT_THREAD_LOCAL", None); - - if cfg!(feature = "jemalloc") { - config.define("WITH_JEMALLOC", "ON"); - } - - #[cfg(feature = "io-uring")] - if target.contains("linux") { - pkg_config::probe_library("liburing") - .expect("The io-uring feature was requested but the library is not available"); - config.define("ROCKSDB_IOURING_PRESENT", Some("1")); - } - - if env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap() != "64" { - config.define("_FILE_OFFSET_BITS", Some("64")); - config.define("_LARGEFILE64_SOURCE", Some("1")); - } - - if target.contains("msvc") { - if cfg!(feature = "mt_static") { - config.static_crt(true); - } - config.flag("-EHsc"); - config.flag("-std:c++17"); - } else { - config.flag(&cxx_standard()); - // matches the flags in CMakeLists.txt from rocksdb - config.flag("-Wsign-compare"); - config.flag("-Wshadow"); - config.flag("-Wno-unused-parameter"); - config.flag("-Wno-unused-variable"); - config.flag("-Woverloaded-virtual"); - config.flag("-Wnon-virtual-dtor"); - config.flag("-Wno-missing-field-initializers"); - config.flag("-Wno-strict-aliasing"); - config.flag("-Wno-invalid-offsetof"); - } - if target.contains("riscv64gc") { - // link libatomic required to build for riscv64gc - println!("cargo:rustc-link-lib=atomic"); - } - for file in lib_sources { - config.file(format!("rocksdb/{file}")); - } - - config.file("build_version.cc"); - - config.cpp(true); - config.flag_if_supported("-std=c++17"); - config.compile("librocksdb.a"); -} - -fn build_snappy() { - let target = env::var("TARGET").unwrap(); - let endianness = env::var("CARGO_CFG_TARGET_ENDIAN").unwrap(); - let mut config = cc::Build::new(); - - config.include("snappy/"); - config.include("."); - config.define("NDEBUG", Some("1")); - config.extra_warnings(false); - - if target.contains("msvc") { - config.flag("-EHsc"); - if cfg!(feature = "mt_static") { - config.static_crt(true); - } - } else { - // Snappy requires C++11. - // See: https://github.com/google/snappy/blob/master/CMakeLists.txt#L32-L38 - config.flag("-std=c++11"); - } - - if endianness == "big" { - config.define("SNAPPY_IS_BIG_ENDIAN", Some("1")); - } - - config.file("snappy/snappy.cc"); - config.file("snappy/snappy-sinksource.cc"); - config.file("snappy/snappy-c.cc"); - config.cpp(true); - config.compile("libsnappy.a"); -} - -fn try_to_find_and_link_lib(lib_name: &str) -> bool { - println!("cargo:rerun-if-env-changed={lib_name}_COMPILE"); - if let Ok(v) = env::var(format!("{lib_name}_COMPILE")) { - if v.to_lowercase() == "true" || v == "1" { - return false; - } - } - - println!("cargo:rerun-if-env-changed={lib_name}_LIB_DIR"); - println!("cargo:rerun-if-env-changed={lib_name}_STATIC"); - - if let Ok(lib_dir) = env::var(format!("{lib_name}_LIB_DIR")) { - println!("cargo:rustc-link-search=native={lib_dir}"); - let mode = match env::var_os(format!("{lib_name}_STATIC")) { - Some(_) => "static", - None => "dylib", - }; - println!("cargo:rustc-link-lib={}={}", mode, lib_name.to_lowercase()); - return true; - } - false -} - -fn cxx_standard() -> String { - env::var("ROCKSDB_CXX_STD").map_or("-std=c++17".to_owned(), |cxx_std| { - if !cxx_std.starts_with("-std=") { - format!("-std={cxx_std}") - } else { - cxx_std - } - }) -} - -fn update_submodules() { - let program = "git"; - let dir = "../"; - let args = ["submodule", "update", "--init"]; - println!( - "Running command: \"{} {}\" in dir: {}", - program, - args.join(" "), - dir - ); - let ret = Command::new(program).current_dir(dir).args(args).status(); - - match ret.map(|status| (status.success(), status.code())) { - Ok((true, _)) => (), - Ok((false, Some(c))) => panic!("Command failed with error code {}", c), - Ok((false, None)) => panic!("Command got killed"), - Err(e) => panic!("Command failed with error: {}", e), - } -} - fn main() { - if !Path::new("rocksdb/AUTHORS").exists() { - update_submodules(); - } + println!("cargo:rustc-link-search=all=/usr/local/lib"); bindgen_rocksdb(); - - if !try_to_find_and_link_lib("ROCKSDB") { - println!("cargo:rerun-if-changed=rocksdb/"); - fail_on_empty_directory("rocksdb"); - build_rocksdb(); - } else { - let target = env::var("TARGET").unwrap(); - // according to https://github.com/alexcrichton/cc-rs/blob/master/src/lib.rs#L2189 - if target.contains("apple") || target.contains("freebsd") || target.contains("openbsd") { - println!("cargo:rustc-link-lib=dylib=c++"); - } else if target.contains("linux") { - println!("cargo:rustc-link-lib=dylib=stdc++"); - } - } - if cfg!(feature = "snappy") && !try_to_find_and_link_lib("SNAPPY") { - println!("cargo:rerun-if-changed=snappy/"); - fail_on_empty_directory("snappy"); - build_snappy(); + let target = env::var("TARGET").unwrap(); + // according to https://github.com/alexcrichton/cc-rs/blob/master/src/lib.rs#L2189 + if target.contains("apple") || target.contains("freebsd") || target.contains("openbsd") { + println!("cargo:rustc-link-lib=dylib=c++"); + } else if target.contains("linux") { + println!("cargo:rustc-link-lib=dylib=stdc++"); } - + println!("cargo:rustc-link-lib=dylib=rocksdb"); + println!("cargo:rustc-link-lib=dylib=zstd"); // Allow dependent crates to locate the sources and output directory of // this crate. Notably, this allows a dependent crate to locate the RocksDB // sources and built archive artifacts provided by this crate. diff --git a/librocksdb-sys/build_version.cc b/librocksdb-sys/build_version.cc deleted file mode 100644 index a7e0256..0000000 --- a/librocksdb-sys/build_version.cc +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. - -#include <memory> - -#include "rocksdb/version.h" -#include "rocksdb/utilities/object_registry.h" -#include "util/string_util.h" - -// The build script may replace these values with real values based -// on whether or not GIT is available and the platform settings -static const std::string rocksdb_build_git_sha = "f4441966592636253fd5ab0bb9ed44fc2697fc53"; -static const std::string rocksdb_build_git_tag = "rocksdb_build_git_tag:v9.0.0"; -#define HAS_GIT_CHANGES 0 -#if HAS_GIT_CHANGES == 0 -// If HAS_GIT_CHANGES is 0, the GIT date is used. -// Use the time the branch/tag was last modified -static const std::string rocksdb_build_date = "rocksdb_build_date:2024-03-11 11:26:24"; -#else -// If HAS_GIT_CHANGES is > 0, the branch/tag has modifications. -// Use the time the build was created. -static const std::string rocksdb_build_date = "rocksdb_build_date:2024-03-11 11:26:24"; -#endif - -std::unordered_map<std::string, ROCKSDB_NAMESPACE::RegistrarFunc> ROCKSDB_NAMESPACE::ObjectRegistry::builtins_ = {}; - -extern "C" bool RocksDbIOUringEnable() { - return true; -} - -namespace ROCKSDB_NAMESPACE { -static void AddProperty(std::unordered_map<std::string, std::string> *props, const std::string& name) { - size_t colon = name.find(":"); - if (colon != std::string::npos && colon > 0 && colon < name.length() - 1) { - // If we found a "@:", then this property was a build-time substitution that failed. Skip it - size_t at = name.find("@", colon); - if (at != colon + 1) { - // Everything before the colon is the name, after is the value - (*props)[name.substr(0, colon)] = name.substr(colon + 1); - } - } -} - -static std::unordered_map<std::string, std::string>* LoadPropertiesSet() { - auto * properties = new std::unordered_map<std::string, std::string>(); - AddProperty(properties, rocksdb_build_git_sha); - AddProperty(properties, rocksdb_build_git_tag); - AddProperty(properties, rocksdb_build_date); - return properties; -} - -const std::unordered_map<std::string, std::string>& GetRocksBuildProperties() { - static std::unique_ptr<std::unordered_map<std::string, std::string>> props(LoadPropertiesSet()); - return *props; -} - -std::string GetRocksVersionAsString(bool with_patch) { - std::string version = std::to_string(ROCKSDB_MAJOR) + "." + std::to_string(ROCKSDB_MINOR); - if (with_patch) { - return version + "." + std::to_string(ROCKSDB_PATCH); - } else { - return version; - } -} - -std::string GetRocksBuildInfoAsString(const std::string& program, bool verbose) { - std::string info = program + " (RocksDB) " + GetRocksVersionAsString(true); - if (verbose) { - for (const auto& it : GetRocksBuildProperties()) { - info.append("\n "); - info.append(it.first); - info.append(": "); - info.append(it.second); - } - } - return info; -} -} // namespace ROCKSDB_NAMESPACE diff --git a/librocksdb-sys/rocksdb b/librocksdb-sys/rocksdb deleted file mode 160000 -Subproject f4441966592636253fd5ab0bb9ed44fc2697fc5 diff --git a/librocksdb-sys/rocksdb_lib_sources.txt b/librocksdb-sys/rocksdb_lib_sources.txt deleted file mode 100644 index f7159dd..0000000 --- a/librocksdb-sys/rocksdb_lib_sources.txt +++ /dev/null @@ -1,316 +0,0 @@ -cache/cache.cc -cache/cache_entry_roles.cc -cache/cache_key.cc -cache/cache_helpers.cc -cache/cache_reservation_manager.cc -cache/charged_cache.cc -cache/clock_cache.cc -cache/lru_cache.cc -cache/compressed_secondary_cache.cc -cache/secondary_cache.cc -cache/secondary_cache_adapter.cc -cache/sharded_cache.cc -cache/tiered_secondary_cache.cc -db/arena_wrapped_db_iter.cc -db/blob/blob_contents.cc -db/blob/blob_fetcher.cc -db/blob/blob_file_addition.cc -db/blob/blob_file_builder.cc -db/blob/blob_file_cache.cc -db/blob/blob_file_garbage.cc -db/blob/blob_file_meta.cc -db/blob/blob_file_reader.cc -db/blob/blob_garbage_meter.cc -db/blob/blob_log_format.cc -db/blob/blob_log_sequential_reader.cc -db/blob/blob_log_writer.cc -db/blob/blob_source.cc -db/blob/prefetch_buffer_collection.cc -db/builder.cc -db/c.cc -db/column_family.cc -db/compaction/compaction.cc -db/compaction/compaction_iterator.cc -db/compaction/compaction_job.cc -db/compaction/compaction_picker.cc -db/compaction/compaction_picker_fifo.cc -db/compaction/compaction_picker_level.cc -db/compaction/compaction_picker_universal.cc -db/compaction/compaction_service_job.cc -db/compaction/compaction_state.cc -db/compaction/compaction_outputs.cc -db/compaction/sst_partitioner.cc -db/compaction/subcompaction_state.cc -db/convenience.cc -db/db_filesnapshot.cc -db/db_impl/compacted_db_impl.cc -db/db_impl/db_impl.cc -db/db_impl/db_impl_compaction_flush.cc -db/db_impl/db_impl_debug.cc -db/db_impl/db_impl_experimental.cc -db/db_impl/db_impl_files.cc -db/db_impl/db_impl_open.cc -db/db_impl/db_impl_readonly.cc -db/db_impl/db_impl_secondary.cc -db/db_impl/db_impl_write.cc -db/db_info_dumper.cc -db/db_iter.cc -db/dbformat.cc -db/error_handler.cc -db/event_helpers.cc -db/experimental.cc -db/external_sst_file_ingestion_job.cc -db/file_indexer.cc -db/flush_job.cc -db/flush_scheduler.cc -db/forward_iterator.cc -db/import_column_family_job.cc -db/internal_stats.cc -db/logs_with_prep_tracker.cc -db/log_reader.cc -db/log_writer.cc -db/malloc_stats.cc -db/memtable.cc -db/memtable_list.cc -db/merge_helper.cc -db/merge_operator.cc -db/output_validator.cc -db/periodic_task_scheduler.cc -db/range_del_aggregator.cc -db/range_tombstone_fragmenter.cc -db/repair.cc -db/seqno_to_time_mapping.cc -db/snapshot_impl.cc -db/table_cache.cc -db/table_properties_collector.cc -db/transaction_log_impl.cc -db/trim_history_scheduler.cc -db/version_builder.cc -db/version_edit.cc -db/version_edit_handler.cc -db/version_set.cc -db/wal_edit.cc -db/wal_manager.cc -db/wide/wide_column_serialization.cc -db/wide/wide_columns.cc -db/wide/wide_columns_helper.cc -db/write_batch.cc -db/write_batch_base.cc -db/write_controller.cc -db/write_stall_stats.cc -db/write_thread.cc -env/composite_env.cc -env/env.cc -env/env_chroot.cc -env/env_encryption.cc -env/env_posix.cc -env/file_system.cc -env/fs_posix.cc -env/fs_remap.cc -env/file_system_tracer.cc -env/io_posix.cc -env/mock_env.cc -env/unique_id_gen.cc -file/delete_scheduler.cc -file/file_prefetch_buffer.cc -file/file_util.cc -file/filename.cc -file/line_file_reader.cc -file/random_access_file_reader.cc -file/read_write_util.cc -file/readahead_raf.cc -file/sequence_file_reader.cc -file/sst_file_manager_impl.cc -file/writable_file_writer.cc -logging/auto_roll_logger.cc -logging/event_logger.cc -logging/log_buffer.cc -memory/arena.cc -memory/concurrent_arena.cc -memory/jemalloc_nodump_allocator.cc -memory/memkind_kmem_allocator.cc -memory/memory_allocator.cc -memtable/alloc_tracker.cc -memtable/hash_linklist_rep.cc -memtable/hash_skiplist_rep.cc -memtable/skiplistrep.cc -memtable/vectorrep.cc -memtable/write_buffer_manager.cc -monitoring/histogram.cc -monitoring/histogram_windowing.cc -monitoring/in_memory_stats_history.cc -monitoring/instrumented_mutex.cc -monitoring/iostats_context.cc -monitoring/perf_context.cc -monitoring/perf_level.cc -monitoring/persistent_stats_history.cc -monitoring/statistics.cc -monitoring/thread_status_impl.cc -monitoring/thread_status_updater.cc -monitoring/thread_status_updater_debug.cc -monitoring/thread_status_util.cc -monitoring/thread_status_util_debug.cc -options/cf_options.cc -options/configurable.cc -options/customizable.cc -options/db_options.cc -options/offpeak_time_info.cc -options/options.cc -options/options_helper.cc -options/options_parser.cc -port/mmap.cc -port/port_posix.cc -port/stack_trace.cc -table/adaptive/adaptive_table_factory.cc -table/block_based/binary_search_index_reader.cc -table/block_based/block.cc -table/block_based/block_based_table_builder.cc -table/block_based/block_based_table_factory.cc -table/block_based/block_based_table_iterator.cc -table/block_based/block_based_table_reader.cc -table/block_based/block_builder.cc -table/block_based/block_cache.cc -table/block_based/block_prefetcher.cc -table/block_based/block_prefix_index.cc -table/block_based/data_block_hash_index.cc -table/block_based/data_block_footer.cc -table/block_based/filter_block_reader_common.cc -table/block_based/filter_policy.cc -table/block_based/flush_block_policy.cc -table/block_based/full_filter_block.cc -table/block_based/hash_index_reader.cc -table/block_based/index_builder.cc -table/block_based/index_reader_common.cc -table/block_based/parsed_full_filter_block.cc -table/block_based/partitioned_filter_block.cc -table/block_based/partitioned_index_iterator.cc -table/block_based/partitioned_index_reader.cc -table/block_based/reader_common.cc -table/block_based/uncompression_dict_reader.cc -table/block_fetcher.cc -table/cuckoo/cuckoo_table_builder.cc -table/cuckoo/cuckoo_table_factory.cc -table/cuckoo/cuckoo_table_reader.cc -table/format.cc -table/get_context.cc -table/iterator.cc -table/merging_iterator.cc -table/compaction_merging_iterator.cc -table/meta_blocks.cc -table/persistent_cache_helper.cc -table/plain/plain_table_bloom.cc -table/plain/plain_table_builder.cc -table/plain/plain_table_factory.cc -table/plain/plain_table_index.cc -table/plain/plain_table_key_coding.cc -table/plain/plain_table_reader.cc -table/sst_file_dumper.cc -table/sst_file_reader.cc -table/sst_file_writer.cc -table/table_factory.cc -table/table_properties.cc -table/two_level_iterator.cc -table/unique_id.cc -test_util/sync_point.cc -test_util/sync_point_impl.cc -test_util/transaction_test_util.cc -tools/dump/db_dump_tool.cc -trace_replay/trace_record_handler.cc -trace_replay/trace_record_result.cc -trace_replay/trace_record.cc -trace_replay/trace_replay.cc -trace_replay/block_cache_tracer.cc -trace_replay/io_tracer.cc -util/async_file_reader.cc -util/build_version.cc -util/cleanable.cc -util/coding.cc -util/compaction_job_stats_impl.cc -util/comparator.cc -util/compression.cc -util/compression_context_cache.cc -util/concurrent_task_limiter_impl.cc -util/crc32c.cc -util/crc32c_arm64.cc -util/data_structure.cc -util/dynamic_bloom.cc -util/hash.cc -util/murmurhash.cc -util/random.cc -util/rate_limiter.cc -util/ribbon_config.cc -util/slice.cc -util/file_checksum_helper.cc -util/status.cc -util/stderr_logger.cc -util/string_util.cc -util/thread_local.cc -util/threadpool_imp.cc -util/udt_util.cc -util/write_batch_util.cc -util/xxhash.cc -utilities/agg_merge/agg_merge.cc -utilities/backup/backup_engine.cc -utilities/blob_db/blob_compaction_filter.cc -utilities/blob_db/blob_db.cc -utilities/blob_db/blob_db_impl.cc -utilities/blob_db/blob_db_impl_filesnapshot.cc -utilities/blob_db/blob_file.cc -utilities/cache_dump_load.cc -utilities/cache_dump_load_impl.cc -utilities/cassandra/cassandra_compaction_filter.cc -utilities/cassandra/format.cc -utilities/cassandra/merge_operator.cc -utilities/checkpoint/checkpoint_impl.cc -utilities/compaction_filters.cc -utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc -utilities/convenience/info_log_finder.cc -utilities/counted_fs.cc -utilities/debug.cc -utilities/env_mirror.cc -utilities/env_timed.cc -utilities/fault_injection_env.cc -utilities/fault_injection_fs.cc -utilities/fault_injection_secondary_cache.cc -utilities/leveldb_options/leveldb_options.cc -utilities/memory/memory_util.cc -utilities/merge_operators.cc -utilities/merge_operators/max.cc -utilities/merge_operators/put.cc -utilities/merge_operators/sortlist.cc -utilities/merge_operators/string_append/stringappend.cc -utilities/merge_operators/string_append/stringappend2.cc -utilities/merge_operators/uint64add.cc -utilities/merge_operators/bytesxor.cc -utilities/object_registry.cc -utilities/option_change_migration/option_change_migration.cc -utilities/options/options_util.cc -utilities/persistent_cache/block_cache_tier.cc -utilities/persistent_cache/block_cache_tier_file.cc -utilities/persistent_cache/block_cache_tier_metadata.cc -utilities/persistent_cache/persistent_cache_tier.cc -utilities/persistent_cache/volatile_tier_impl.cc -utilities/simulator_cache/cache_simulator.cc -utilities/simulator_cache/sim_cache.cc -utilities/table_properties_collectors/compact_on_deletion_collector.cc -utilities/trace/file_trace_reader_writer.cc -utilities/trace/replayer_impl.cc -utilities/transactions/lock/lock_manager.cc -utilities/transactions/lock/point/point_lock_tracker.cc -utilities/transactions/lock/point/point_lock_manager.cc -utilities/transactions/optimistic_transaction.cc -utilities/transactions/optimistic_transaction_db_impl.cc -utilities/transactions/pessimistic_transaction.cc -utilities/transactions/pessimistic_transaction_db.cc -utilities/transactions/snapshot_checker.cc -utilities/transactions/transaction_base.cc -utilities/transactions/transaction_db_mutex_impl.cc -utilities/transactions/transaction_util.cc -utilities/transactions/write_prepared_txn.cc -utilities/transactions/write_prepared_txn_db.cc -utilities/transactions/write_unprepared_txn.cc -utilities/transactions/write_unprepared_txn_db.cc -utilities/ttl/db_ttl_impl.cc -utilities/wal_filter.cc -utilities/write_batch_with_index/write_batch_with_index.cc -utilities/write_batch_with_index/write_batch_with_index_internal.cc diff --git a/librocksdb-sys/snappy b/librocksdb-sys/snappy deleted file mode 160000 -Subproject 23b3286820105438c5dbb9bc22f1bb85c5812c8 diff --git a/librocksdb-sys/snappy-stubs-public.h b/librocksdb-sys/snappy-stubs-public.h deleted file mode 100644 index 14592e0..0000000 --- a/librocksdb-sys/snappy-stubs-public.h +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// Author: sesse@google.com (Steinar H. Gunderson) -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Various type stubs for the open-source version of Snappy. -// -// This file cannot include config.h, as it is included from snappy.h, -// which is a public header. Instead, snappy-stubs-public.h is generated by -// from snappy-stubs-public.h.in at configure time. - -#ifndef THIRD_PARTY_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_ -#define THIRD_PARTY_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_ - -#define HAVE_STDINT_H 1 - - -#include <stdint.h> - -#include <stddef.h> - -//#include <sys/uio.h> - -#if defined(_MSC_VER) -#define ssize_t intptr_t -#endif - -#define SNAPPY_MAJOR 1 -#define SNAPPY_MINOR 1 -#define SNAPPY_PATCHLEVEL 3 -#define SNAPPY_VERSION \ - ((SNAPPY_MAJOR << 16) | (SNAPPY_MINOR << 8) | SNAPPY_PATCHLEVEL) - -#include <string> - -namespace snappy { - -#if HAVE_STDINT_H -typedef int8_t int8; -typedef uint8_t uint8; -typedef int16_t int16; -typedef uint16_t uint16; -typedef int32_t int32; -typedef uint32_t uint32; -typedef int64_t int64; -typedef uint64_t uint64; -#else -typedef signed char int8; -typedef unsigned char uint8; -typedef short int16; -typedef unsigned short uint16; -typedef int int32; -typedef unsigned int uint32; -typedef long long int64; -typedef unsigned long long uint64; -#endif - -typedef std::string string; - -#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName&); \ - void operator=(const TypeName&) - -// Windows does not have an iovec type, yet the concept is universally useful. -// It is simple to define it ourselves, so we put it inside our own namespace. -struct iovec { - void* iov_base; - size_t iov_len; -}; - -} // namespace snappy - -#endif // THIRD_PARTY_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_ |