This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git

commit f9ee3ff35957876ae4e27bc7f04ed88130a74507
Author: HappenLee <happen...@hotmail.com>
AuthorDate: Wed Mar 6 17:50:14 2024 +0800

    [thirdparty](lib) Add base64 thirdparty lib (#31850)
---
 thirdparty/build-thirdparty.sh | 62 ++++++++++++++++++++++++++++++++++++++++++
 thirdparty/vars.sh             | 28 +++++++++++++++++++
 2 files changed, 90 insertions(+)

diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh
index 61ff2a2a657..ad8dbc28e93 100755
--- a/thirdparty/build-thirdparty.sh
+++ b/thirdparty/build-thirdparty.sh
@@ -1733,6 +1733,66 @@ build_streamvbyte() {
     "${BUILD_SYSTEM}" install
 }
 
+# jsoncpp
+build_jsoncpp() {
+    check_if_source_exist "${JSONCPP_SOURCE}"
+    cd "${TP_SOURCE_DIR}/${JSONCPP_SOURCE}"
+    rm -rf "${BUILD_DIR}"
+    mkdir -p "${BUILD_DIR}"
+    cd "${BUILD_DIR}"
+    "${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_STATIC_LIBS=ON 
-DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release 
-DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" ..
+    "${BUILD_SYSTEM}" -j "${PARALLEL}"
+    "${BUILD_SYSTEM}" install
+}
+
+# libuuid
+build_libuuid() {
+    check_if_source_exist "${LIBUUID_SOURCE}"
+    cd "${TP_SOURCE_DIR}/${LIBUUID_SOURCE}"
+    CC=gcc ./configure --prefix="${TP_INSTALL_DIR}" --disable-shared 
--enable-static
+    make -j "${PARALLEL}"
+    make install
+}
+
+# ali_sdk
+build_ali_sdk() {
+    build_jsoncpp
+    build_libuuid
+    check_if_source_exist "${ALI_SDK_SOURCE}"
+    cd "${TP_SOURCE_DIR}/${ALI_SDK_SOURCE}"
+    rm -rf "${BUILD_DIR}"
+    mkdir -p "${BUILD_DIR}"
+    cd "${BUILD_DIR}"
+
+    CPPFLAGS="-I${TP_INCLUDE_DIR}" \
+        CXXFLAGS="-I${TP_INCLUDE_DIR}" \
+        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}" ..
+    "${BUILD_SYSTEM}" -j "${PARALLEL}"
+    "${BUILD_SYSTEM}" install
+}
+
+# base64
+build_base64() {
+    check_if_source_exist "${BASE64_SOURCE}"
+    cd "${TP_SOURCE_DIR}/${BASE64_SOURCE}"
+
+    rm -rf "${BUILD_DIR}"
+    mkdir -p "${BUILD_DIR}"
+    cd "${BUILD_DIR}"
+
+    "${CMAKE_CMD}" -G "${GENERATOR}" 
-DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DCMAKE_BUILD_TYPE=Release ..
+    MACHINE_TYPE="$(uname -m)"
+    if [[ "${MACHINE_TYPE}" == "aarch64" || "${MACHINE_TYPE}" == 'arm64' ]]; 
then
+        CFLAGS="--target=aarch64-linux-gnu -march=armv8-a+crc" NEON64_CFLAGS=" 
"
+    else
+        AVX2_CFLAGS=-mavx2 SSSE3_CFLAGS=-mssse3 SSE41_CFLAGS=-msse4.1 
SSE42_CFLAGS=-msse4.2 AVX_CFLAGS=-mavx
+    fi
+    "${BUILD_SYSTEM}" -j "${PARALLEL}"
+    "${BUILD_SYSTEM}" install
+}
+
 if [[ "${#packages[@]}" -eq 0 ]]; then
     packages=(
         libunixodbc
@@ -1798,6 +1858,8 @@ if [[ "${#packages[@]}" -eq 0 ]]; then
         avx2neon
         libdeflate
         streamvbyte
+        ali_sdk
+        base64
     )
     if [[ "$(uname -s)" == 'Darwin' ]]; then
         read -r -a packages <<<"binutils gettext ${packages[*]}"
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 7b5b3080208..0ac70fa2e9a 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -490,6 +490,30 @@ STREAMVBYTE_NAME=streamvbyte-1.0.0.tar.gz
 STREAMVBYTE_SOURCE=streamvbyte-1.0.0
 STREAMVBYTE_MD5SUM="f334219db5a832b6dae3589a56a29563"
 
+# jsoncpp
+JSONCPP_DOWNLOAD="https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.5.tar.gz";
+JSONCPP_NAME="1.9.5.tar.gz"
+JSONCPP_SOURCE="jsoncpp-1.9.5"
+JSONCPP_MD5SUM="d6c8c609f2162eff373db62b90a051c7"
+
+# libuuid
+LIBUUID_DOWNLOAD="https://nchc.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz";
+LIBUUID_NAME="libuuid-1.0.3.tar.gz"
+LIBUUID_SOURCE="libuuid-1.0.3"
+LIBUUID_MD5SUM="d44d866d06286c08ba0846aba1086d68"
+
+# ali
+ALI_SDK_DOWNLOAD="https://github.com/aliyun/aliyun-openapi-cpp-sdk/archive/refs/tags/1.36.1586.tar.gz";
+ALI_SDK_NAME="1.36.1586.tar.gz"
+ALI_SDK_SOURCE="aliyun-openapi-cpp-sdk-1.36.1586"
+ALI_SDK_MD5SUM="14623ee8e87c89615477d9bf8cb30bea"
+
+# base64
+BASE64_DOWNLOAD="https://github.com/aklomp/base64/archive/refs/tags/v0.5.2.tar.gz";
+BASE64_NAME="v0.5.2.tar.gz"
+BASE64_SOURCE="base64-0.5.2"
+BASE64_MD5SUM="49e5a6c98bd0192aedd16c16eec39974"
+
 # all thirdparties which need to be downloaded is set in array TP_ARCHIVES
 export TP_ARCHIVES=(
     'LIBEVENT'
@@ -562,6 +586,10 @@ export TP_ARCHIVES=(
     'AVX2NEON'
     'LIBDEFLATE'
     'STREAMVBYTE'
+    'JSONCPP'
+    'LIBUUID'
+    'ALI_SDK'
+    'BASE64'
 )
 
 if [[ "$(uname -s)" == 'Darwin' ]]; then


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to