| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/bin/sh
- # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
- # fail early
- set -e
- if test -z $ROCKSDB_PATH; then
- ROCKSDB_PATH=~/rocksdb
- fi
- source $ROCKSDB_PATH/build_tools/fbcode_config4.8.1.sh
- EXTRA_LDFLAGS=""
- if test -z $ALLOC; then
- # default
- ALLOC=tcmalloc
- elif [[ $ALLOC == "jemalloc" ]]; then
- ALLOC=system
- EXTRA_LDFLAGS+=" -Wl,--whole-archive $JEMALLOC_LIB -Wl,--no-whole-archive"
- fi
- # we need to force mongo to use static library, not shared
- STATIC_LIB_DEP_DIR='build/static_library_dependencies'
- test -d $STATIC_LIB_DEP_DIR || mkdir $STATIC_LIB_DEP_DIR
- test -h $STATIC_LIB_DEP_DIR/`basename $SNAPPY_LIBS` || ln -s $SNAPPY_LIBS $STATIC_LIB_DEP_DIR
- test -h $STATIC_LIB_DEP_DIR/`basename $LZ4_LIBS` || ln -s $LZ4_LIBS $STATIC_LIB_DEP_DIR
- EXTRA_LDFLAGS+=" -L $STATIC_LIB_DEP_DIR"
- set -x
- EXTRA_CMD=""
- if ! test -e version.json; then
- # this is Mongo 3.0
- EXTRA_CMD="--rocksdb \
- --variant-dir=linux2/norm
- --cxx=${CXX} \
- --cc=${CC} \
- --use-system-zlib" # add this line back to normal code path
- # when https://jira.mongodb.org/browse/SERVER-19123 is resolved
- fi
- scons \
- LINKFLAGS="$EXTRA_LDFLAGS $EXEC_LDFLAGS $PLATFORM_LDFLAGS" \
- CCFLAGS="$CXXFLAGS -L $STATIC_LIB_DEP_DIR" \
- LIBS="lz4 gcc stdc++" \
- LIBPATH="$ROCKSDB_PATH" \
- CPPPATH="$ROCKSDB_PATH/include" \
- -j32 \
- --allocator=$ALLOC \
- --nostrip \
- --opt=on \
- --disable-minimum-compiler-version-enforcement \
- --use-system-snappy \
- --disable-warnings-as-errors \
- $EXTRA_CMD $*
|