[chore](thirdparty) Build script doesn't interrupt when errors occur. (#11357)
1. Add a comment 2. Remove all &&
This commit is contained in:
317
thirdparty/build-thirdparty.sh
vendored
317
thirdparty/build-thirdparty.sh
vendored
@ -112,6 +112,7 @@ if [[ ! -f ${TP_DIR}/vars.sh ]]; then
|
||||
echo "vars.sh is missing".
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. "${TP_DIR}/vars.sh"
|
||||
|
||||
cd "${TP_DIR}"
|
||||
@ -243,14 +244,15 @@ remove_all_dylib() {
|
||||
|
||||
#libbacktrace
|
||||
build_libbacktrace() {
|
||||
check_if_source_exist $LIBBACKTRACE_SOURCE
|
||||
cd $TP_SOURCE_DIR/$LIBBACKTRACE_SOURCE
|
||||
check_if_source_exist "${LIBBACKTRACE_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${LIBBACKTRACE_SOURCE}"
|
||||
|
||||
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
CXXFLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
./configure --prefix=$TP_INSTALL_DIR
|
||||
make -j $PARALLEL
|
||||
./configure --prefix="${TP_INSTALL_DIR}"
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
@ -258,14 +260,19 @@ build_libbacktrace() {
|
||||
build_libevent() {
|
||||
check_if_source_exist "${LIBEVENT_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${LIBEVENT_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
CFLAGS="-std=c99 -D_BSD_SOURCE -fno-omit-frame-pointer -g -ggdb -O2 -I${TP_INCLUDE_DIR}" \
|
||||
CPPLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DEVENT__DISABLE_TESTS=ON \
|
||||
-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_SAMPLES=ON -DEVENT__DISABLE_REGRESS=ON ..
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
|
||||
remove_all_dylib
|
||||
}
|
||||
|
||||
@ -326,7 +333,8 @@ build_thrift() {
|
||||
mv compiler/cpp/thrifty.hh compiler/cpp/thrifty.h
|
||||
fi
|
||||
|
||||
make -j "${PARALLEL}" && make install
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# protobuf
|
||||
@ -334,10 +342,18 @@ build_protobuf() {
|
||||
check_if_source_exist "${PROTOBUF_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${PROTOBUF_SOURCE}"
|
||||
rm -fr gmock
|
||||
|
||||
# NOTE(amos): -Wl,--undefined=pthread_create force searching for pthread symbols.
|
||||
# See https://stackoverflow.com/a/65348893/1329147 for detailed explanation.
|
||||
mkdir gmock && cd gmock && tar xf "${TP_SOURCE_DIR}/${GTEST_NAME}" &&
|
||||
mv "${GTEST_SOURCE}" gtest && cd "${TP_SOURCE_DIR}/${PROTOBUF_SOURCE}" && ./autogen.sh
|
||||
mkdir gmock
|
||||
cd gmock
|
||||
tar xf "${TP_SOURCE_DIR}/${GTEST_NAME}"
|
||||
|
||||
mv "${GTEST_SOURCE}" gtest
|
||||
|
||||
cd "${TP_SOURCE_DIR}/${PROTOBUF_SOURCE}"
|
||||
|
||||
./autogen.sh
|
||||
|
||||
if [[ "${KERNEL}" == 'Darwin' ]]; then
|
||||
ldflags="-L${TP_LIB_DIR}"
|
||||
@ -361,7 +377,8 @@ build_protobuf() {
|
||||
cd -
|
||||
fi
|
||||
|
||||
make -j "${PARALLEL}" && make install
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# gflags
|
||||
@ -369,11 +386,17 @@ build_gflags() {
|
||||
check_if_source_exist "${GFLAGS_SOURCE}"
|
||||
|
||||
cd "${TP_SOURCE_DIR}/${GFLAGS_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=On ../
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# glog
|
||||
@ -387,9 +410,10 @@ build_glog() {
|
||||
|
||||
CPPFLAGS="-I${TP_INCLUDE_DIR} -fpermissive -fPIC" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
CFLAGS="-fPIC" \
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --enable-frame-pointers --disable-shared --enable-static
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# gtest
|
||||
@ -397,22 +421,33 @@ build_gtest() {
|
||||
check_if_source_exist "${GTEST_SOURCE}"
|
||||
|
||||
cd "${TP_SOURCE_DIR}/${GTEST_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
"${CMAKE_CMD}" ../ -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DCMAKE_POSITION_INDEPENDENT_CODE=On
|
||||
# -DCMAKE_CXX_FLAGS="$warning_uninitialized"
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# rapidjson
|
||||
build_rapidjson() {
|
||||
check_if_source_exist "${RAPIDJSON_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${RAPIDJSON_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
"${CMAKE_CMD}" ../ -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DRAPIDJSON_BUILD_DOC=OFF \
|
||||
-DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# snappy
|
||||
@ -420,19 +455,24 @@ build_snappy() {
|
||||
check_if_source_exist "${SNAPPY_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${SNAPPY_SOURCE}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
CFLAGS="-O3" CXXFLAGS="-O3" "${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR="${TP_INCLUDE_DIR}"/snappy \
|
||||
-DSNAPPY_BUILD_TESTS=0 ../
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
|
||||
#build for libarrow.a
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy-c.h" "${TP_INCLUDE_DIR}/snappy-c.h" &&
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy-sinksource.h" "${TP_INCLUDE_DIR}/snappy-sinksource.h" &&
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy-stubs-public.h" "${TP_INCLUDE_DIR}/snappy-stubs-public.h" &&
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy.h" "${TP_INCLUDE_DIR}/snappy.h"
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy-c.h" "${TP_INCLUDE_DIR}/snappy-c.h"
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy-sinksource.h" "${TP_INCLUDE_DIR}/snappy-sinksource.h"
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy-stubs-public.h" "${TP_INCLUDE_DIR}/snappy-stubs-public.h"
|
||||
cp "${TP_INCLUDE_DIR}/snappy/snappy.h" "${TP_INCLUDE_DIR}/snappy.h"
|
||||
}
|
||||
|
||||
# gperftools
|
||||
@ -449,7 +489,9 @@ build_gperftools() {
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
LD_LIBRARY_PATH="${TP_LIB_DIR}" \
|
||||
./configure --prefix="${TP_INSTALL_DIR}/gperftools" --disable-shared --enable-static --disable-libunwind --with-pic --enable-frame-pointers
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# zlib
|
||||
@ -457,17 +499,20 @@ build_zlib() {
|
||||
check_if_source_exist "${ZLIB_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${ZLIB_SOURCE}"
|
||||
|
||||
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
CFLAGS="-fPIC" \
|
||||
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
CFLAGS="-fPIC" \
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --static
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
|
||||
# minizip
|
||||
cd contrib/minizip
|
||||
autoreconf --force --install
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --enable-static=yes --enable-shared=no
|
||||
make -j "${PARALLEL}" && make install
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# lz4
|
||||
@ -488,9 +533,13 @@ build_lz4() {
|
||||
build_zstd() {
|
||||
check_if_source_exist "${ZSTD_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${ZSTD_SOURCE}/build/cmake"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_TESTING=OFF -DZSTD_BUILD_TESTS=OFF -DZSTD_BUILD_STATIC=ON \
|
||||
-DZSTD_BUILD_PROGRAMS=OFF -DZSTD_BUILD_SHARED=OFF -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" ..
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" install
|
||||
}
|
||||
|
||||
@ -510,7 +559,9 @@ build_lzo2() {
|
||||
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# curl
|
||||
@ -530,7 +581,9 @@ build_curl() {
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static \
|
||||
--without-librtmp --with-ssl="${TP_INSTALL_DIR}" --without-libidn2 --disable-ldap --enable-ipv6 \
|
||||
--without-libssh2 --without-brotli
|
||||
make curl_LDFLAGS=-all-static -j "${PARALLEL}" && make curl_LDFLAGS=-all-static install
|
||||
|
||||
make curl_LDFLAGS=-all-static -j "${PARALLEL}"
|
||||
make curl_LDFLAGS=-all-static install
|
||||
}
|
||||
|
||||
# re2
|
||||
@ -544,16 +597,21 @@ build_re2() {
|
||||
|
||||
# hyperscan
|
||||
build_hyperscan() {
|
||||
check_if_source_exist $RAGEL_SOURCE
|
||||
cd $TP_SOURCE_DIR/$RAGEL_SOURCE
|
||||
./configure --prefix=$TP_INSTALL_DIR && make install
|
||||
check_if_source_exist "${RAGEL_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${RAGEL_SOURCE}"
|
||||
|
||||
check_if_source_exist $HYPERSCAN_SOURCE
|
||||
cd $TP_SOURCE_DIR/$HYPERSCAN_SOURCE
|
||||
mkdir -p $BUILD_DIR && cd $BUILD_DIR
|
||||
PATH=$TP_INSTALL_DIR/bin:$PATH ${CMAKE_CMD} -G "${GENERATOR}" -DBUILD_SHARED_LIBS=0 \
|
||||
-DBOOST_ROOT=$BOOST_SOURCE -DCMAKE_INSTALL_PREFIX=$TP_INSTALL_DIR -DBUILD_EXAMPLES=OFF ..
|
||||
${BUILD_SYSTEM} -j $PARALLEL install
|
||||
./configure --prefix="${TP_INSTALL_DIR}"
|
||||
make install
|
||||
|
||||
check_if_source_exist "${HYPERSCAN_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${HYPERSCAN_SOURCE}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_SHARED_LIBS=0 \
|
||||
-DBOOST_ROOT="${BOOST_SOURCE}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DBUILD_EXAMPLES=OFF ..
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" install
|
||||
}
|
||||
|
||||
# boost
|
||||
@ -580,8 +638,11 @@ build_mysql() {
|
||||
|
||||
cd "${TP_SOURCE_DIR}/${MYSQL_SOURCE}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
if [[ ! -d "${BOOST_SOURCE}" ]]; then
|
||||
cp -rf "${TP_SOURCE_DIR}/${BOOST_SOURCE}" ./
|
||||
fi
|
||||
@ -620,7 +681,9 @@ build_leveldb() {
|
||||
check_if_source_exist "${LEVELDB_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${LEVELDB_SOURCE}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
CXXFLAGS="-fPIC" "${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DLEVELDB_BUILD_BENCHMARKS=OFF \
|
||||
@ -633,7 +696,10 @@ build_brpc() {
|
||||
check_if_source_exist "${BRPC_SOURCE}"
|
||||
|
||||
cd "${TP_SOURCE_DIR}/${BRPC_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
if [[ "${KERNEL}" != 'Darwin' ]]; then
|
||||
@ -642,11 +708,15 @@ build_brpc() {
|
||||
ldflags="-L${TP_LIB_DIR}"
|
||||
fi
|
||||
|
||||
# Currently, BRPC can't be built for static libraries only (without .so). Therefore, we should add `-fPIC`
|
||||
# to the dependencies which are required by BRPC. Dependencies: zlib, glog, protobuf, leveldb
|
||||
LDFLAGS="${ldflags}" \
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_SHARED_LIBS=0 -DWITH_GLOG=ON -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
|
||||
-DCMAKE_LIBRARY_PATH="${TP_INSTALL_DIR}/lib64" -DCMAKE_INCLUDE_PATH="${TP_INSTALL_DIR}/include" \
|
||||
-DPROTOBUF_PROTOC_EXECUTABLE="${TP_INSTALL_DIR}/bin/protoc" ..
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
|
||||
remove_all_dylib
|
||||
}
|
||||
@ -677,13 +747,17 @@ build_rocksdb() {
|
||||
build_cyrus_sasl() {
|
||||
check_if_source_exist "${CYRUS_SASL_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${CYRUS_SASL_SOURCE}"
|
||||
|
||||
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --enable-static --enable-shared=no --with-openssl="${TP_INSTALL_DIR}" --with-pic
|
||||
|
||||
if [[ "${KERNEL}" != 'Darwin' ]]; then
|
||||
make -j "${PARALLEL}" && make install
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
else
|
||||
make -j "${PARALLEL}" && make framedir="${TP_INCLUDE_DIR}/sasl" install
|
||||
make -j "${PARALLEL}"
|
||||
make framedir="${TP_INCLUDE_DIR}/sasl" install
|
||||
fi
|
||||
}
|
||||
|
||||
@ -696,7 +770,10 @@ build_librdkafka() {
|
||||
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --enable-static --enable-sasl --disable-c11threads
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
|
||||
remove_all_dylib
|
||||
}
|
||||
|
||||
@ -715,14 +792,19 @@ build_libunixodbc() {
|
||||
CPPFLAGS="${cppflags}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
./configure --prefix="${TP_INSTALL_DIR}" --with-included-ltdl --enable-static=yes --enable-shared=no
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# flatbuffers
|
||||
build_flatbuffers() {
|
||||
check_if_source_exist "${FLATBUFFERS_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${FLATBUFFERS_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
if [[ "${KERNEL}" != 'Darwin' ]]; then
|
||||
@ -734,7 +816,9 @@ build_flatbuffers() {
|
||||
CXXFLAGS="${warning_class_memaccess}" \
|
||||
LDFLAGS="${ldflags}" \
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DFLATBUFFERS_BUILD_TESTS=OFF ..
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
|
||||
cp flatc ../../../installed/bin/flatc
|
||||
cp -r ../include/flatbuffers ../../../installed/include/flatbuffers
|
||||
cp libflatbuffers.a ../../../installed/lib/libflatbuffers.a
|
||||
@ -743,7 +827,11 @@ build_flatbuffers() {
|
||||
# arrow
|
||||
build_arrow() {
|
||||
check_if_source_exist "${ARROW_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${ARROW_SOURCE}/cpp" && mkdir -p release && cd release
|
||||
cd "${TP_SOURCE_DIR}/${ARROW_SOURCE}/cpp"
|
||||
|
||||
mkdir -p release
|
||||
cd release
|
||||
|
||||
export ARROW_BROTLI_URL="${TP_SOURCE_DIR}/${BROTLI_NAME}"
|
||||
export ARROW_GLOG_URL="${TP_SOURCE_DIR}/${GLOG_NAME}"
|
||||
export ARROW_LZ4_URL="${TP_SOURCE_DIR}/${LZ4_NAME}"
|
||||
@ -788,7 +876,8 @@ build_arrow() {
|
||||
-DBOOST_ROOT="${TP_INSTALL_DIR}" --no-warn-unused-cli \
|
||||
-DThrift_ROOT="${TP_INSTALL_DIR}" ..
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
|
||||
#copy dep libs
|
||||
cp -rf ./jemalloc_ep-prefix/src/jemalloc_ep/dist/lib/libjemalloc_pic.a "${TP_INSTALL_DIR}/lib64/libjemalloc.a"
|
||||
@ -801,7 +890,10 @@ build_arrow() {
|
||||
build_s2() {
|
||||
check_if_source_exist "${S2_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${S2_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
if [[ "${KERNEL}" != 'Darwin' ]]; then
|
||||
@ -821,7 +913,9 @@ build_s2() {
|
||||
-DCMAKE_LIBRARY_PATH="${TP_INSTALL_DIR}/lib64" \
|
||||
-DOPENSSL_ROOT_DIR="${TP_INSTALL_DIR}/include" \
|
||||
-DWITH_GLOG=ON ..
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# bitshuffle
|
||||
@ -885,7 +979,10 @@ build_croaringbitmap() {
|
||||
|
||||
check_if_source_exist "${CROARINGBITMAP_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${CROARINGBITMAP_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
if [[ "${KERNEL}" != 'Darwin' ]]; then
|
||||
@ -898,17 +995,24 @@ build_croaringbitmap() {
|
||||
LDFLAGS="${ldflags}" \
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" ${avx_flag} -DROARING_BUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
|
||||
-DENABLE_ROARING_TESTS=OFF ..
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# fmt
|
||||
build_fmt() {
|
||||
check_if_source_exist "${FMT_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${FMT_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_SHARED_LIBS=FALSE -DFMT_TEST=OFF -DFMT_DOC=OFF -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" ..
|
||||
"${BUILD_SYSTEM}" -j"${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
"${BUILD_SYSTEM}" -j"${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# parallel_hashmap
|
||||
@ -936,8 +1040,12 @@ build_libdivide() {
|
||||
build_orc() {
|
||||
check_if_source_exist "${ORC_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${ORC_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
CXXFLAGS="-O3 -Wno-array-bounds ${warning_reserved_identifier} ${warning_suggest_override}" \
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" ../ -DBUILD_JAVA=OFF \
|
||||
-DPROTOBUF_HOME="${TP_INSTALL_DIR}" \
|
||||
@ -951,7 +1059,8 @@ build_orc() {
|
||||
-DBUILD_CPP_TESTS=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}"
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
#cctz
|
||||
@ -959,7 +1068,9 @@ build_cctz() {
|
||||
check_if_source_exist "${CCTZ_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${CCTZ_SOURCE}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
rm -rf CMakeCache.txt CMakeFiles/
|
||||
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DBUILD_TESTING=OFF ..
|
||||
@ -996,14 +1107,19 @@ build_tsan_header() {
|
||||
build_aws_sdk() {
|
||||
check_if_source_exist "${AWS_SDK_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${AWS_SDK_SOURCE}"
|
||||
|
||||
rm -rf "${BUILD_DIR}"
|
||||
|
||||
# -Wno-nonnull gcc-11
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -B"${BUILD_DIR}" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
|
||||
-DCMAKE_PREFIX_PATH="${TP_INSTALL_DIR}" -DBUILD_SHARED_LIBS=OFF -DENABLE_TESTING=OFF \
|
||||
-DCURL_LIBRARY_RELEASE="${TP_INSTALL_DIR}/lib/libcurl.a" -DZLIB_LIBRARY_RELEASE="${TP_INSTALL_DIR}/lib/libz.a" \
|
||||
-DBUILD_ONLY="core;s3;s3-crt;transfer" -DCMAKE_CXX_FLAGS="-Wno-nonnull" -DCPP_STANDARD=17
|
||||
|
||||
cd "${BUILD_DIR}"
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# lzma
|
||||
@ -1012,13 +1128,21 @@ build_lzma() {
|
||||
echo "autopoint is required by $0, install it first"
|
||||
return 255
|
||||
fi
|
||||
|
||||
check_if_source_exist "${LZMA_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${LZMA_SOURCE}"
|
||||
|
||||
export ACLOCAL_PATH='/usr/share/aclocal'
|
||||
|
||||
sh autogen.sh
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
../configure --prefix="${TP_INSTALL_DIR}" --enable-shared=no --with-pic
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# xml2
|
||||
@ -1027,32 +1151,47 @@ build_xml2() {
|
||||
echo "pkg-config is required by $0, install it first"
|
||||
return 255
|
||||
fi
|
||||
|
||||
check_if_source_exist "${XML2_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${XML2_SOURCE}"
|
||||
|
||||
export ACLOCAL_PATH='/usr/share/aclocal'
|
||||
|
||||
sh autogen.sh
|
||||
make distclean
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
CPPLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
../configure --prefix="${TP_INSTALL_DIR}" --enable-shared=no --with-pic --with-python=no --with-lzma="${TP_INSTALL_DIR}"
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# idn
|
||||
build_idn() {
|
||||
check_if_source_exist "${IDN_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${IDN_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
../configure --prefix="${TP_INSTALL_DIR}" --enable-shared=no --with-pic
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# gsasl
|
||||
build_gsasl() {
|
||||
check_if_source_exist "${GSASL_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${GSASL_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
if [[ "${KERNEL}" != 'Darwin' ]]; then
|
||||
cflags=''
|
||||
@ -1061,14 +1200,18 @@ build_gsasl() {
|
||||
fi
|
||||
|
||||
CFLAGS="${cflags}" ../configure --prefix="${TP_INSTALL_DIR}" --with-gssapi-impl=mit --enable-shared=no --with-pic --with-libidn-prefix="${TP_INSTALL_DIR}"
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# krb5
|
||||
build_krb5() {
|
||||
check_if_source_exist "${KRB5_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${KRB5_SOURCE}/src"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
if [[ "${KERNEL}" == 'Darwin' ]]; then
|
||||
with_crypto_impl='--with-crypto-impl=openssl'
|
||||
@ -1076,18 +1219,25 @@ build_krb5() {
|
||||
|
||||
CFLAGS="-fcommon -I${TP_INSTALL_DIR}/include" LDFLAGS="-L${TP_INSTALL_DIR}/lib" \
|
||||
../configure --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static ${with_crypto_impl}
|
||||
make -j "${PARALLEL}" && make install
|
||||
|
||||
make -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
|
||||
# hdfs3
|
||||
build_hdfs3() {
|
||||
check_if_source_exist "${HDFS3_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${HDFS3_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}" && rm -rf ./*
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
rm -rf ./*
|
||||
|
||||
# build libhdfs3 with kerberos support
|
||||
CPPLAGS="-I${TP_INCLUDE_DIR}" \
|
||||
LDFLAGS="-L${TP_LIB_DIR}" \
|
||||
../bootstrap --dependency="${TP_INSTALL_DIR}" --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static
|
||||
|
||||
make CXXFLAGS="${libhdfs_cxx17}" -j "${PARALLEL}"
|
||||
make install
|
||||
}
|
||||
@ -1121,14 +1271,15 @@ build_simdjson() {
|
||||
check_if_source_exist "${SIMDJSON_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${SIMDJSON_SOURCE}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
CXXFLAGS="-O3" \
|
||||
CFLAGS="-O3" \
|
||||
$CMAKE_CMD ..
|
||||
$CMAKE_CMD --build .
|
||||
|
||||
cp "${TP_SOURCE_DIR}/${SIMDJSON_SOURCE}/${BUILD_DIR}/libsimdjson.a" "${TP_INSTALL_DIR}/lib64"
|
||||
|
||||
cp -r "${TP_SOURCE_DIR}/${SIMDJSON_SOURCE}/include"/* "${TP_INCLUDE_DIR}/"
|
||||
}
|
||||
|
||||
@ -1136,21 +1287,29 @@ build_simdjson() {
|
||||
build_nlohmann_json() {
|
||||
check_if_source_exist "${NLOHMANN_JSON_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${NLOHMANN_JSON_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DCMAKE_PREFIX_PATH="${TP_INSTALL_DIR}" -DJSON_BuildTests=OFF ..
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# opentelemetry
|
||||
build_opentelemetry() {
|
||||
check_if_source_exist "${OPENTELEMETRY_SOURCE}"
|
||||
cd "${TP_SOURCE_DIR}/${OPENTELEMETRY_SOURCE}"
|
||||
mkdir -p "${BUILD_DIR}" && cd "${BUILD_DIR}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
"${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DCMAKE_PREFIX_PATH="${TP_INSTALL_DIR}" -DBUILD_TESTING=OFF \
|
||||
-DWITH_OTLP=ON -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_HTTP=ON -DWITH_ZIPKIN=ON -DWITH_EXAMPLES=OFF ..
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}" && "${BUILD_SYSTEM}" install
|
||||
|
||||
"${BUILD_SYSTEM}" -j "${PARALLEL}"
|
||||
"${BUILD_SYSTEM}" install
|
||||
}
|
||||
|
||||
# sse2neon
|
||||
|
||||
2
thirdparty/vars.sh
vendored
2
thirdparty/vars.sh
vendored
@ -157,7 +157,7 @@ HYPERSCAN_MD5SUM="65e08385038c24470a248f6ff2fa379b"
|
||||
|
||||
# vectorscan (support arm for hyperscan)
|
||||
MACHINE_TYPE=$(uname -m)
|
||||
if [[ "${MACHINE_TYPE}" == "aarch64" ]]; then
|
||||
if [[ "${MACHINE_TYPE}" == "aarch64" || "${MACHINE_TYPE}" == 'arm64' ]]; then
|
||||
echo "use vectorscan instead of hyperscan on aarch64"
|
||||
HYPERSCAN_DOWNLOAD="https://github.com/VectorCamp/vectorscan/archive/refs/tags/vectorscan/5.4.7.tar.gz"
|
||||
HYPERSCAN_NAME=vectorscan-5.4.7.tar.gz
|
||||
|
||||
Reference in New Issue
Block a user