correct building without relying on system

main
Ziyang Hu 2 years ago
parent f6772f6a39
commit 882b7319d3

6
.gitmodules vendored

@ -1,3 +1,9 @@
[submodule "rocksdb"]
path = cozorocks/rocksdb
url = https://github.com/facebook/rocksdb
[submodule "cozorocks/rocksdb"]
path = cozorocks/rocksdb
url = https://github.com/facebook/rocksdb
[submodule "cozorocks/jemalloc"]
path = cozorocks/jemalloc
url = https://github.com/jemalloc/jemalloc

@ -2,6 +2,7 @@
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/rocksdb" vcs="Git" />
<mapping directory="$PROJECT_DIR$/cozorocks/jemalloc" vcs="Git" />
<mapping directory="$PROJECT_DIR$/cozorocks/rocksdb" vcs="Git" />
</component>
</project>

@ -1,19 +0,0 @@
cd rocksdb || exit
make clean
INSTALL_DIR=$(readlink -f ../deps)
echo "$INSTALL_DIR"
rm -fr "$INSTALL_DIR"
mkdir "$INSTALL_DIR"
export JEMALLOC_BASE=/opt/homebrew
JEMALLOC_INCLUDE=" -I $JEMALLOC_BASE/include/" \
JEMALLOC_LIB=" $JEMALLOC_BASE/lib/libjemalloc.a" \
USE_RTTI=1 \
USE_CLANG=1 \
JEMALLOC=1 \
PREFIX=$INSTALL_DIR \
make install-static
DEBUG_LEVEL=0 make libz.a libsnappy.a liblz4.a libzstd.a
mv ./*.a ../deps/lib

@ -4,7 +4,7 @@ project(cozorocks)
set(CMAKE_CXX_STANDARD 17)
include_directories("bridge")
include_directories("../deps/include")
include_directories("deps/include")
include_directories("../target/cxxbridge")
add_library(cozorocks "bridge/cozorocks.cc" "bridge/cozorocks.h")

@ -7,7 +7,7 @@ edition = "2021"
[dependencies]
cxx = "1.0.69"
tikv-jemalloc-sys = { "version" = "0.5", "features" = ["unprefixed_malloc_on_supported_platforms"] }
#tikv-jemalloc-sys = { "version" = "0.5", "features" = ["unprefixed_malloc_on_supported_platforms"] }
[build-dependencies]
cxx-build = "1.0.69"

@ -3,7 +3,6 @@ use std::env::var;
fn main() {
let manifest_dir = var("CARGO_MANIFEST_DIR").unwrap();
// println!("cargo:rustc-link-search=/opt/homebrew/lib/");
println!("cargo:rustc-link-search={}/deps/lib/", manifest_dir);
println!("cargo:rustc-link-lib=rocksdb");
println!("cargo:rustc-link-lib=z");

@ -0,0 +1,29 @@
mkdir -p deps
INSTALL_DIR=$(readlink -f deps)
echo "$INSTALL_DIR"
cd jemalloc || exit
./autogen.sh --disable-debug --prefix="$INSTALL_DIR" --with-jemalloc-prefix=""
make
make install
cd ..
cd rocksdb || exit
make clean
export JEMALLOC_BASE=$INSTALL_DIR
DEBUG_LEVEL=0 \
JEMALLOC_INCLUDE=" -I $JEMALLOC_BASE/include/" \
JEMALLOC_LIB=" $JEMALLOC_BASE/lib/libjemalloc.a" \
USE_RTTI=1 \
USE_CLANG=1 \
JEMALLOC=1 \
PREFIX=$INSTALL_DIR \
make install-static || exit
DEBUG_LEVEL=0 make libz.a libsnappy.a liblz4.a libzstd.a
mv ./*.a ../deps/lib || exit
make clean

@ -0,0 +1 @@
Subproject commit 54eaed1d8b56b1aa528be3bdd1877e59c56fa90c

@ -0,0 +1 @@
Subproject commit 8e0f495253f62904a4ca6d3ec6a03391a12b0a45
Loading…
Cancel
Save