38 lines
985 B
Bash
38 lines
985 B
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
MASON_NAME=rocksdb
|
||
|
MASON_VERSION=4.13
|
||
|
MASON_LIB_FILE=lib/librocksdb.a
|
||
|
|
||
|
. ${MASON_DIR}/mason.sh
|
||
|
|
||
|
function mason_load_source {
|
||
|
mason_download \
|
||
|
https://github.com/facebook/${MASON_NAME}/archive/v4.13.tar.gz \
|
||
|
0f82fd1e08e3c339dab5b19b08e201aebe6dace4
|
||
|
|
||
|
mason_extract_tar_gz
|
||
|
|
||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-4.13
|
||
|
}
|
||
|
|
||
|
function mason_compile {
|
||
|
# by default -O2 is used for release builds (https://github.com/facebook/rocksdb/commit/1d08140e817d5908889f59046148ed4d3b1039e5)
|
||
|
# but this is too conservative
|
||
|
# we want -O3 for best performance
|
||
|
perl -i -p -e "s/-O2 -fno-omit-frame-pointer/-O3/g;" Makefile
|
||
|
INSTALL_PATH=${MASON_PREFIX} V=1 make install-static -j${MASON_CONCURRENCY}
|
||
|
# remove debug symbols (200 MB -> 10 MB)
|
||
|
strip -S ${MASON_PREFIX}/${MASON_LIB_FILE}
|
||
|
}
|
||
|
|
||
|
function mason_static_libs {
|
||
|
echo ${MASON_PREFIX}/${MASON_LIB_FILE}
|
||
|
}
|
||
|
|
||
|
function mason_ldflags {
|
||
|
:
|
||
|
}
|
||
|
|
||
|
mason_run "$@"
|