diff --git a/.gitignore b/.gitignore index 6b4fb8d9de7..a23cb4c443e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ _build _build.log +_install common/base/Base.h.gch diff --git a/CMakeLists.txt b/CMakeLists.txt index a0dbce56c7c..5679c8d16ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,8 +36,23 @@ find_package(PCHSupport) add_compile_options(-Winvalid-pch) -include_directories(SYSTEM ${VGRAPH_HOME}/third-party/_build/include) -include_directories(SYSTEM ${VGRAPH_HOME}/third-party/_build/compression/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/bzip2/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/double-conversion/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/fatal/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/fbthrift/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/folly/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/gflags/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/glog/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/googletest/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/jemalloc/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/libevent/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/mstch/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/proxygen/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/rocksdb/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/snappy/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/wangle/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/zlib/_install/include) +include_directories(SYSTEM ${VGRAPH_HOME}/third-party/zstd/_install/include) include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR}) include_directories(SYSTEM ${KRB5_INCLUDE_DIRS}) @@ -46,8 +61,23 @@ include_directories(AFTER interface) include_directories(AFTER ${VGRAPH_HOME}) link_directories( - third-party/_build/lib - third-party/_build/compression/lib + ${VGRAPH_HOME}/third-party/bzip2/_install/lib + ${VGRAPH_HOME}/third-party/double-conversion/_install/lib + ${VGRAPH_HOME}/third-party/fatal/_install/lib + ${VGRAPH_HOME}/third-party/fbthrift/_install/lib + ${VGRAPH_HOME}/third-party/folly/_install/lib + ${VGRAPH_HOME}/third-party/gflags/_install/lib + ${VGRAPH_HOME}/third-party/glog/_install/lib + ${VGRAPH_HOME}/third-party/googletest/_install/lib + ${VGRAPH_HOME}/third-party/jemalloc/_install/lib + ${VGRAPH_HOME}/third-party/libevent/_install/lib + ${VGRAPH_HOME}/third-party/mstch/_install/lib + ${VGRAPH_HOME}/third-party/proxygen/_install/lib + ${VGRAPH_HOME}/third-party/rocksdb/_install/lib64 + ${VGRAPH_HOME}/third-party/snappy/_install/lib + ${VGRAPH_HOME}/third-party/wangle/_install/lib + ${VGRAPH_HOME}/third-party/zlib/_install/lib + ${VGRAPH_HOME}/third-party/zstd/_install/lib ${Boost_LIBRARY_DIRS} ${KRB5_LIBRARY_DIRS} ) @@ -86,12 +116,14 @@ add_dependencies(common third-party) add_custom_target( clean-build COMMAND ${CMAKE_MAKE_PROGRAM} clean + COMMAND "find" "." "-name" "Testing" "|" "xargs" "rm" "-fr" DEPENDS clean-interface clean-pch ) add_custom_target( clean-all COMMAND ${CMAKE_MAKE_PROGRAM} clean + COMMAND "find" "." "-name" "Testing" "|" "xargs" "rm" "-fr" DEPENDS clean-interface clean-pch clean-third-party ) @@ -100,6 +132,7 @@ add_custom_target( COMMAND "find" "." "-name" "CMakeFiles" "|" "xargs" "rm" "-fr" COMMAND "find" "." "-name" "CMakeCache.txt" "|" "xargs" "rm" "-f" COMMAND "find" "." "-name" "cmake_install.cmake" "|" "xargs" "rm" "-f" + COMMAND "find" "." "-name" "CTestTestfile.cmake" "|" "xargs" "rm" "-f" COMMAND "find" "." "-name" "Makefile" "|" "xargs" "rm" "-f" DEPENDS clean-all ) diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 2348ff9792d..fbe21c14f70 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -7,7 +7,7 @@ add_custom_command( gen-cpp2/vgraph_constants.cpp gen-cpp2/vgraph_data.cpp gen-cpp2/vgraph_types.cpp - COMMAND "${CMAKE_HOME_DIRECTORY}/third-party/_build/bin/thrift1" "--allow-neg-enum-vals" "--templates" "${CMAKE_HOME_DIRECTORY}/third-party/_build/include/thrift/templates" "--gen" "mstch_cpp2:include_prefix=\"interface\",process_in_event_base,stack_arguments" "--gen" "java:hashcode" "--gen" "go" "--gen" "py:new_style" "-o" "." "./vgraph.thrift" + COMMAND "${CMAKE_HOME_DIRECTORY}/third-party/fbthrift/_install/bin/thrift1" "--allow-neg-enum-vals" "--templates" "${CMAKE_HOME_DIRECTORY}/third-party/fbthrift/_install/include/thrift/templates" "--gen" "mstch_cpp2:include_prefix=\"interface\",process_in_event_base,stack_arguments" "--gen" "java:hashcode" "--gen" "go" "--gen" "py:new_style" "-o" "." "./vgraph.thrift" DEPENDS vgraph.thrift ) @@ -21,7 +21,7 @@ add_custom_command( gen-cpp2/consensus_constants.cpp gen-cpp2/consensus_data.cpp gen-cpp2/consensus_types.cpp - COMMAND "${CMAKE_HOME_DIRECTORY}/third-party/_build/bin/thrift1" "--allow-neg-enum-vals" "--templates" "${CMAKE_HOME_DIRECTORY}/third-party/_build/include/thrift/templates" "--gen" "mstch_cpp2:include_prefix=\"interface\",process_in_event_base,stack_arguments" "--gen" "java:hashcode" "--gen" "go" "--gen" "py:new_style" "-o" "." "./consensus.thrift" + COMMAND "${CMAKE_HOME_DIRECTORY}/third-party/fbthrift/_install/bin/thrift1" "--allow-neg-enum-vals" "--templates" "${CMAKE_HOME_DIRECTORY}/third-party/fbthrift/_install/include/thrift/templates" "--gen" "mstch_cpp2:include_prefix=\"interface\",process_in_event_base,stack_arguments" "--gen" "java:hashcode" "--gen" "go" "--gen" "py:new_style" "-o" "." "./consensus.thrift" DEPENDS consensus.thrift ) diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt index f24e67b844d..b7d206be324 100644 --- a/third-party/CMakeLists.txt +++ b/third-party/CMakeLists.txt @@ -25,6 +25,5 @@ add_custom_target( add_custom_target( clean-third-party - COMMAND "rm" "-fr" "_build" DEPENDS clean-bzip2 clean-double-conversion clean-fatal clean-fbthrift clean-folly clean-gflags clean-glog clean-googletest clean-jemalloc clean-libevent clean-mstch clean-proxygen clean-rocksdb clean-snappy clean-wangle clean-zlib clean-zstd ) diff --git a/third-party/bzip2/CMakeLists.txt b/third-party/bzip2/CMakeLists.txt index e6fd220639c..e9b371cae4e 100644 --- a/third-party/bzip2/CMakeLists.txt +++ b/third-party/bzip2/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-bzip2 - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/bzip2/build.sh b/third-party/bzip2/build.sh index 6498a5895ca..6a5f00fe6af 100755 --- a/third-party/bzip2/build.sh +++ b/third-party/bzip2/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "bzip2" "" "/compression" +prepareBuild "bzip2" echo echo Start building $PROJECT_NAME with gcc-$GCC_VER diff --git a/third-party/double-conversion/CMakeLists.txt b/third-party/double-conversion/CMakeLists.txt index b6c7186f7ec..69caf96013e 100644 --- a/third-party/double-conversion/CMakeLists.txt +++ b/third-party/double-conversion/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-double-conversion - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/fatal/CMakeLists.txt b/third-party/fatal/CMakeLists.txt index b6c581fec43..c8f634b623e 100644 --- a/third-party/fatal/CMakeLists.txt +++ b/third-party/fatal/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-fatal - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/fatal/build.sh b/third-party/fatal/build.sh index ba80f1a88b5..ad0a8145637 100755 --- a/third-party/fatal/build.sh +++ b/third-party/fatal/build.sh @@ -10,7 +10,7 @@ echo echo Start installing $PROJECT_NAME echo -mkdir -p $INSTALL_PATH +mkdir -p $INSTALL_PATH/include #cp -r $SOURCE_DIR/demo $INSTALL_PATH #cp -r $SOURCE_DIR/docs $INSTALL_PATH cp -r $SOURCE_DIR/fatal $INSTALL_PATH/include/. diff --git a/third-party/fbthrift/CMakeLists.txt b/third-party/fbthrift/CMakeLists.txt index f4f9cde6cfc..6139b186708 100644 --- a/third-party/fbthrift/CMakeLists.txt +++ b/third-party/fbthrift/CMakeLists.txt @@ -6,6 +6,6 @@ add_custom_target( add_custom_target( clean-fbthrift - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/fbthrift/build.sh b/third-party/fbthrift/build.sh index 2fc80b89f57..4865cf70977 100755 --- a/third-party/fbthrift/build.sh +++ b/third-party/fbthrift/build.sh @@ -4,10 +4,19 @@ source ../functions.sh prepareBuild "fbthrift" -BOOST_RELEASE=$TOOLS_ROOT/boost -OPENSSL_RELEASE=$TOOLS_ROOT/openssl -LIBUNWIND_RELEASE=$TOOLS_ROOT/libunwind -KRB_RELEASE=$TOOLS_ROOT/krb5 +boost_release=$TOOLS_ROOT/boost +openssl_release=$TOOLS_ROOT/openssl +libunwind_release=$TOOLS_ROOT/libunwind +krb_release=$TOOLS_ROOT/krb5 + +double_conversion_release=$THIRD_PARTY_DIR/double-conversion/_install +gflags_release=$THIRD_PARTY_DIR/gflags/_install +glog_release=$THIRD_PARTY_DIR/glog/_install +folly_release=$THIRD_PARTY_DIR/folly/_install +wangle_release=$THIRD_PARTY_DIR/wangle/_install +mstch_release=$THIRD_PARTY_DIR/mstch/_install +zlib_release=$THIRD_PARTY_DIR/zlib/_install +zstd_release=$THIRD_PARTY_DIR/zstd/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -23,16 +32,12 @@ echo cd $SOURCE_DIR -COMPILER_FLAGS="-fPIC -DPIC -I$OPENSSL_RELEASE/include -I$KRB_RELEASE/include -I$INSTALL_PATH/include $EXTRA_CXXFLAGS" -LINKER_FLAGS="-static-libgcc -static-libstdc++ -L$KRB_RELEASE/lib -L$LIBUNWIND_RELEASE/lib -L$INSTALL_PATH/lib $EXTRA_LDFLAGS" -INCLUDE_DIR=$INSTALL_PATH/include -COMPRESS_INCLUDE_DIR=$INSTALL_PATH/compression/include -LIB_DIR=$INSTALL_PATH/lib -COMPRESS_LIB_DIR=$INSTALL_PATH/compression/lib +COMPILER_FLAGS="-fPIC -DPIC -I$openssl_release/include -I$krb_release/include $EXTRA_CXXFLAGS" +LINKER_FLAGS="-static-libgcc -static-libstdc++ -L$krb_release/lib -L$libunwind_release/lib $EXTRA_LDFLAGS" if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_C_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_CXX_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_STATIC_LINKER_FLAGS:STRING="" -DCMAKE_EXE_LINKER_FLAGS:STRING="$LINKER_FLAGS" -DOPENSSL_INCLUDE_DIR=$OPENSSL_RELEASE/include -DOPENSSL_SSL_LIBRARY=$OPENSSL_RELEASE/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=$OPENSSL_RELEASE/lib/libcrypto.a -DBOOST_ROOT=$BOOST_RELEASE -DBoost_USE_STATIC_LIBS:BOOL=YES -DMSTCH_INCLUDE_DIRS=$INCLUDE_DIR -DMSTCH_LIBRARIES=$LIB_DIR/libmstch.a -DDOUBLE_CONVERSION_INCLUDE_DIR=$INCLUDE_DIR -DDOUBLE_CONVERSION_LIBRARY=$LIB_DIR -DFOLLY_ROOT=$INSTALL_PATH -DGFLAGS_INCLUDE_DIR=$INCLUDE_DIR -DGFLAGS_LIBRARY=$LIB_DIR -DGLOG_INCLUDE_DIRS=$INCLUDE_DIR -DGLOG_LIBRARIES=$LIB_DIR/libglog.a -DWANGLE_INCLUDE_DIRS=$INCLUDE_DIR -DWANGLE_LIBRARIES=$LIB_DIR/libwangle.a -DZLIB_INCLUDE_DIRS=$COMPRESS_INCLUDE_DIR -DZLIB_LIBRARIES=$COMPRESS_LIB_DIR/libz.a -DZSTD_INCLUDE_DIRS=$COMPRESS_INCLUDE_DIR -DZSTD_LIBRARIES=$COMPRESS_LIB_DIR/libzstd.a -DFLEX_EXECUTABLE=$FLEX_ROOT/bin/flex -DTHRIFT_HOME=$INSTALL_PATH $SOURCE_DIR); then + if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_C_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_CXX_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_STATIC_LINKER_FLAGS:STRING="" -DCMAKE_EXE_LINKER_FLAGS:STRING="$LINKER_FLAGS" -DOPENSSL_INCLUDE_DIR=$openssl_release/include -DOPENSSL_SSL_LIBRARY=$openssl_release/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=$openssl_release/lib/libcrypto.a -DBOOST_ROOT=$boost_release -DBoost_USE_STATIC_LIBS:BOOL=YES -DMSTCH_INCLUDE_DIRS=$mstch_release/include -DMSTCH_LIBRARIES=$mstch_release/lib/libmstch.a -DDOUBLE_CONVERSION_INCLUDE_DIR=$double_conversion_release/include -DDOUBLE_CONVERSION_LIBRARY=$double_conversion_release/lib -Dfolly_DIR=$folly_release/lib/cmake/folly -DGFLAGS_INCLUDE_DIR=$gflags_release/include -DGFLAGS_LIBRARY=$gflags_release/lib -DGLOG_INCLUDE_DIRS=$glog_release/include -DGLOG_LIBRARIES=$glog_release/lib/libglog.a -Dwangle_DIR=$wangle_release/lib/cmake/wangle -DZLIB_INCLUDE_DIRS=$zlib_release/include -DZLIB_LIBRARIES=$zlib_release/lib/libz.a -DZSTD_INCLUDE_DIRS=$zstd_release/include -DZSTD_LIBRARIES=$zstd_release/lib/libzstd.a -DTHRIFT_HOME=$INSTALL_PATH -DFLEX_EXECUTABLE=$FLEX_ROOT/bin/flex $SOURCE_DIR); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/folly/CMakeLists.txt b/third-party/folly/CMakeLists.txt index 81c5ae364e0..72ecb51cf0d 100644 --- a/third-party/folly/CMakeLists.txt +++ b/third-party/folly/CMakeLists.txt @@ -6,6 +6,6 @@ add_custom_target( add_custom_target( clean-folly - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/folly/build.sh b/third-party/folly/build.sh index 00646ed050f..fd5915468ef 100755 --- a/third-party/folly/build.sh +++ b/third-party/folly/build.sh @@ -4,9 +4,17 @@ source ../functions.sh prepareBuild "folly" -BOOST_RELEASE=$TOOLS_ROOT/boost -OPENSSL_RELEASE=$TOOLS_ROOT/openssl -LIBUNWIND_RELEASE=$TOOLS_ROOT/libunwind +boost_release=$TOOLS_ROOT/boost +openssl_release=$TOOLS_ROOT/openssl +libunwind_release=$TOOLS_ROOT/libunwind + +double_conversion_release=$THIRD_PARTY_DIR/double-conversion/_install +libevent_release=$THIRD_PARTY_DIR/libevent/_install +gflags_release=$THIRD_PARTY_DIR/gflags/_install +glog_release=$THIRD_PARTY_DIR/glog/_install +zlib_release=$THIRD_PARTY_DIR/zlib/_install +zstd_release=$THIRD_PARTY_DIR/zstd/_install +snappy_release=$THIRD_PARTY_DIR/snappy/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -22,17 +30,12 @@ echo cd $SOURCE_DIR -INCLUDE_DIR=$INSTALL_PATH/include -COMPRESS_INCLUDE_DIR=$INSTALL_PATH/compression/include -LIB_DIR=$INSTALL_PATH/lib -COMPRESS_LIB_DIR=$INSTALL_PATH/compression/lib - -COMPILER_FLAGS="-fPIC -DPIC -DFOLLY_HAVE_LIBDWARF_DWARF_H -DFOLLY_HAVE_LIBZSTD -I$INCLUDE_DIR $EXTRA_CXXFLAGS" -EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -L$LIBUNWIND_RELEASE/lib -L$LIB_DIR $EXTRA_LDFLAGS" +COMPILER_FLAGS="-fPIC -DPIC -DFOLLY_HAVE_LIBDWARF_DWARF_H -DFOLLY_HAVE_LIBZSTD -DFOLLY_HAVE_MEMRCHR -Wno-noexcept-type $EXTRA_CXXFLAGS" +EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -L$libunwind_release/lib $EXTRA_LDFLAGS" if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_C_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_CXX_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_EXE_LINKER_FLAGS:STRING="$EXE_LINKER_FLAGS" -DOPENSSL_INCLUDE_DIR=$OPENSSL_RELEASE/include -DOPENSSL_SSL_LIBRARY=$OPENSSL_RELEASE/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=$OPENSSL_RELEASE/lib/libcrypto.a -DBOOST_ROOT=$BOOST_RELEASE -DBoost_USE_STATIC_LIBS:BOOL=YES -DDOUBLE_CONVERSION_INCLUDE_DIR=$INCLUDE_DIR -DDOUBLE_CONVERSION_LIBRARY=$LIB_DIR/libdouble-conversion.a -DLIBEVENT_INCLUDE_DIR=$INCLUDE_DIR -DLIBEVENT_LIB=$LIB_DIR/libevent.a -DGFLAGS_INCLUDE_DIR=$INCLUDE_DIR -DGFLAGS_LIBRARY=$LIB_DIR/libgflags.a -DLIBGLOG_INCLUDE_DIR=$INCLUDE_DIR -DLIBGLOG_LIBRARY=$LIB_DIR/libglog.a -DZLIB_INCLUDE_DIR=$COMPRESS_INCLUDE_DIR -DZLIB_LIBRARY=$COMPRESS_LIB_DIR/libz.a -DZSTD_INCLUDE_DIR=$COMPRESS_INCLUDE_DIR -DZSTD_LIBRARY=$COMPRESS_LIB_DIR/libzstd.a -DSNAPPY_INCLUDE_DIR=$COMPRESS_INCLUDE_DIR -DSNAPPY_LIBRARY=$COMPRESS_LIB_DIR/libsnappy.a $SOURCE_DIR); then + if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_C_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_CXX_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_EXE_LINKER_FLAGS:STRING="$EXE_LINKER_FLAGS" -DOPENSSL_INCLUDE_DIR=$openssl_release/include -DOPENSSL_SSL_LIBRARY=$openssl_release/lib/libssl.a -DOPENSSL_CRYPTO_LIBRARY=$openssl_release/lib/libcrypto.a -DBOOST_ROOT=$boost_release -DBoost_USE_STATIC_LIBS:BOOL=YES -DDOUBLE_CONVERSION_INCLUDE_DIR=$double_conversion_release/include -DDOUBLE_CONVERSION_LIBRARY=$double_conversion_release/lib/libdouble-conversion.a -DLIBEVENT_INCLUDE_DIR=$libevent_release/include -DLIBEVENT_LIB=$libevent_release/lib/libevent.a -DLIBGFLAGS_INCLUDE_DIR=$gflags_release/include -DLIBGFLAGS_LIBRARY_RELEASE=$gflags_release/lib/libgflags.a -DLIBGLOG_INCLUDE_DIR=$glog_release/include -DLIBGLOG_LIBRARY=$glog_release/lib/libglog.a -DZLIB_INCLUDE_DIR=$zlib_release/include -DZLIB_LIBRARY=$zlib_release/lib/libz.a -DZSTD_INCLUDE_DIR=$zstd_release/include -DZSTD_LIBRARY=$zstd_release/lib/libzstd.a -DSNAPPY_INCLUDE_DIR=$snappy_release/include -DSNAPPY_LIBRARY_RELEASE=$snappy_release/lib/libsnappy.a $SOURCE_DIR); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/functions.sh b/third-party/functions.sh index a85769292aa..1441cee1021 100755 --- a/third-party/functions.sh +++ b/third-party/functions.sh @@ -6,10 +6,6 @@ # the default source path "_build/${project_name}" # If specified, it must start with "/", so that it can # be appended to the default source path -# 3rd: install_dir. It must be a sub-directory of the default -# install path "third-party/_build" -# If specified, it must start with "/", so that it can -# be appended to the default source path function prepareBuild() { # Make sure the script is executed from the source directory CURR_DIR=`dirname $0` @@ -30,12 +26,6 @@ function prepareBuild() { local src_dir="" fi - if [[ $# > 2 ]]; then - local install_dir=$3 - else - local install_dir="" - fi - CURR_DIR=`pwd` THIRD_PARTY_DIR=`cd .. && pwd` TOOLS_ROOT=/home/engshare @@ -49,13 +39,13 @@ function prepareBuild() { tar -zxf ../$SOURCE_TAR_BALL_NAME --keep-newer-files 2> /dev/null SOURCE_DIR=${BUILD_PATH}/${PROJECT_NAME}${src_dir} - INSTALL_PATH=$THIRD_PARTY_DIR/_build${install_dir} + INSTALL_PATH=$CURR_DIR/_install GCC_ROOT=$TOOLS_ROOT/gcc CMAKE_ROOT=$TOOLS_ROOT/cmake FLEX_ROOT=$TOOLS_ROOT/flex - CMAKE_FLAGS="-DCMAKE_CXX_COMPILER:FILEPATH=$GCC_ROOT/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=$GCC_ROOT/bin/gcc -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES -DCMAKE_SKIP_RPATH:BOOL=YES -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_STATIC_LIBS:BOOL=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH" + CMAKE_FLAGS="-DCMAKE_CXX_COMPILER:FILEPATH=$GCC_ROOT/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=$GCC_ROOT/bin/gcc -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES -DCMAKE_SKIP_RPATH:BOOL=YES -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH" GCC_VER=`$GCC_ROOT/bin/gcc --version | head -1 | cut -d ' ' -f 3` EXTRA_CXXFLAGS="-O2" diff --git a/third-party/gflags/CMakeLists.txt b/third-party/gflags/CMakeLists.txt index e65a6a50746..aaa601a1380 100644 --- a/third-party/gflags/CMakeLists.txt +++ b/third-party/gflags/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-gflags - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/glog/CMakeLists.txt b/third-party/glog/CMakeLists.txt index bdbd8218644..e38d7aa5164 100644 --- a/third-party/glog/CMakeLists.txt +++ b/third-party/glog/CMakeLists.txt @@ -6,6 +6,6 @@ add_custom_target( add_custom_target( clean-glog - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/glog/build.sh b/third-party/glog/build.sh index 424793fa465..ef702b0a0a3 100755 --- a/third-party/glog/build.sh +++ b/third-party/glog/build.sh @@ -4,9 +4,9 @@ source ../functions.sh prepareBuild "glog" -#GFLAGS_RELEASE=$TOOLS_ROOT/gflags -#DOUBLE_CONVERSION_RELEASE=$TOOLS_ROOT/double-conversion -#LIBEVENT_RELEASE=$TOOLS_ROOT/libevent +double_conversion_release=$THIRD_PARTY_DIR/double-conversion/_install +gflags_release=$THIRD_PARTY_DIR/gflags/_install +libevent_release=$THIRD_PARTY_DIR/libevent/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -26,7 +26,7 @@ fi if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -DHAVE_LIB_GFLAGS -I$INSTALL_PATH/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$INSTALL_PATH/lib $EXTRA_LDFLAGS" LIBS="-lgflags" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --enable-shared=no); then + if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -DHAVE_LIB_GFLAGS -I$double_conversion_release/include -I$gflags_release/include -I$libevent_release/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$double_conversion_release/lib -L$gflags_release/lib -L$libevent_release/lib $EXTRA_LDFLAGS" LIBS="-lgflags" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --enable-shared=no); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/googletest/CMakeLists.txt b/third-party/googletest/CMakeLists.txt index b8fcc3d7fbd..7c8349e393b 100644 --- a/third-party/googletest/CMakeLists.txt +++ b/third-party/googletest/CMakeLists.txt @@ -6,6 +6,6 @@ add_custom_target( add_custom_target( clean-googletest - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/googletest/build-gmock.sh b/third-party/googletest/build-gmock.sh index 0300ef3c674..95ff8616b94 100755 --- a/third-party/googletest/build-gmock.sh +++ b/third-party/googletest/build-gmock.sh @@ -15,11 +15,11 @@ EXTRA_CXXFLAGS=$5 EXTRA_LDFLAGS=$6 shift 6 -#GLOG_RELEASE=$TOOLS_ROOT/glog -#GTEST_RELEASE=$PROJECT_PATH/build/gtest -#GFLAGS_RELEASE=$TOOLS_ROOT/gflags -#DOUBLE_CONVERSION_RELEASE=$TOOLS_ROOT/double-conversion -#LIBEVENT_RELEASE=$TOOLS_ROOT/libevent +double_conversion_release=$THIRD_PARTY_DIR/double-conversion/_install +gflags_release=$THIRD_PARTY_DIR/gflags/_install +glog_release=$THIRD_PARTY_DIR/glog/_install +gtest_release=$INSTALL_PATH +libevent_release=$THIRD_PARTY_DIR/libevent/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -40,7 +40,7 @@ fi if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile || $CURR_DIR/build-gmock.sh -nt $SOURCE_DIR/Makefile ]]; then - if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -DHAVE_LIB_GFLAGS -std=c++11 -I$INSTALL_PATH/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$INSTALL_PATH/lib $EXTRA_LDFLAGS" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --with-gnu-ld); then + if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -DHAVE_LIB_GFLAGS -std=c++11 -I$double_conversion_release/include -I$gflags_release/include -I$glog_release/include -I$gtest_release/include -I$libevent_release/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$double_conversion_release/lib -L$gflags_release/lib -L$glog_release/lib -L$gtest_release/lib -L$libevent_release/lib $EXTRA_LDFLAGS" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --with-gnu-ld); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/googletest/build-gtest.sh b/third-party/googletest/build-gtest.sh index 55d1a18c0b7..3a44166cf56 100755 --- a/third-party/googletest/build-gtest.sh +++ b/third-party/googletest/build-gtest.sh @@ -15,10 +15,10 @@ EXTRA_CXXFLAGS=$5 EXTRA_LDFLAGS=$6 shift 6 -#GLOG_RELEASE=$TOOLS_ROOT/glog -#GFLAGS_RELEASE=$TOOLS_ROOT/gflags -#DOUBLE_CONVERSION_RELEASE=$TOOLS_ROOT/double-conversion -#LIBEVENT_RELEASE=$TOOLS_ROOT/libevent +double_conversion_release=$THIRD_PARTY_DIR/double-conversion/_install +gflags_release=$THIRD_PARTY_DIR/gflags/_install +glog_release=$THIRD_PARTY_DIR/glog/_install +libevent_release=$THIRD_PARTY_DIR/libevent/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -39,7 +39,7 @@ fi if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile || $CURR_DIR/build-gtest.sh -nt $SOURCE_DIR/Makefile ]]; then - if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -DHAVE_LIB_GFLAGS -std=c++11 -I$INSTALL_PATH/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$INSTALL_PATH/lib $EXTRA_LDFLAGS" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --with-gnu-ld); then + if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -DHAVE_LIB_GFLAGS -std=c++11 -I$double_conversion/include -I$libevent_release/include -I$gflags_release/include -I$glog_release/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$double_conversion/lib -L$libevent_release/lib -L$gflags_release/lib -L$glog_release/lib $EXTRA_LDFLAGS" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --with-gnu-ld); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/jemalloc/CMakeLists.txt b/third-party/jemalloc/CMakeLists.txt index 75d28d3a728..084ff4b0f67 100644 --- a/third-party/jemalloc/CMakeLists.txt +++ b/third-party/jemalloc/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-jemalloc - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/jemalloc/build.sh b/third-party/jemalloc/build.sh index 5ebf3f50a67..d04ec651990 100755 --- a/third-party/jemalloc/build.sh +++ b/third-party/jemalloc/build.sh @@ -4,7 +4,7 @@ source ../functions.sh prepareBuild "jemalloc" -LIBUNWIND_RELEASE=$TOOLS_ROOT/libunwind +libunwind_release=$TOOLS_ROOT/libunwind echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -25,7 +25,7 @@ cd $SOURCE_DIR if [[ $SOURCE_DIR/configure.ac -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -I$LIBUNWIND_RELEASE/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$LIBUNWIND_RELEASE/lib $EXTRA_LDFLAGS" $SOURCE_DIR/autogen.sh --enable-autogen --disable-valgrind --enable-stats --enable-prof --enable-prof-libunwind --with-static-libunwind=$LIBUNWIND_RELEASE/lib/libunwind.a --enable-prof-gcc --enable-prof-libgcc --prefix=$INSTALL_PATH); then + if !(CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -I$libunwind_release/include $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$libunwind_release/lib $EXTRA_LDFLAGS" $SOURCE_DIR/autogen.sh --enable-autogen --disable-valgrind --enable-stats --enable-prof --enable-prof-libunwind --with-static-libunwind=$libunwind_release/lib/libunwind.a --enable-prof-gcc --enable-prof-libgcc --prefix=$INSTALL_PATH); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/libevent/CMakeLists.txt b/third-party/libevent/CMakeLists.txt index ea9bfaea3de..1ca2df2a0f1 100644 --- a/third-party/libevent/CMakeLists.txt +++ b/third-party/libevent/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-libevent - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/mstch/CMakeLists.txt b/third-party/mstch/CMakeLists.txt index 4756bde9822..89238f5f014 100644 --- a/third-party/mstch/CMakeLists.txt +++ b/third-party/mstch/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-mstch - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/mstch/build.sh b/third-party/mstch/build.sh index 814120fc12e..dab92f1f6bc 100755 --- a/third-party/mstch/build.sh +++ b/third-party/mstch/build.sh @@ -4,9 +4,9 @@ source ../functions.sh prepareBuild "mstch" -BOOST_RELEASE=$TOOLS_ROOT/boost -OPENSSL_RELEASE=$TOOLS_ROOT/openssl -LIBUNWIND_RELEASE=$TOOLS_ROOT/libunwind +boost_release=$TOOLS_ROOT/boost +openssl_release=$TOOLS_ROOT/openssl +libunwind_release=$TOOLS_ROOT/libunwind echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -22,12 +22,12 @@ echo cd $SOURCE_DIR -CXXFLAGS="-fPIC -DPIC -I$INSTALL_PATH/include -I$BOOST_RELEASE/include $EXTRA_CXXFLAGS" -LDFLAGS="-static-libgcc -static-libstdc++ -L$INSTALL_PATH/lib -L$OPENSSL_RELEASE/lib -L$LIBUNWIND_RELEASE/lib -L$BOOST_RELEASE/lib $EXTRA_LDFLAGS -lboost_context -lboost_chrono -lboost_thread -lboost_system -lboost_regex -levent -lunwind -ldl -lrt" +CXXFLAGS="-fPIC -DPIC -I$boost_release/include $EXTRA_CXXFLAGS" +LDFLAGS="-static-libgcc -static-libstdc++ -L$openssl_release/lib -L$libunwind_release/lib -L$boost_release/lib $EXTRA_LDFLAGS -lboost_context -lboost_chrono -lboost_thread -lboost_system -lboost_regex -levent -lunwind -ldl -lrt" if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CC_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CPP_FLAGS:STRING="$CXXFLAGS" -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" -DBOOST_INCLUDEDIR=$BOOST_RELEASE/include -DBOOST_LIBRARYDIR=$BOOST_RELEASE/lib -DBoost_NO_SYSTEM_PATHS=ON $SOURCE_DIR/.); then + if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CC_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CPP_FLAGS:STRING="$CXXFLAGS" -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" -DBOOST_INCLUDEDIR=$boost_release/include -DBOOST_LIBRARYDIR=$boost_release/lib -DBoost_NO_SYSTEM_PATHS=ON $SOURCE_DIR/.); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/proxygen/CMakeLists.txt b/third-party/proxygen/CMakeLists.txt index 9405fc34521..466c13dafeb 100644 --- a/third-party/proxygen/CMakeLists.txt +++ b/third-party/proxygen/CMakeLists.txt @@ -6,6 +6,6 @@ add_custom_target( add_custom_target( clean-proxygen - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/proxygen/build.sh b/third-party/proxygen/build.sh index c2d31fb8f15..915d17e9f8d 100755 --- a/third-party/proxygen/build.sh +++ b/third-party/proxygen/build.sh @@ -8,10 +8,18 @@ prepareBuild "proxygen" "/proxygen" cd $SOURCE_DIR/lib/test ln -s $CURR_DIR/googletest-release-1.8.0.zip release-1.8.0.zip -BOOST_RELEASE=$TOOLS_ROOT/boost -GPERF_RELEASE=$TOOLS_ROOT/gperf -OPENSSL_RELEASE=$TOOLS_ROOT/openssl -LIBUNWIND_RELEASE=$TOOLS_ROOT/libunwind +boost_release=$TOOLS_ROOT/boost +openssl_release=$TOOLS_ROOT/openssl +libunwind_release=$TOOLS_ROOT/libunwind +gperf_release=$TOOLS_ROOT/gperf + +double_conversion_release=$THIRD_PARTY_DIR/double-conversion/_install +libevent_release=$THIRD_PARTY_DIR/libevent/_install +gflags_release=$THIRD_PARTY_DIR/gflags/_install +glog_release=$THIRD_PARTY_DIR/glog/_install +folly_release=$THIRD_PARTY_DIR/folly/_install +wangle_release=$THIRD_PARTY_DIR/wangle/_install +zlib_release=$THIRD_PARTY_DIR/zlib/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -41,7 +49,7 @@ fi if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !(PATH=$GPERF_RELEASE/bin:$PATH CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -I$INSTALL_PATH/include -I$INSTALL_PATH/compression/include -I$BOOST_RELEASE/include -I$OPENSSL_RELEASE/include $EXTRA_CXXFLAGS" CPPFLAGS=$CXXFLAGS CFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$INSTALL_PATH/lib -L$INSTALL_PATH/compression/lib -L$BOOST_RELEASE/lib -L$OPENSSL_RELEASE/lib -L$LIBUNWIND_RELEASE/lib $EXTRA_LDFLAGS" LIBS="-ldl" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --enable-shared=no); then + if !(PATH=$gperf_release/bin:$PATH CC=$GCC_ROOT/bin/gcc CPP=$GCC_ROOT/bin/cpp CXX=$GCC_ROOT/bin/g++ CXXFLAGS="-fPIC -DPIC -I$boost_release/include -I$openssl_release/include -I$double_conversion_release/include -I$libevent_release/include -I$gflags_release/include -I$glog_release/include -I$folly_release/include -I$wangle_release/include -I$zlib_release/include $EXTRA_CXXFLAGS" CPPFLAGS=$CXXFLAGS CFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$boost_release/lib -L$openssl_release/lib -L$libunwind_release/lib -L$double_conversion_release/lib -L$libevent_release/lib -L$gflags_release/lib -L$glog_release/lib -L$folly_release/lib -L$wangle_release/lib -L$zlib_release/lib $EXTRA_LDFLAGS" LIBS="-ldl" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --enable-shared=no); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" @@ -50,7 +58,7 @@ if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile || fi fi -if (PATH=$GPERF_RELEASE/bin:$PATH make $@); then +if (PATH=$gperf_release/bin:$PATH make $@); then if [[ $SOURCE_DIR/lib/.libs/libproxygenlib.a -nt $INSTALL_PATH/lib/libproxygenlib.a || $SOURCE_DIR/httpserver/.libs/libproxygenhttpserver.a -nt $INSTALL_PATH/lib/libproxygenhttpserver.a || $SOURCE_DIR/httpclient/samples/curl/.libs/libproxygencurl.a -nt $INSTALL_PATH/lib/libproxygencurl.a ]]; then diff --git a/third-party/rocksdb/CMakeLists.txt b/third-party/rocksdb/CMakeLists.txt index 1c70b41cf71..78c4e641436 100644 --- a/third-party/rocksdb/CMakeLists.txt +++ b/third-party/rocksdb/CMakeLists.txt @@ -6,6 +6,6 @@ add_custom_target( add_custom_target( clean-rocksdb - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/rocksdb/build.sh b/third-party/rocksdb/build.sh index f6c1cf718d6..6ec2714b366 100755 --- a/third-party/rocksdb/build.sh +++ b/third-party/rocksdb/build.sh @@ -4,8 +4,12 @@ source ../functions.sh prepareBuild "rocksdb" -BOOST_RELEASE=$TOOLS_ROOT/boost -OPENSSL_RELEASE=$TOOLS_ROOT/openssl +boost_release=$TOOLS_ROOT/boost +openssl_release=$TOOLS_ROOT/openssl +zlib_release=$THIRD_PARTY_DIR/zlib/_install +zstd_release=$THIRD_PARTY_DIR/zstd/_install +snappy_release=$THIRD_PARTY_DIR/snappy/_install +bzip2_release=$THIRD_PARTY_DIR/bzip2/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -21,9 +25,12 @@ echo cd $SOURCE_DIR +compiler_flags="-fPIC -DPIC -DOPTDBG=1 -DROCKSDB_PLATFORM_POSIX -DROCKSDB_SUPPORT_THREAD_LOCAL -DOS_LINUX -fno-builtin-memcmp -DROCKSDB_MALLOC_USABLE_SIZE -march=native -Wno-error=shadow $EXTRA_CXXFLAGS" +exe_linker_flags="$EXTRA_LDFLAGS" + if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DBOOST_ROOT=$TOOLS_ROOT/boost -DOPENSSL_ROOT_DIR=$TOOLS_ROOT/openssl -DWITH_TESTS=off .); then + if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_C_FLAGS:STRING="${compiler_flags}" -DCMAKE_CXX_FLAGS:STRING="${compiler_flags}" -DCMAKE_EXE_LINKER_FLAGS:STRING="${exe_linker_flags}" -DBOOST_ROOT=$boost_release -DOPENSSL_ROOT_DIR=$openssl_release -DWITH_ZLIB=1 -DWITH_BZIP2=1 -DWITH_SNAPPY=1 -DWITH_ZSTD=1 -DZLIB_ROOT_DIR=$zlib_release -DBZIP2_ROOT_DIR=$bzip2_release -DSNAPPY_ROOT_DIR=$snappy_release -DZSTD_ROOT_DIR=$zstd_release -DWITH_GFLAGS=0 -DWITH_JEMALLOC=0 -DWITH_TESTS=off .); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to install ###" @@ -32,10 +39,10 @@ if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile || fi fi -if (PLATFORM=OS_LINUX CCFLAGS="-DROCKSDB_PLATFORM_POSIX -DROCKSDB_SUPPORT_THREAD_LOCAL -DOS_LINUX -fno-builtin-memcmp -DZLIB -DBZIP2 -DSNAPPY -DZSTD -DROCKSDB_MALLOC_USABLE_SIZE -march=native -fPIC -DPIC -Wno-error=shadow -I$INSTALL_PATH/compression/include $EXTRA_CXXFLAGS" CXXFLAGS=$CCFLAGS PLATFORM_LDFLAGS="-static-libstdc++ -static-libgcc -L$INSTALL_PATH/compression/lib $EXTRA_LDFLAGS -lz -lbz2 -lsnappy -lzstd" JAVA_LDFLAGS=$PLATFORM_LDFLAGS DEBUG_LEVEL=0 make $@); then +if (make $@); then if [[ $SOURCE_DIR/librocksdb.a -nt $INSTALL_PATH/lib/librocksdb.a ]]; then echo "===> Ready to install" - if (INSTALL_PATH=$INSTALL_PATH make install); then + if (make install); then cd $CURR_DIR echo echo ">>> $PROJECT_NAME is built and installed successfully <<<" diff --git a/third-party/snappy/CMakeLists.txt b/third-party/snappy/CMakeLists.txt index fd6a505fb37..99e4cc325d8 100644 --- a/third-party/snappy/CMakeLists.txt +++ b/third-party/snappy/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-snappy - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/snappy/build.sh b/third-party/snappy/build.sh index f327065e0e1..3d20cfb11b2 100755 --- a/third-party/snappy/build.sh +++ b/third-party/snappy/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "snappy" "" "/compression" +prepareBuild "snappy" echo echo Start building $PROJECT_NAME with gcc-$GCC_VER diff --git a/third-party/wangle/CMakeLists.txt b/third-party/wangle/CMakeLists.txt index c5feb7c6633..d9ad6eb2d3b 100644 --- a/third-party/wangle/CMakeLists.txt +++ b/third-party/wangle/CMakeLists.txt @@ -6,6 +6,6 @@ add_custom_target( add_custom_target( clean-wangle - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/wangle/build.sh b/third-party/wangle/build.sh index 2ac04c6e724..f69a0bb5d4c 100755 --- a/third-party/wangle/build.sh +++ b/third-party/wangle/build.sh @@ -4,9 +4,15 @@ source ../functions.sh prepareBuild "wangle" "/wangle" -BOOST_RELEASE=$TOOLS_ROOT/boost -OPENSSL_RELEASE=$TOOLS_ROOT/openssl -LIBUNWIND_RELEASE=$TOOLS_ROOT/libunwind +boost_release=$TOOLS_ROOT/boost +openssl_release=$TOOLS_ROOT/openssl +libunwind_release=$TOOLS_ROOT/libunwind + +double_conversion_release=$THIRD_PARTY_DIR/double-conversion/_install +gflags_release=$THIRD_PARTY_DIR/gflags/_install +glog_release=$THIRD_PARTY_DIR/glog/_install +folly_release=$THIRD_PARTY_DIR/folly/_install +libevent_release=$THIRD_PARTY_DIR/libevent/_install echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -23,13 +29,11 @@ echo cd $SOURCE_DIR CXXFLAGS="-fPIC -DPIC $EXTRA_CXXFLAGS" -LDFLAGS="-static-libgcc -static-libstdc++ -L$LIBUNWIND_RELEASE/lib $EXTRA_LDFLAGS -lboost_context -lboost_chrono -lboost_thread -lboost_system -lboost_regex -lssl -lstdc++ -levent -lunwind -ldl -lrt" -INCLUDE_DIR=$INSTALL_PATH/include -LIB_DIR=$INSTALL_PATH/lib +LDFLAGS="-static-libgcc -static-libstdc++ -L$libunwind_release/lib $EXTRA_LDFLAGS -lboost_context -lboost_chrono -lboost_thread -lboost_system -lboost_regex -lssl -lstdc++ -levent -lunwind -ldl -lrt" if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile || $CURR_DIR/build.sh -nt $SOURCE_DIR/Makefile ]]; then - if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CC_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CPP_FLAGS:STRING="$CXXFLAGS" -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" -DGLOG_INCLUDE_DIR=$INCLUDE_DIR -DGLOG_LIBRARY=$LIB_DIR/libglog.a -DGFLAGS_INCLUDE_DIR=$INCLUDE_DIR -DGFLAGS_LIBRARY=$LIB_DIR/libgflags.a -DDOUBLE_CONVERSION_INCLUDE_DIR=$INCLUDE_DIR -DDOUBLE_CONVERSION_LIBRARY=$LIB_DIR/libdouble-conversion.a -DLIBEVENT_INCLUDE_DIR=$INCLUDE_DIR -DLIBEVENT_LIBRARY=$LIB_DIR/libevent.a -DFOLLY_INCLUDEDIR=$INCLUDE_DIR -DFOLLY_LIBRARYDIR=$LIB_DIR -DBOOST_INCLUDEDIR=$BOOST_RELEASE/include -DBOOST_LIBRARYDIR=$BOOST_RELEASE/lib -DBoost_NO_SYSTEM_PATHS=ON -DOPENSSL_ROOT_DIR=$OPENSSL_RELEASE -DBUILD_TESTS=OFF $SOURCE_DIR/.); then + if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CC_FLAGS:STRING="$CXXFLAGS" -DCMAKE_CPP_FLAGS:STRING="$CXXFLAGS" -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" -DGLOG_INCLUDE_DIR=$glog_release/include -DGLOG_LIBRARY=$glog_release/lib/libglog.a -DGFLAGS_INCLUDE_DIR=$gflags_release/include -DGFLAGS_LIBRARY=$gflags_release/lib/libgflags.a -DDOUBLE_CONVERSION_INCLUDE_DIR=$double_conversion_release/include -DDOUBLE_CONVERSION_LIBRARY=$double_conversion_release/lib/libdouble-conversion.a -DLIBEVENT_INCLUDE_DIR=$libevent_release/include -DLIBEVENT_LIBRARY=$libevent_release/lib/libevent.a -DFOLLY_INCLUDEDIR=$folly_release/include -DFOLLY_LIBRARYDIR=$folly_release/lib -DBOOST_INCLUDEDIR=$boost_release/include -DBOOST_LIBRARYDIR=$boost_release/lib -DBoost_NO_SYSTEM_PATHS=ON -DOPENSSL_ROOT_DIR=$openssl_release -DBUILD_TESTS=OFF $SOURCE_DIR/.); then cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/zlib/CMakeLists.txt b/third-party/zlib/CMakeLists.txt index cb9af3cf546..16533cd4045 100644 --- a/third-party/zlib/CMakeLists.txt +++ b/third-party/zlib/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-zlib - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/zlib/build.sh b/third-party/zlib/build.sh index a675f712e3c..656747934dd 100755 --- a/third-party/zlib/build.sh +++ b/third-party/zlib/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "zlib" "" "/compression" +prepareBuild "zlib" echo echo Start building $PROJECT_NAME with gcc-$GCC_VER diff --git a/third-party/zstd/CMakeLists.txt b/third-party/zstd/CMakeLists.txt index 51aa15f6d72..618fa1c2c0b 100644 --- a/third-party/zstd/CMakeLists.txt +++ b/third-party/zstd/CMakeLists.txt @@ -5,6 +5,6 @@ add_custom_target( add_custom_target( clean-zstd - COMMAND "rm" "-fr" "_build" "_build.log" + COMMAND "rm" "-fr" "_build" "_install" "_build.log" ) diff --git a/third-party/zstd/build.sh b/third-party/zstd/build.sh index 232ce980e2a..b5fcc765adc 100755 --- a/third-party/zstd/build.sh +++ b/third-party/zstd/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "zstd" "" "/compression" +prepareBuild "zstd" echo echo Start building $PROJECT_NAME with gcc-$GCC_VER