From dfbddf58fbe108633ae070dfa24f9df3f82b462f Mon Sep 17 00:00:00 2001 From: Sherman The Tank <5414276+sherman-the-tank@users.noreply.github.com> Date: Fri, 7 Sep 2018 10:51:26 +0800 Subject: [PATCH] Fixed the build (#8) --- CMakeLists.txt | 8 +++++++- client/CMakeLists.txt | 1 - client/cpp/CMakeLists.txt | 7 +++++-- third-party/bzip2/CMakeLists.txt | 2 +- third-party/bzip2/build.sh | 2 +- third-party/double-conversion/CMakeLists.txt | 2 +- third-party/double-conversion/build.sh | 3 ++- third-party/fatal/CMakeLists.txt | 2 +- third-party/fbthrift/build.sh | 7 +++++-- third-party/folly/build.sh | 12 ++++++++---- third-party/functions.sh | 20 ++++++++++++++++++-- third-party/gflags/CMakeLists.txt | 2 +- third-party/gflags/build.sh | 3 ++- third-party/glog/CMakeLists.txt | 2 +- third-party/glog/build.sh | 3 ++- third-party/googletest/CMakeLists.txt | 2 +- third-party/googletest/build-gmock.sh | 4 +++- third-party/googletest/build-gtest.sh | 4 +++- third-party/jemalloc/CMakeLists.txt | 2 +- third-party/jemalloc/build.sh | 3 ++- third-party/libevent/CMakeLists.txt | 2 +- third-party/libevent/build.sh | 3 ++- third-party/mstch/CMakeLists.txt | 2 +- third-party/mstch/build.sh | 3 ++- third-party/proxygen/build.sh | 7 ++++--- third-party/rocksdb/build.sh | 17 ++++++++++------- third-party/snappy/CMakeLists.txt | 2 +- third-party/snappy/build.sh | 5 +++-- third-party/wangle/build.sh | 5 +++-- third-party/zlib/CMakeLists.txt | 2 +- third-party/zlib/build.sh | 5 +++-- third-party/zstd/CMakeLists.txt | 2 +- third-party/zstd/build.sh | 2 +- 33 files changed, 98 insertions(+), 50 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43f0710c942..a0dbce56c7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,7 @@ 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 ${Boost_INCLUDE_DIRS}) include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR}) include_directories(SYSTEM ${KRB5_INCLUDE_DIRS}) @@ -44,7 +45,12 @@ include_directories(AFTER common) include_directories(AFTER interface) include_directories(AFTER ${VGRAPH_HOME}) -link_directories(third-party/_build/lib ${Boost_LIBRARY_DIRS} ${KRB5_LIBRARY_DIRS}) +link_directories( + third-party/_build/lib + third-party/_build/compression/lib + ${Boost_LIBRARY_DIRS} + ${KRB5_LIBRARY_DIRS} +) # All thrift libraries set(THRIFT_LIBRARIES diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index a09113b116c..e80db420518 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -1,6 +1,5 @@ add_custom_target( client ALL - DEPENDS base_obj vgraph_thrift_obj ) add_subdirectory(cpp) diff --git a/client/cpp/CMakeLists.txt b/client/cpp/CMakeLists.txt index ca80f2427b5..c0ca831eb4f 100644 --- a/client/cpp/CMakeLists.txt +++ b/client/cpp/CMakeLists.txt @@ -1,6 +1,9 @@ add_library(client_cpp_obj OBJECT GraphDbClient.cpp) - -add_dependencies(client_cpp_obj vgraph_thrift_obj) +add_dependencies( + client_cpp_obj + base_obj + vgraph_thrift_obj +) #add_subdirectory(test) diff --git a/third-party/bzip2/CMakeLists.txt b/third-party/bzip2/CMakeLists.txt index cce5763f1dc..e6fd220639c 100644 --- a/third-party/bzip2/CMakeLists.txt +++ b/third-party/bzip2/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_bzip2 - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/bzip2/build.sh b/third-party/bzip2/build.sh index 6a5f00fe6af..6498a5895ca 100755 --- a/third-party/bzip2/build.sh +++ b/third-party/bzip2/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "bzip2" +prepareBuild "bzip2" "" "/compression" 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 970faec0e3d..b6c7186f7ec 100644 --- a/third-party/double-conversion/CMakeLists.txt +++ b/third-party/double-conversion/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_double-conversion - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/double-conversion/build.sh b/third-party/double-conversion/build.sh index 60c59efd34c..75b3e09c188 100755 --- a/third-party/double-conversion/build.sh +++ b/third-party/double-conversion/build.sh @@ -20,7 +20,8 @@ cd $SOURCE_DIR COMPILE_FLAGS="-fPIC -DPIC -std=c++11 $EXTRA_CXXFLAGS " -if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile ]]; then +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="$COMPILE_FLAGS" -DCMAKE_CC_FLAGS:STRING="$COMPILE_FLAGS" -DCMAKE_CPP_FLAGS:STRING="$COMPILE_FLAGS" -DCMAKE_STATIC_LINKER_FLAGS:STRING="" -DCMAKE_LINK_LIBRARY_FLAG="-static-libgcc -static-libstdc++ -lrt" $SOURCE_DIR); then cd $CURR_DIR echo diff --git a/third-party/fatal/CMakeLists.txt b/third-party/fatal/CMakeLists.txt index 942abd9184a..b6c581fec43 100644 --- a/third-party/fatal/CMakeLists.txt +++ b/third-party/fatal/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_fatal - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/fbthrift/build.sh b/third-party/fbthrift/build.sh index 805894c0a72..2fc80b89f57 100755 --- a/third-party/fbthrift/build.sh +++ b/third-party/fbthrift/build.sh @@ -26,10 +26,13 @@ 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 -if [[ $SOURCE_DIR/CMakeLists.txt -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=$INCLUDE_DIR -DZLIB_LIBRARIES=$LIB_DIR/libz.a -DZSTD_INCLUDE_DIRS=$INCLUDE_DIR -DZSTD_LIBRARIES=$LIB_DIR/libzstd.a -DFLEX_EXECUTABLE=$FLEX_ROOT/bin/flex -DTHRIFT_HOME=$INSTALL_PATH $SOURCE_DIR); then +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 cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/folly/build.sh b/third-party/folly/build.sh index 332b2aa7a3d..00646ed050f 100755 --- a/third-party/folly/build.sh +++ b/third-party/folly/build.sh @@ -22,13 +22,17 @@ echo cd $SOURCE_DIR -COMPILER_FLAGS="-fPIC -DPIC -DFOLLY_HAVE_LIBDWARF_DWARF_H -DFOLLY_HAVE_LIBZSTD -I$INSTALL_PATH/include $EXTRA_CXXFLAGS" -EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -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 -if [[ $SOURCE_DIR/CMakeLists.txt -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_DIRS=$INCLUDE_DIR -DZLIB_LIBRARIES=$LIB_DIR/libz.a -DZSTD_INCLUDE_DIRS=$INCLUDE_DIR -DZSTD_LIBRARIES=$LIB_DIR/libzstd.a $SOURCE_DIR); then +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" + +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 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 8c9bf9dc302..a85769292aa 100755 --- a/third-party/functions.sh +++ b/third-party/functions.sh @@ -1,5 +1,15 @@ #!/bin/sh +# The method takes up to three parameters +# 1st: Project name +# 2nd: source directory. It must be a sub-directory of +# 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` @@ -15,11 +25,17 @@ function prepareBuild() { local prj_name=$1 if [[ $# > 1 ]]; then - local src_dir="/$2" + local src_dir=$2 else 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 @@ -33,7 +49,7 @@ 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_PATH=$THIRD_PARTY_DIR/_build${install_dir} GCC_ROOT=$TOOLS_ROOT/gcc CMAKE_ROOT=$TOOLS_ROOT/cmake diff --git a/third-party/gflags/CMakeLists.txt b/third-party/gflags/CMakeLists.txt index 0080aaffaeb..e65a6a50746 100644 --- a/third-party/gflags/CMakeLists.txt +++ b/third-party/gflags/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_gflags - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/gflags/build.sh b/third-party/gflags/build.sh index 765efcf2ce4..82f4267ee07 100755 --- a/third-party/gflags/build.sh +++ b/third-party/gflags/build.sh @@ -18,7 +18,8 @@ echo cd $SOURCE_DIR -if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile ]]; then +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="-fPIC -DPIC $EXTRA_CXXFLAGS " -DCMAKE_CC_FLAGS:STRING="-fPIC -DPIC $EXTRA_CXXFLAGS " -DCMAKE_CPP_FLAGS:STRING="-fPIC -DPIC $EXTRA_CXXFLAGS " -DCMAKE_STATIC_LINKER_FLAGS:STRING="" -DCMAKE_LINK_LIBRARY_FLAG="-static-libgcc -static-libstdc++ -lrt" $SOURCE_DIR); then cd $CURR_DIR echo diff --git a/third-party/glog/CMakeLists.txt b/third-party/glog/CMakeLists.txt index 061eb71897d..bdbd8218644 100644 --- a/third-party/glog/CMakeLists.txt +++ b/third-party/glog/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_glog - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" DEPENDS tgt_gflags tgt_libevent tgt_double-conversion ) diff --git a/third-party/glog/build.sh b/third-party/glog/build.sh index 60ebb12f651..424793fa465 100755 --- a/third-party/glog/build.sh +++ b/third-party/glog/build.sh @@ -24,7 +24,8 @@ if [[ $SOURCE_DIR/configure.ac -nt $SOURCE_DIR/configure ]]; then fi fi -if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile ]]; then +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 cd $CURR_DIR echo diff --git a/third-party/googletest/CMakeLists.txt b/third-party/googletest/CMakeLists.txt index aa5b030e101..b8fcc3d7fbd 100644 --- a/third-party/googletest/CMakeLists.txt +++ b/third-party/googletest/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_googletest - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" DEPENDS tgt_gflags tgt_glog ) diff --git a/third-party/googletest/build-gmock.sh b/third-party/googletest/build-gmock.sh index ce4aa7f616a..0300ef3c674 100755 --- a/third-party/googletest/build-gmock.sh +++ b/third-party/googletest/build-gmock.sh @@ -37,7 +37,9 @@ if [[ $SOURCE_DIR/configure.ac -nt $SOURCE_DIR/configure ]]; then fi fi -if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile ]]; then +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 cd $CURR_DIR echo diff --git a/third-party/googletest/build-gtest.sh b/third-party/googletest/build-gtest.sh index c6c1b1d6ffa..55d1a18c0b7 100755 --- a/third-party/googletest/build-gtest.sh +++ b/third-party/googletest/build-gtest.sh @@ -36,7 +36,9 @@ if [[ $SOURCE_DIR/configure.ac -nt $SOURCE_DIR/configure ]]; then fi fi -if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile ]]; then +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 cd $CURR_DIR echo diff --git a/third-party/jemalloc/CMakeLists.txt b/third-party/jemalloc/CMakeLists.txt index 5a5d5fca28f..75d28d3a728 100644 --- a/third-party/jemalloc/CMakeLists.txt +++ b/third-party/jemalloc/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_jemalloc - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/jemalloc/build.sh b/third-party/jemalloc/build.sh index e2933b4924a..5ebf3f50a67 100755 --- a/third-party/jemalloc/build.sh +++ b/third-party/jemalloc/build.sh @@ -23,7 +23,8 @@ echo cd $SOURCE_DIR -if [[ $SOURCE_DIR/configure.ac -nt $SOURCE_DIR/Makefile ]]; then +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 cd $CURR_DIR echo diff --git a/third-party/libevent/CMakeLists.txt b/third-party/libevent/CMakeLists.txt index 42e069c4850..ea9bfaea3de 100644 --- a/third-party/libevent/CMakeLists.txt +++ b/third-party/libevent/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_libevent - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/libevent/build.sh b/third-party/libevent/build.sh index 70334a399d2..f7fd348273f 100755 --- a/third-party/libevent/build.sh +++ b/third-party/libevent/build.sh @@ -18,7 +18,8 @@ echo cd $SOURCE_DIR -if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile ]]; then +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 $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ $EXTRA_LDFLAGS" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --enable-shared=no); then cd $CURR_DIR echo diff --git a/third-party/mstch/CMakeLists.txt b/third-party/mstch/CMakeLists.txt index 6eb5ef09428..4756bde9822 100644 --- a/third-party/mstch/CMakeLists.txt +++ b/third-party/mstch/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_mstch - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/mstch/build.sh b/third-party/mstch/build.sh index 580ea679da3..814120fc12e 100755 --- a/third-party/mstch/build.sh +++ b/third-party/mstch/build.sh @@ -25,7 +25,8 @@ 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" -if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile ]]; then +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 cd $CURR_DIR echo diff --git a/third-party/proxygen/build.sh b/third-party/proxygen/build.sh index e88f752f337..c2d31fb8f15 100755 --- a/third-party/proxygen/build.sh +++ b/third-party/proxygen/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "proxygen" "proxygen" +prepareBuild "proxygen" "/proxygen" # Link the googletest cd $SOURCE_DIR/lib/test @@ -39,8 +39,9 @@ if [[ $SOURCE_DIR/configure.ac -nt $SOURCE_DIR/configure ]]; then fi fi -if [[ $SOURCE_DIR/configure -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$BOOST_RELEASE/include -I$OPENSSL_RELEASE/include $EXTRA_CXXFLAGS" CPPFLAGS=$CXXFLAGS CFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ -L$INSTALL_PATH/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 [[ $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 cd $CURR_DIR echo echo "### $PROJECT_NAME failed to configure the build ###" diff --git a/third-party/rocksdb/build.sh b/third-party/rocksdb/build.sh index 60c2437bb5e..f6c1cf718d6 100755 --- a/third-party/rocksdb/build.sh +++ b/third-party/rocksdb/build.sh @@ -21,15 +21,18 @@ echo cd $SOURCE_DIR -if !($CMAKE_ROOT/bin/cmake $CMAKE_FLAGS -DBOOST_ROOT=$TOOLS_ROOT/boost -DOPENSSL_ROOT_DIR=$TOOLS_ROOT/openssl .); then - cd $CURR_DIR - echo - echo "### $PROJECT_NAME failed to install ###" - echo - exit 1 +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 + cd $CURR_DIR + echo + echo "### $PROJECT_NAME failed to install ###" + echo + exit 1 + 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/include $EXTRA_CXXFLAGS" CXXFLAGS=$CCFLAGS PLATFORM_LDFLAGS="-static-libstdc++ -static-libgcc -L$INSTALL_PATH/lib $EXTRA_LDFLAGS -lz -lbz2 -lsnappy -lzstd" JAVA_LDFLAGS=$PLATFORM_LDFLAGS DEBUG_LEVEL=0 make $@); then +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 [[ $SOURCE_DIR/librocksdb.a -nt $INSTALL_PATH/lib/librocksdb.a ]]; then echo "===> Ready to install" if (INSTALL_PATH=$INSTALL_PATH make install); then diff --git a/third-party/snappy/CMakeLists.txt b/third-party/snappy/CMakeLists.txt index de6314f1263..fd6a505fb37 100644 --- a/third-party/snappy/CMakeLists.txt +++ b/third-party/snappy/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_snappy - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/snappy/build.sh b/third-party/snappy/build.sh index a74def7ec9b..f327065e0e1 100755 --- a/third-party/snappy/build.sh +++ b/third-party/snappy/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "snappy" +prepareBuild "snappy" "" "/compression" echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -21,7 +21,8 @@ cd $SOURCE_DIR COMPILER_FLAGS=" -fPIC -DPIC $EXTRA_CXXFLAGS" LINKER_FLAGS=" -static-libgcc -static-libstdc++ $EXTRA_LDFLAGS" -if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile ]]; then +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_INSTALL_LIBDIR=lib -DSNAPPY_BUILD_TESTS=NO -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_C_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_CXX_FLAGS:STRING="$COMPILER_FLAGS" -DCMAKE_STATIC_LINKER_FLAGS:STRING="" -DCMAKE_EXE_LINKER_FLAGS:STRING="$LINKER_FLAGS" $SOURCE_DIR); then cd $CURR_DIR echo diff --git a/third-party/wangle/build.sh b/third-party/wangle/build.sh index 0a84b82cf88..2ac04c6e724 100755 --- a/third-party/wangle/build.sh +++ b/third-party/wangle/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "wangle" "wangle" +prepareBuild "wangle" "/wangle" BOOST_RELEASE=$TOOLS_ROOT/boost OPENSSL_RELEASE=$TOOLS_ROOT/openssl @@ -27,7 +27,8 @@ LDFLAGS="-static-libgcc -static-libstdc++ -L$LIBUNWIND_RELEASE/lib $EXTRA_LDFLA INCLUDE_DIR=$INSTALL_PATH/include LIB_DIR=$INSTALL_PATH/lib -if [[ $SOURCE_DIR/CMakeLists.txt -nt $SOURCE_DIR/Makefile ]]; then +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 cd $CURR_DIR echo diff --git a/third-party/zlib/CMakeLists.txt b/third-party/zlib/CMakeLists.txt index 421814ba806..cb9af3cf546 100644 --- a/third-party/zlib/CMakeLists.txt +++ b/third-party/zlib/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_zlib - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/zlib/build.sh b/third-party/zlib/build.sh index 1f1624b077a..a675f712e3c 100755 --- a/third-party/zlib/build.sh +++ b/third-party/zlib/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "zlib" +prepareBuild "zlib" "" "/compression" echo echo Start building $PROJECT_NAME with gcc-$GCC_VER @@ -18,7 +18,8 @@ echo cd $SOURCE_DIR -if [[ $SOURCE_DIR/configure -nt $SOURCE_DIR/Makefile ]]; then +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 $EXTRA_CXXFLAGS" CFLAGS=$CXXFLAGS CPPFLAGS=$CXXFLAGS LDFLAGS="-static-libgcc -static-libstdc++ $EXTRA_LDFLAGS" $SOURCE_DIR/configure --prefix=$INSTALL_PATH --static); then cd $CURR_DIR echo diff --git a/third-party/zstd/CMakeLists.txt b/third-party/zstd/CMakeLists.txt index 92e07233076..51aa15f6d72 100644 --- a/third-party/zstd/CMakeLists.txt +++ b/third-party/zstd/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_target( tgt_zstd - COMMAND "./build.sh" "-j16" ">" "./_build.log" "2>&1" + COMMAND "./build.sh" "-j2" ">" "./_build.log" "2>&1" ) add_custom_target( diff --git a/third-party/zstd/build.sh b/third-party/zstd/build.sh index b5fcc765adc..232ce980e2a 100755 --- a/third-party/zstd/build.sh +++ b/third-party/zstd/build.sh @@ -2,7 +2,7 @@ source ../functions.sh -prepareBuild "zstd" +prepareBuild "zstd" "" "/compression" echo echo Start building $PROJECT_NAME with gcc-$GCC_VER