add loongarch64 support
Some checks failed
BE UT (macOS) / BE UT (macOS) (push) Has been cancelled
Dead Link Checker / CheckDeadLinks (push) Has been cancelled
Code Checks / ShellCheck (push) Has been cancelled
SonarClout Analysis / SonarCloud on java (push) Has been cancelled
SonarClout Analysis / SonarCloud on cpp (push) Has been cancelled
Code Checks / Clang Tidy Preparation (push) Has been cancelled
Code Checks / Clang Tidy (push) Has been cancelled
Close stale PRs / stale (push) Has been cancelled

This commit is contained in:
hcq
2025-09-05 11:41:40 +08:00
parent 97b77e6cda
commit 3b3e21e05d
12 changed files with 8767 additions and 74 deletions

View File

@ -236,7 +236,7 @@ if (NOT OS_MACOSX) # MACOSX's lld will core dump
TRY_TO_CHANGE_LINKER("lld" "LLD")
TRY_TO_CHANGE_LINKER("gold" "GNU gold")
if (NOT CUSTUM_LINKER_COMMAND STREQUAL "ld")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=${CUSTUM_LINKER_COMMAND}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=${CUSTUM_LINKER_COMMAND} -Wl,--no-relax -lsframe")
endif()
endif()
@ -247,13 +247,14 @@ set(CMAKE_C_STANDARD 17)
add_compile_options(-g
-Wall
-Wextra
-Werror
#-Werror
-pthread
-fstrict-aliasing
-fno-omit-frame-pointer
$<$<COMPILE_LANGUAGE:CXX>:-Wnon-virtual-dtor>)
add_compile_options(-Wno-unused-parameter
-Wno-unused-function
$<$<COMPILE_LANGUAGE:CXX>:-Wno-incompatible-pointer-types>
-Wno-unknown-warning-option
-Wno-deprecated-declarations
@ -376,9 +377,9 @@ endif()
# For CMAKE_BUILD_TYPE=Release
# -O3: Enable all compiler optimizations
# -DNDEBUG: Turn off dchecks/asserts/debug only code.
set(CXX_FLAGS_RELEASE "${CXX_GCC_FLAGS} -O3 -DNDEBUG")
set(CXX_FLAGS_ASAN "${CXX_GCC_FLAGS} -O0 -fsanitize=address -DADDRESS_SANITIZER")
set(CXX_FLAGS_LSAN "${CXX_GCC_FLAGS} -O0 -fsanitize=leak -DLEAK_SANITIZER")
set(CXX_FLAGS_RELEASE "${CXX_GCC_FLAGS} -O3 -DNDEBUG -mcmodel=medium")
set(CXX_FLAGS_ASAN "${CXX_GCC_FLAGS} -O0 -fsanitize=address -DADDRESS_SANITIZER -mcmodel=medium")
set(CXX_FLAGS_LSAN "${CXX_GCC_FLAGS} -O0 -fsanitize=leak -DLEAK_SANITIZER -mcmodel=medium")
# Set the flags to the undefined behavior sanitizer, also known as "ubsan"
# Turn on sanitizer and debug symbols to get stack traces:

View File

@ -27,6 +27,65 @@
#include <immintrin.h> // IWYU pragma: export
#include <mm_malloc.h> // IWYU pragma: export
#include <smmintrin.h> // IWYU pragma: export
#elif defined(__loongarch_lp64)
#include <lsxintrin.h>
#define _SIDD_UBYTE_OPS 0x00
#define _SIDD_UWORD_OPS 0x01
#define _SIDD_SBYTE_OPS 0x02
#define _SIDD_SWORD_OPS 0x03
/* These macros specify the comparison operation. */
#define _SIDD_CMP_EQUAL_ANY 0x00
#define _SIDD_CMP_RANGES 0x04
#define _SIDD_CMP_EQUAL_EACH 0x08
#define _SIDD_CMP_EQUAL_ORDERED 0x0c
/* These macros specify the polarity. */
#define _SIDD_POSITIVE_POLARITY 0x00
#define _SIDD_NEGATIVE_POLARITY 0x10
#define _SIDD_MASKED_POSITIVE_POLARITY 0x20
#define _SIDD_MASKED_NEGATIVE_POLARITY 0x30
/* These macros specify the output selection in _mm_cmpXstri (). */
#define _SIDD_LEAST_SIGNIFICANT 0x00
#define _SIDD_MOST_SIGNIFICANT 0x40
/* These macros specify the output selection in _mm_cmpXstrm (). */
#define _SIDD_BIT_MASK 0x00
#define _SIDD_UNIT_MASK 0x40
#define _mm_load_si128(_ip_) (__m128i)__lsx_vld((const __m128i*)(_ip_), 0)
#define _mm_storeu_si128(_ip_, _u_) __lsx_vstx((__m128i)(_u_), (__m128i*)(_ip_), 0)
#define _mm_or_si128(_u_, _v_) (__m128i)__lsx_vor_v((__m128i)(_u_), (__m128i)(_v_))
#define _mm_loadu_si128(_ip_) (__m128i)__lsx_vldx((const __m128i*)(_ip_), 0)
#define _mm_setzero_si128() __lsx_vreplgr2vr_w( 0 )
static ALWAYS_INLINE uint16_t _mm_movemask_epi8(__m128i v) {
// 步骤1:提取每个字节的最高位(符号位)
__m128i signs = __lsx_vsrai_b(v, 7); // 所有字节算术右移7位, 保留符合位
// 步骤2:创建位掩码 (LSB-first: 0x01, 0x02, 0x04,...)
static const uint8_t mask_data[16] = {
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, // 低8字节
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 // 高8字节
};
__m128i mask = __lsx_vld((const void*)mask_data, 0); // 从内存加载掩码
// 步骤3:应用位掩码
__m128i masked = __lsx_vand_v(signs, mask);
// 步骤4:水平相加(8-bit → 16-bit → 32-bit)
__m128i sum16 = __lsx_vhaddw_hu_bu(masked, masked);
__m128i sum32 = __lsx_vhaddw_wu_hu(sum16, sum16);
__m128i sum64 = __lsx_vhaddw_du_wu(sum32, sum32);
// 步骤5:提取低16位结果
return (uint16_t)__lsx_vpickve2gr_bu(sum64, 0) | (((uint16_t)__lsx_vpickve2gr_bu(sum64, 8)) << 8);
}
#endif
namespace doris {

View File

@ -476,7 +476,7 @@ if [[ "${BUILD_HIVE_UDF}" -eq 1 ]]; then
modules+=("hive-udf")
fi
if [[ "${BUILD_BE_JAVA_EXTENSIONS}" -eq 1 ]]; then
modules+=("fe-common")
# modules+=("fe-common")
modules+=("be-java-extensions/hudi-scanner")
# don't compile hadoop-hudi-scanner for 2.1 now
# modules+=("be-java-extensions/hadoop-hudi-scanner")
@ -503,8 +503,8 @@ FE_MODULES="$(
# Clean and build Backend
if [[ "${BUILD_BE}" -eq 1 ]]; then
update_submodule "be/src/apache-orc" "apache-orc" "https://github.com/apache/doris-thirdparty/archive/refs/heads/orc-for-doris-21.tar.gz"
update_submodule "be/src/clucene" "clucene" "https://github.com/apache/doris-thirdparty/archive/refs/heads/clucene-2.1.tar.gz"
#update_submodule "be/src/apache-orc" "apache-orc" "https://github.com/apache/doris-thirdparty/archive/refs/heads/orc-for-doris-21.tar.gz"
#update_submodule "be/src/clucene" "clucene" "https://github.com/apache/doris-thirdparty/archive/refs/heads/clucene-2.1.tar.gz"
if [[ -e "${DORIS_HOME}/gensrc/build/gen_cpp/version.h" ]]; then
rm -f "${DORIS_HOME}/gensrc/build/gen_cpp/version.h"
fi
@ -548,7 +548,7 @@ if [[ "${BUILD_BE}" -eq 1 ]]; then
-DENABLE_STACKTRACE="${ENABLE_STACKTRACE}" \
-DUSE_AVX2="${USE_AVX2}" \
-DGLIBC_COMPATIBILITY="${GLIBC_COMPATIBILITY}" \
-DEXTRA_CXX_FLAGS="${EXTRA_CXX_FLAGS}" \
-DEXTRA_CXX_FLAGS="${EXTRA_CXX_FLAGS} -mcmodel=medium" \
-DENABLE_CLANG_COVERAGE="${DENABLE_CLANG_COVERAGE}" \
-DDORIS_JAVA_HOME="${JAVA_HOME}" \
"${DORIS_HOME}/be"
@ -605,28 +605,28 @@ if [[ "${BUILD_FE}" -eq 1 ]]; then
fi
# Clean and build Frontend
if [[ "${FE_MODULES}" != '' ]]; then
echo "Build Frontend Modules: ${FE_MODULES}"
cd "${DORIS_HOME}/fe"
if [[ "${CLEAN}" -eq 1 ]]; then
clean_fe
fi
if [[ "${DISABLE_JAVA_CHECK_STYLE}" = "ON" ]]; then
# Allowed user customer set env param USER_SETTINGS_MVN_REPO means settings.xml file path
if [[ -n ${USER_SETTINGS_MVN_REPO} && -f ${USER_SETTINGS_MVN_REPO} ]]; then
"${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests -Dcheckstyle.skip=true ${MVN_OPT:+${MVN_OPT}} -gs "${USER_SETTINGS_MVN_REPO}" -T 1C
else
"${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests -Dcheckstyle.skip=true ${MVN_OPT:+${MVN_OPT}} -T 1C
fi
else
if [[ -n ${USER_SETTINGS_MVN_REPO} && -f ${USER_SETTINGS_MVN_REPO} ]]; then
"${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests ${MVN_OPT:+${MVN_OPT}} -gs "${USER_SETTINGS_MVN_REPO}" -T 1C
else
"${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests ${MVN_OPT:+${MVN_OPT}} -T 1C
fi
fi
cd "${DORIS_HOME}"
fi
#if [[ "${FE_MODULES}" != '' ]]; then
# echo "Build Frontend Modules: ${FE_MODULES}"
# cd "${DORIS_HOME}/fe"
# if [[ "${CLEAN}" -eq 1 ]]; then
# clean_fe
# fi
# if [[ "${DISABLE_JAVA_CHECK_STYLE}" = "ON" ]]; then
# # Allowed user customer set env param USER_SETTINGS_MVN_REPO means settings.xml file path
# if [[ -n ${USER_SETTINGS_MVN_REPO} && -f ${USER_SETTINGS_MVN_REPO} ]]; then
# "${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests -Dcheckstyle.skip=true ${MVN_OPT:+${MVN_OPT}} -gs "${USER_SETTINGS_MVN_REPO}" -T 1C
# else
# "${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests -Dcheckstyle.skip=true ${MVN_OPT:+${MVN_OPT}} -T 1C
# fi
# else
# if [[ -n ${USER_SETTINGS_MVN_REPO} && -f ${USER_SETTINGS_MVN_REPO} ]]; then
# "${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests ${MVN_OPT:+${MVN_OPT}} -gs "${USER_SETTINGS_MVN_REPO}" -T 1C
# else
# "${MVN_CMD}" package -pl ${FE_MODULES:+${FE_MODULES}} -Dskip.doc=true -DskipTests ${MVN_OPT:+${MVN_OPT}} -T 1C
# fi
# fi
# cd "${DORIS_HOME}"
#fi
# Clean and prepare output dir
DORIS_OUTPUT=${DORIS_OUTPUT:="${DORIS_HOME}/output/"}

3
loongarch_env.sh Normal file
View File

@ -0,0 +1,3 @@
export GLIBC_COMPATIBILITY=OFF
export USE_AVX2=0
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

View File

@ -147,7 +147,7 @@ if [[ "${CLEAN}" -eq 1 ]] && [[ -d "${TP_SOURCE_DIR}" ]]; then
fi
# Download thirdparties.
"${TP_DIR}/download-thirdparty.sh"
#"${TP_DIR}/download-thirdparty.sh"
export LD_LIBRARY_PATH="${TP_DIR}/installed/lib:${LD_LIBRARY_PATH}"
@ -317,8 +317,8 @@ build_libbacktrace() {
check_if_source_exist "${LIBBACKTRACE_SOURCE}"
cd "${TP_SOURCE_DIR}/${LIBBACKTRACE_SOURCE}"
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CXXFLAGS="-I${TP_INCLUDE_DIR}" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
CXXFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
./configure --prefix="${TP_INSTALL_DIR}"
@ -334,8 +334,8 @@ build_libevent() {
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}" \
CFLAGS="-std=c99 -D_BSD_SOURCE -fno-omit-frame-pointer -g -ggdb -O2 -I${TP_INCLUDE_DIR} -mcmodel=medium" \
CPPLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
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 ..
@ -354,13 +354,17 @@ build_openssl() {
OPENSSL_PLATFORM="darwin64-${MACHINE_TYPE}-cc"
elif [[ "${MACHINE_TYPE}" == "aarch64" ]]; then
OPENSSL_PLATFORM="linux-aarch64"
elif [[ "${MACHINE_TYPE}" == "loongarch64" ]]; then
# todo: add loongarch64 asm
OPENSSL_PLATFORM="linux-generic64"
OPENSSL_CONFIG_FLAGS="no-asm"
fi
check_if_source_exist "${OPENSSL_SOURCE}"
cd "${TP_SOURCE_DIR}/${OPENSSL_SOURCE}"
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CXXFLAGS="-I${TP_INCLUDE_DIR}" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
CXXFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
LIBDIR="lib" \
./Configure --prefix="${TP_INSTALL_DIR}" --with-rand-seed=devrandom -shared "${OPENSSL_PLATFORM}"
@ -385,8 +389,8 @@ build_thrift() {
cd "${TP_SOURCE_DIR}/${THRIFT_SOURCE}"
if [[ "${KERNEL}" != 'Darwin' ]]; then
cflags="-I${TP_INCLUDE_DIR}"
cxxflags="-I${TP_INCLUDE_DIR} ${warning_unused_but_set_variable} -Wno-inconsistent-missing-override"
cflags="-I${TP_INCLUDE_DIR} -mcmodel=medium"
cxxflags="-I${TP_INCLUDE_DIR} ${warning_unused_but_set_variable} -Wno-inconsistent-missing-override -mcmodel=medium"
ldflags="-L${TP_LIB_DIR} --static"
else
cflags="-I${TP_INCLUDE_DIR} -Wno-implicit-function-declaration -Wno-inconsistent-missing-override"
@ -426,7 +430,7 @@ build_protobuf() {
mkdir -p cmake/build
cd cmake/build
CXXFLAGS="-O2 -I${TP_INCLUDE_DIR}" \
CXXFLAGS="-O2 -I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="${ldflags}" \
"${CMAKE_CMD}" -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="${TP_INSTALL_DIR}" \
@ -456,6 +460,7 @@ build_gflags() {
rm -rf CMakeCache.txt CMakeFiles/
"${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
-DCMAKE_C_FLAGS="-mcmodel=medium" -DCMAKE_CXX_FLAGS="-mcmodel=medium" \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=On ../
"${BUILD_SYSTEM}" -j "${PARALLEL}"
@ -472,7 +477,7 @@ build_glog() {
rm -rf config.*
autoreconf -i
CPPFLAGS="-I${TP_INCLUDE_DIR} -fpermissive -fPIC" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -fpermissive -fPIC -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
./configure --prefix="${TP_INSTALL_DIR}" --enable-frame-pointers --disable-shared --enable-static
@ -485,6 +490,7 @@ build_glog() {
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DWITH_UNWIND=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_C_FLAGS="-mcmodel=medium" -DCMAKE_CXX_FLAGS="-mcmodel=medium" \
-DWITH_TLS=OFF
cmake --build build --target install
@ -538,7 +544,7 @@ build_snappy() {
rm -rf CMakeCache.txt CMakeFiles/
CFLAGS="-O3" CXXFLAGS="-O3" "${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
CFLAGS="-O3 -mcmodel=medium" CXXFLAGS="-O3 -mcmodel=medium" "${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 ../
@ -561,7 +567,7 @@ build_gperftools() {
./autogen.sh
fi
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
LD_LIBRARY_PATH="${TP_LIB_DIR}" \
LDFLAGS="-L${TP_LIB_DIR}" \
@ -577,8 +583,8 @@ build_zlib() {
check_if_source_exist "${ZLIB_SOURCE}"
cd "${TP_SOURCE_DIR}/${ZLIB_SOURCE}"
CFLAGS="-O3 -fPIC" \
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CFLAGS="-O3 -fPIC -mcmodel=medium" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
./configure --prefix="${TP_INSTALL_DIR}"
@ -604,6 +610,8 @@ build_lz4() {
rm -f "${TP_INSTALL_DIR}/bin/${link}"
done
export CFLAGS="-O2 -mcmodel=medium"
export CXXFLAGS="-O2 -mcmodel=medium"
make -j "${PARALLEL}" install PREFIX="${TP_INSTALL_DIR}" BUILD_SHARED=no INCLUDEDIR="${TP_INCLUDE_DIR}/lz4"
}
@ -616,6 +624,7 @@ build_zstd() {
cd "${BUILD_DIR}"
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_TESTING=OFF -DZSTD_BUILD_TESTS=OFF -DZSTD_BUILD_STATIC=ON \
-DCMAKE_C_FLAGS="-mcmodel=medium" -DCMAKE_CXX_FLAGS="-mcmodel=medium" \
-DZSTD_BUILD_PROGRAMS=OFF -DZSTD_BUILD_SHARED=OFF -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" ..
"${BUILD_SYSTEM}" -j "${PARALLEL}" install
@ -627,6 +636,8 @@ build_bzip() {
check_if_source_exist "${BZIP_SOURCE}"
cd "${TP_SOURCE_DIR}/${BZIP_SOURCE}"
export CFLAGS="-O2 -mcmodel=medium -fPIC"
export CXXFLAGS="-O2 -mcmodel=medium -fPIC"
make -j "${PARALLEL}" install PREFIX="${TP_INSTALL_DIR}"
}
@ -635,8 +646,8 @@ build_lzo2() {
check_if_source_exist "${LZO2_SOURCE}"
cd "${TP_SOURCE_DIR}/${LZO2_SOURCE}"
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
LDFLAGS="-L${TP_LIB_DIR}" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR} -mcmodel=medium" \
./configure --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static
make -j "${PARALLEL}"
@ -662,7 +673,7 @@ build_curl() {
libs='-lcrypto -lssl -lcrypto -ldl'
fi
CPPFLAGS="-I${TP_INCLUDE_DIR} " \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" LIBS="${libs}" \
PKG_CONFIG="pkg-config --static" \
./configure --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static \
@ -680,12 +691,14 @@ build_re2() {
cd "${TP_SOURCE_DIR}/${RE2_SOURCE}"
"${CMAKE_CMD}" -DCMAKE_BUILD_TYPE=Release -G "${GENERATOR}" -DBUILD_SHARED_LIBS=0 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_C_FLAGS="-mcmodel=medium -fPIC" -DCMAKE_CXX_FLAGS="-mcmodel=medium -fPIC" \
-DCMAKE_PREFIX_PATH="${TP_INSTALL_DIR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}"
"${BUILD_SYSTEM}" -j "${PARALLEL}" install
strip_lib libre2.a
}
# hyperscan
# on loongarch hyperscan need use gcc
build_hyperscan() {
check_if_source_exist "${RAGEL_SOURCE}"
cd "${TP_SOURCE_DIR}/${RAGEL_SOURCE}"
@ -696,7 +709,7 @@ build_hyperscan() {
cxxflags=''
fi
CXXFLAGS="${cxxflags}" \
CXXFLAGS="${cxxflags} -mcmodel=medium" \
./configure --prefix="${TP_INSTALL_DIR}"
make install
@ -711,6 +724,7 @@ build_hyperscan() {
CXXFLAGS="-D_HAS_AUTO_PTR_ETC=0" \
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_SHARED_LIBS=0 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_FLAGS="-mcmodel=medium -mno-relax" -DCMAKE_CXX_FLAGS="-mcmodel=medium -mno-relax" \
-DBOOST_ROOT="${TP_INSTALL_DIR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DBUILD_EXAMPLES=OFF ..
"${BUILD_SYSTEM}" -j "${PARALLEL}" install
strip_lib libhs.a
@ -727,7 +741,7 @@ build_boost() {
cxxflags=''
fi
CXXFLAGS="${cxxflags}" \
CXXFLAGS="${cxxflags} -mcmodel=medium" \
./bootstrap.sh --prefix="${TP_INSTALL_DIR}" --with-toolset="${boost_toolset}"
# -q: Fail at first error
./b2 -q link=static runtime-link=static -j "${PARALLEL}" \
@ -763,6 +777,7 @@ build_mysql() {
"${CMAKE_CMD}" -G "${GENERATOR}" ../ -DCMAKE_LINK_SEARCH_END_STATIC=1 \
-DWITH_BOOST="$(pwd)/${BOOST_SOURCE}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}/mysql" \
-DWITHOUT_SERVER=1 -DWITH_ZLIB=1 -DZLIB_ROOT="${TP_INSTALL_DIR}" \
-DCMAKE_C_FLAGS="-mcmodel=medium " -DCMAKE_CXX_FLAGS="-mcmodel=medium " \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -std=gnu++11" \
-DDISABLE_SHARED=1 -DBUILD_SHARED_LIBS=0 -DZLIB_LIBRARY="${TP_INSTALL_DIR}/lib/libz.a" -DENABLE_DTRACE=0
"${BUILD_SYSTEM}" -j "${PARALLEL}" mysqlclient
@ -791,13 +806,14 @@ build_leveldb() {
rm -rf CMakeCache.txt CMakeFiles/
CXXFLAGS="-fPIC" "${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DLEVELDB_BUILD_BENCHMARKS=OFF \
CXXFLAGS="-fPIC -mcmodel=medium" "${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DLEVELDB_BUILD_BENCHMARKS=OFF \
-DLEVELDB_BUILD_TESTS=OFF ..
"${BUILD_SYSTEM}" -j "${PARALLEL}" install
strip_lib libleveldb.a
}
# brpc
# on loongarch brpc need
build_brpc() {
check_if_source_exist "${BRPC_SOURCE}"
@ -828,6 +844,7 @@ build_brpc() {
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_SHARED_LIBS=ON -DWITH_GLOG=ON -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
-DCMAKE_LIBRARY_PATH="${TP_INSTALL_DIR}/lib64" -DCMAKE_INCLUDE_PATH="${TP_INSTALL_DIR}/include" \
-DBUILD_BRPC_TOOLS=OFF \
-DCMAKE_C_FLAGS="-O1 -mcmodel=medium -fPIC" -DCMAKE_CXX_FLAGS="-O1 -mcmodel=medium -fPIC" \
-DPROTOBUF_PROTOC_EXECUTABLE="${TP_INSTALL_DIR}/bin/protoc" ..
"${BUILD_SYSTEM}" -j "${PARALLEL}"
@ -854,7 +871,7 @@ build_rocksdb() {
fi
# -Wno-range-loop-construct gcc-11
CFLAGS="-I ${TP_INCLUDE_DIR} -I ${TP_INCLUDE_DIR}/snappy -I ${TP_INCLUDE_DIR}/lz4" \
CFLAGS="-I ${TP_INCLUDE_DIR} -I ${TP_INCLUDE_DIR}/snappy -I ${TP_INCLUDE_DIR}/lz4 -mcmodel=medium" \
CXXFLAGS="-include cstdint -Wno-deprecated-copy ${warning_stringop_truncation} ${warning_shadow} ${warning_dangling_gsl} \
${warning_defaulted_function_deleted} ${warning_unused_but_set_variable} -Wno-pessimizing-move -Wno-range-loop-construct" \
LDFLAGS="${ldflags}" \
@ -869,8 +886,8 @@ build_cyrus_sasl() {
check_if_source_exist "${CYRUS_SASL_SOURCE}"
cd "${TP_SOURCE_DIR}/${CYRUS_SASL_SOURCE}"
CFLAGS="-fPIC -Wno-implicit-function-declaration" \
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CFLAGS="-fPIC -Wno-implicit-function-declaration -mcmodel=medium" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
LIBS="-lcrypto" \
./configure --prefix="${TP_INSTALL_DIR}" --enable-static --enable-shared=no --with-openssl="${TP_INSTALL_DIR}" --with-pic --enable-gssapi="${TP_INSTALL_DIR}" --with-gss_impl=mit --with-dblib=none
@ -894,7 +911,7 @@ build_librdkafka() {
# As a result, we use a patch to hard code "--static" into PKG_CONFIG instead.
# PKG_CONFIG="pkg-config --static"
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium -mno-relax" \
LDFLAGS="-L${TP_LIB_DIR} -lssl -lcrypto -lzstd -lz -lsasl2 \
-lgssapi_krb5 -lkrb5 -lkrb5support -lk5crypto -lcom_err -lresolv" \
./configure --prefix="${TP_INSTALL_DIR}" --enable-static --enable-sasl --disable-c11threads
@ -913,7 +930,7 @@ build_libunixodbc() {
cd "${TP_SOURCE_DIR}/${ODBC_SOURCE}"
CFLAGS="-I${TP_INCLUDE_DIR} -Wno-int-conversion -Wno-implicit-function-declaration" \
CFLAGS="-I${TP_INCLUDE_DIR} -Wno-int-conversion -Wno-implicit-function-declaration -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
./configure --prefix="${TP_INSTALL_DIR}" --with-included-ltdl --enable-static=yes --enable-shared=no
@ -940,6 +957,7 @@ build_flatbuffers() {
LDFLAGS="${ldflags}" \
"${CMAKE_CMD}" -G "${GENERATOR}" \
-DFLATBUFFERS_CXX_FLAGS="${warning_class_memaccess} ${warning_unused_but_set_variable}" \
-DCMAKE_C_FLAGS="-mcmodel=medium " -DCMAKE_CXX_FLAGS="-mcmodel=medium " \
-DFLATBUFFERS_BUILD_TESTS=OFF \
..
@ -961,6 +979,7 @@ build_cares() {
-DCARES_STATIC=ON \
-DCARES_SHARED=OFF \
-DCARES_STATIC_PIC=ON \
-DCMAKE_C_FLAGS="-mcmodel=medium " -DCMAKE_CXX_FLAGS="-mcmodel=medium " \
-DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" ..
make
make install
@ -991,6 +1010,7 @@ build_grpc() {
-DgRPC_ZLIB_PROVIDER=package \
-DZLIB_ROOT="${TP_INSTALL_DIR}" \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_C_FLAGS="-mcmodel=medium" -DCMAKE_CXX_FLAGS="-mcmodel=medium" \
../..
make -j "${PARALLEL}"
@ -1029,6 +1049,7 @@ build_arrow() {
LDFLAGS="${ldflags}" \
"${CMAKE_CMD}" -G "${GENERATOR}" -DARROW_PARQUET=ON -DARROW_IPC=ON -DARROW_BUILD_SHARED=OFF \
-DCMAKE_C_FLAGS="-mcmodel=medium" -DCMAKE_CXX_FLAGS="-mcmodel=medium" \
-DARROW_BUILD_STATIC=ON -DARROW_WITH_BROTLI=ON -DARROW_WITH_LZ4=ON -DARROW_USE_GLOG=ON \
-DARROW_WITH_SNAPPY=ON -DARROW_WITH_ZLIB=ON -DARROW_WITH_ZSTD=ON -DARROW_JSON=ON \
-DARROW_WITH_UTF8PROC=OFF -DARROW_WITH_RE2=ON -DARROW_ORC=ON \
@ -1093,6 +1114,7 @@ build_abseil() {
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DABSL_PROPAGATE_CXX_STD=ON \
-DCMAKE_C_FLAGS="-mcmodel=medium" -DCMAKE_CXX_FLAGS="-mcmodel=medium" \
-DBUILD_SHARED_LIBS=OFF
cmake --build "${BUILD_DIR}" -j "${PARALLEL}"
@ -1115,6 +1137,7 @@ build_s2() {
-DBUILD_SHARED_LIBS=OFF \
-DWITH_GFLAGS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS="-mcmodel=medium" -DCMAKE_CXX_FLAGS="-mcmodel=medium" \
-DCMAKE_LIBRARY_PATH="${TP_INSTALL_DIR}" ..
"${BUILD_SYSTEM}" -j "${PARALLEL}"
@ -1220,7 +1243,7 @@ build_croaringbitmap() {
ldflags="-L${TP_LIB_DIR}"
fi
CXXFLAGS="-O3" \
CXXFLAGS="-O3 -mcmodel=medium" \
LDFLAGS="${ldflags}" \
"${CMAKE_CMD}" -G "${GENERATOR}" ${avx_flag:+${avx_flag}} -DROARING_BUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
-DENABLE_ROARING_TESTS=OFF ..
@ -1275,7 +1298,7 @@ build_orc() {
rm -rf CMakeCache.txt CMakeFiles/
CXXFLAGS="-O3 -Wno-array-bounds ${warning_reserved_identifier} ${warning_suggest_override}" \
CXXFLAGS="-O3 -Wno-array-bounds ${warning_reserved_identifier} ${warning_suggest_override} -mcmodel=medium -fPIC" \
"${CMAKE_CMD}" -G "${GENERATOR}" ../ -DBUILD_JAVA=OFF \
-DPROTOBUF_HOME="${TP_INSTALL_DIR}" \
-DSNAPPY_HOME="${TP_INSTALL_DIR}" \
@ -1346,7 +1369,7 @@ build_aws_sdk() {
-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;identity-management;sts" \
-DCMAKE_CXX_FLAGS="-Wno-nonnull -Wno-deprecated-declarations ${warning_dangling_reference}" -DCPP_STANDARD=17
-DCMAKE_CXX_FLAGS="-Wno-nonnull -Wno-deprecated-declarations ${warning_dangling_reference} -mcmodel=medium" -DCPP_STANDARD=17
cd "${BUILD_DIR}"
@ -1414,7 +1437,7 @@ build_xml2() {
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
CPPLAGS="-I${TP_INCLUDE_DIR}" \
CPPLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
../configure --prefix="${TP_INSTALL_DIR}" --enable-shared=no --with-pic --with-python=no --with-lzma="${TP_INSTALL_DIR}"
@ -1431,6 +1454,8 @@ build_idn() {
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
CFLAGS="-O2 -mcmodel=medium" \
CXXFLAGS="-O2 -mcmodel=medium" \
../configure --prefix="${TP_INSTALL_DIR}" --enable-shared=no --with-pic
make -j "${PARALLEL}"
@ -1446,7 +1471,7 @@ build_gsasl() {
cd "${BUILD_DIR}"
KRB5_CONFIG="${TP_INSTALL_DIR}/bin/krb5-config" \
CFLAGS="-I${TP_INCLUDE_DIR} -Wno-implicit-function-declaration" \
CFLAGS="-I${TP_INCLUDE_DIR} -Wno-implicit-function-declaration -mcmodel=medium" \
../configure --prefix="${TP_INSTALL_DIR}" --with-gssapi-impl=mit --enable-shared=no --with-pic --with-libidn-prefix="${TP_INSTALL_DIR}"
make -j "${PARALLEL}"
@ -1465,7 +1490,7 @@ build_krb5() {
with_crypto_impl='--with-crypto-impl=openssl'
fi
CFLAGS="-fcommon -fPIC -I${TP_INSTALL_DIR}/include" LDFLAGS="-L${TP_INSTALL_DIR}/lib" \
CFLAGS="-fcommon -fPIC -I${TP_INSTALL_DIR}/include -mcmodel=medium" LDFLAGS="-L${TP_INSTALL_DIR}/lib" \
../configure --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static \
--without-keyutils ${with_crypto_impl:+${with_crypto_impl}}
@ -1496,7 +1521,8 @@ build_hdfs3() {
-DKERBEROS_LIBRARIES="${TP_INSTALL_DIR}/lib/libkrb5.a" \
-DGSASL_INCLUDE_DIR="${TP_INSTALL_DIR}/include" \
-DGSASL_LIBRARIES="${TP_INSTALL_DIR}/lib/libgsasl.a" \
-DCMAKE_CXX_FLAGS='-include cstdint' \
-DCMAKE_C_FLAGS="-mcmodel=medium" \
-DCMAKE_CXX_FLAGS='-include cstdint -mcmodel=medium' \
..
make CXXFLAGS="${libhdfs_cxx17}" -j "${PARALLEL}"
@ -1512,7 +1538,7 @@ build_jemalloc() {
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
cflags='-O3 -fno-omit-frame-pointer -fPIC -g'
cflags='-O3 -fno-omit-frame-pointer -fPIC -g -mcmodel=medium'
# Build jemalloc --with-lg-page=16 in order to make the wheel work on both 4k and 64k page arm64 systems.
# Jemalloc compiled on a system with page size 4K can only run on a system with the same page size 4K.
# If it is run on a system with page size > 4K, an error `unsupported system page size`.
@ -1525,7 +1551,7 @@ build_jemalloc() {
WITH_LG_PAGE=''
fi
CFLAGS="${cflags}" ../configure --prefix="${TP_INSTALL_DIR}" --with-install-suffix="_doris" "${WITH_LG_PAGE}" \
CFLAGS="${cflags} -mcmodel=medium" ../configure --prefix="${TP_INSTALL_DIR}" --with-install-suffix="_doris" "${WITH_LG_PAGE}" \
--with-jemalloc-prefix=je --enable-prof --disable-cxx --disable-libdl --disable-shared
make -j "${PARALLEL}"
@ -1592,7 +1618,7 @@ build_simdjson() {
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
CXXFLAGS="-O3" CFLAGS="-O3" \
CXXFLAGS="-O3 -mcmodel=medium" CFLAGS="-O3 -mcmodel=medium" \
"${CMAKE_CMD}" -DSIMDJSON_EXCEPTIONS=OFF \
-DSIMDJSON_DEVELOPER_MODE=OFF -DSIMDJSON_BUILD_STATIC=ON \
-DSIMDJSON_JUST_LIBRARY=ON -DSIMDJSON_ENABLE_THREADS=ON ..
@ -1682,6 +1708,7 @@ build_hadoop_libs() {
check_if_source_exist "${HADOOP_LIBS_SOURCE}"
cd "${TP_SOURCE_DIR}/${HADOOP_LIBS_SOURCE}"
echo "THIRDPARTY_INSTALLED=${TP_INSTALL_DIR}" >env.sh
export MAVEN_OPTS="-Dos.detected.arch=loongarch64"
./build.sh
rm -rf "${TP_INSTALL_DIR}/include/hadoop_hdfs/"
@ -1762,8 +1789,8 @@ build_ali_sdk() {
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CXXFLAGS="-I${TP_INCLUDE_DIR}" \
CPPFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
CXXFLAGS="-I${TP_INCLUDE_DIR} -mcmodel=medium" \
LDFLAGS="-L${TP_LIB_DIR}" \
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_PRODUCT=core -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
-DTP_INSTALL_DIR="${TP_INSTALL_DIR}" ..
@ -1799,7 +1826,10 @@ build_icu() {
rm -rf "${BUILD_DIR}"
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
cp -rf ${TP_PATCH_DIR}/config.guess ${TP_PATCH_DIR}/patches/config.sub ${TP_SOURCE_DIR}/${ICU_SOURCE}/icu4c/source
CFLAGS="${CFLAGS} -mcmodel=medium" \
CPPFLAGS="${CPPFLAGS} -mcmodel=medium" \
../configure --prefix="${TP_INSTALL_DIR}" \
--enable-static \
--disable-shared \

View File

@ -360,6 +360,15 @@ if [[ "${HYPERSCAN_SOURCE}" == "vectorscan-vectorscan-5.4.11" ]]; then
fi
cd -
fi
cd "${TP_SOURCE_DIR}/${HYPERSCAN_SOURCE}"
if [[ ! -f "${PATCHED_MARK}" ]]; then
patch -p1 <"${TP_PATCH_DIR}/add-loongarch64-support-hyperscan-5.4.2.patch"
patch -p1 <"${TP_PATCH_DIR}/add-the-parameter-mlsx.patch"
touch "${PATCHED_MARK}"
fi
cd -
echo "Finished patching ${HYPERSCAN_SOURCE}"
cd "${TP_SOURCE_DIR}/${AWS_SDK_SOURCE}"
@ -471,5 +480,15 @@ if [[ " ${TP_ARCHIVES[*]} " =~ " THRIFT " ]]; then
echo "Finished patching ${THRIFT_SOURCE}"
fi
# patch hdfs3
if [[ "${HDFS3_SOURCE}" = "doris-thirdparty-libhdfs3-v2.3.9" ]]; then
cd "${TP_SOURCE_DIR}/${HDFS3_SOURCE}"
if [[ ! -f "${PATCHED_MARK}" ]]; then
patch -p1 <"${TP_PATCH_DIR}/libhdfs3-add-loongarch-support.patch"
touch "${PATCHED_MARK}"
fi
cd -
fi
echo "Finished patching ${HDFS3_SOURCE}"
# vim: ts=4 sw=4 ts=4 tw=100:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,28 @@
From 60308fe6711842de16742bee5e602c4a3454f461 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Thu, 3 Aug 2023 09:32:46 +0800
Subject: [PATCH] add the parameter -mlsx
Change-Id: I3f11b0d38e71357b589ae9ae0c5b3791a00bf0ec
---
CMakeLists.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4289817..d8f5279 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -259,6 +259,10 @@ else()
set(ARCH_CXX_FLAGS "-march=native -mtune=${TUNE_FLAG}")
endif()
+ if (ARCH_LOONGARCH64)
+ set(ARCH_CXX_FLAGS "-mlsx")
+ endif()
+
if(CMAKE_COMPILER_IS_GNUCC)
# spurious warnings?
set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-array-bounds -Wno-maybe-uninitialized")
--
2.27.0

1815
thirdparty/patches/config.guess vendored Normal file

File diff suppressed because it is too large Load Diff

2354
thirdparty/patches/config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,61 @@
From 596eb924f95a6e28abbbdbb9b9c212a0ed418250 Mon Sep 17 00:00:00 2001
From: huchangqi <huchangqi@loongson.cn>
Date: Mon, 19 May 2025 15:42:30 +0800
Subject: [PATCH] libhdfs3 add loongarch support
---
src/common/HWCrc32c.cpp | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/src/common/HWCrc32c.cpp b/src/common/HWCrc32c.cpp
index f61b4b6e10f..62dbb421fe8 100644
--- a/src/common/HWCrc32c.cpp
+++ b/src/common/HWCrc32c.cpp
@@ -66,6 +66,35 @@ static inline uint32_t _mm_crc32_u8(uint32_t crc, uint8_t value) {
#endif
#elif ((defined(__arm__) || defined(__aarch64__)))
#include "sse2neon.h"
+#elif defined(__loongarch_lp64)
+#include <larchintrin.h>
+
+namespace Hdfs {
+namespace Internal {
+
+static inline uint64_t _mm_crc32_u64(uint64_t crc, uint64_t value) {
+ crc = __crc_w_d_w(value, crc);
+ return crc;
+}
+
+static inline uint32_t _mm_crc32_u32(uint32_t crc, uint64_t value) {
+ crc = __crc_w_w_w(value, crc);
+ return crc;
+}
+
+static inline uint32_t _mm_crc32_u16(uint32_t crc, uint16_t value) {
+ crc = __crc_w_h_w(value, crc);
+ return crc;
+}
+
+static inline uint32_t _mm_crc32_u8(uint32_t crc, uint8_t value) {
+ crc = __crc_w_b_w(value, crc);
+ return crc;
+}
+
+}
+}
+
#endif
namespace Hdfs {
@@ -82,6 +111,8 @@ bool HWCrc32c::available() {
return (ecx & (1 << 20)) != 0;
#elif ((defined(__arm__) || defined(__aarch64__)))
return true;
+#elif defined(__loongarch_lp64)
+ return true;
#else
return false;
#endif
--
2.46.0

11
thirdparty/vars.sh vendored
View File

@ -198,10 +198,10 @@ LEVELDB_SOURCE=leveldb-1.23
LEVELDB_MD5SUM="afbde776fb8760312009963f09a586c7"
# brpc
BRPC_DOWNLOAD="https://github.com/apache/brpc/archive/refs/tags/1.4.0.tar.gz"
BRPC_NAME="brpc-1.4.0.tar.gz"
BRPC_SOURCE="brpc-1.4.0"
BRPC_MD5SUM="6af9d50822c33a3abc56a1ec0af0e0bc"
BRPC_DOWNLOAD="https://github.com/apache/brpc/archive/refs/tags/1.12.1.tar.gz"
BRPC_NAME="brpc-1.12.1.tar.gz"
BRPC_SOURCE="brpc-1.12.1"
BRPC_MD5SUM="8bc704bafadc3752edb61eb531fd951c"
# rocksdb
ROCKSDB_DOWNLOAD="https://github.com/facebook/rocksdb/archive/v5.14.2.tar.gz"
@ -315,10 +315,11 @@ JEMALLOC_DORIS_SOURCE="jemalloc-5.3.0"
JEMALLOC_DORIS_MD5SUM="09a8328574dab22a7df848eae6dbbf53"
# libunwind
# libunwind need use loongarch version
LIBUNWIND_DOWNLOAD="https://github.com/libunwind/libunwind/releases/download/v1.6.2/libunwind-1.6.2.tar.gz"
LIBUNWIND_NAME="libunwind-1.6.2.tar.gz"
LIBUNWIND_SOURCE="libunwind-1.6.2"
LIBUNWIND_MD5SUM="f625b6a98ac1976116c71708a73dc44a"
LIBUNWIND_MD5SUM="dfa959c84479e4a10da44c7eda3b83ff"
# cctz
CCTZ_DOWNLOAD="https://github.com/google/cctz/archive/v2.3.tar.gz"