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

HappenLee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 19e37ba56cd [chore](build) Add simdutf third-party dependency (#68369)
19e37ba56cd is described below

commit 19e37ba56cd44b387b6f728f09f59a742f4932c1
Author: HappenLee <[email protected]>
AuthorDate: Tue Sep 22 19:35:08 2026 +0800

    [chore](build) Add simdutf third-party dependency (#68369)
    
    Problem Summary:
    
    Add simdutf 9.2.0 as a backend third-party dependency. Register its
    source archive and checksum, build and install the static library and
    public headers, add the imported library to the backend dependency list,
    and record its Apache-2.0 license. Existing UTF-8 validation
    implementations and callers are unchanged.
    
    Existing prebuilt third-party installations need the new library before
    building BE. Refresh the third-party package or run
    `./thirdparty/build-thirdparty.sh -j 48 simdutf` in the source checkout.
    The regular third-party build includes it in the default package list.
    
    ### Release note
    
    None
    
    ### Check List (For Author)
    
    - Test
        - [ ] Regression test
        - [ ] Unit Test
        - [x] Manual test (add detailed scripts or steps below)
            - `bash -n thirdparty/vars.sh thirdparty/build-thirdparty.sh`
    - `./thirdparty/build-thirdparty.sh -j 48 simdutf` completed on Linux
    x86_64 with Clang 20.1.8, including download verification,
    static-library/header installation, and source cleanup.
    - Configured and built a standalone CMake smoke test using
    `be/cmake/thirdparty.cmake`; verified the imported archive path and
    membership in `COMMON_THIRDPARTY`, then linked and ran UTF-8 validation
    and UTF-8-to-UTF-16 conversion checks against the installed library.
    - `bash build-support/check-build-hygiene.sh` and `git diff --check`
    passed.
            - Full BE compilation and ARM execution were not run.
        - [ ] No need to test or manual test. Explain why:
    
    - Behavior changed:
        - [x] No.
        - [ ] Yes.
    
    - Does this need documentation?
        - [x] No.
        - [ ] Yes.
    
    ### Check List (For Reviewer who merge this PR)
    
    - [ ] Confirm the release note
    - [ ] Confirm test cases
    - [ ] Confirm document
    - [ ] Add branch pick label
---
 be/cmake/thirdparty.cmake      |  1 +
 dist/LICENSE-dist.txt          |  1 +
 thirdparty/build-thirdparty.sh | 22 ++++++++++++++++++++++
 thirdparty/vars.sh             |  7 +++++++
 4 files changed, 31 insertions(+)

diff --git a/be/cmake/thirdparty.cmake b/be/cmake/thirdparty.cmake
index e6785e0f1af..dcb7df7343b 100644
--- a/be/cmake/thirdparty.cmake
+++ b/be/cmake/thirdparty.cmake
@@ -165,6 +165,7 @@ endif()
 
 add_thirdparty(minizip LIB64)
 add_thirdparty(simdjson LIB64)
+add_thirdparty(simdutf LIB64)
 add_thirdparty(idn LIB64)
 add_thirdparty(xml2 LIB64)
 add_thirdparty(lzma LIB64)
diff --git a/dist/LICENSE-dist.txt b/dist/LICENSE-dist.txt
index d086d2867f5..0c74fbd9fa5 100644
--- a/dist/LICENSE-dist.txt
+++ b/dist/LICENSE-dist.txt
@@ -1481,6 +1481,7 @@ The Apache Software License, Version 2.0
     * aws sdk: 1.9.211
     * benchmark: 1.8.0
     * simdjson: 3.0.1
+    * simdutf: 9.2.0
     * libhdfs3: 2.3.8
     * opentelemetry-proto: 0.18.0
     * opentelemetry-cpp: 1.4.0
diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh
index 8d31bedf68b..e878f5398a9 100755
--- a/thirdparty/build-thirdparty.sh
+++ b/thirdparty/build-thirdparty.sh
@@ -1887,6 +1887,26 @@ build_simdjson() {
     cp -r "${TP_SOURCE_DIR}/${SIMDJSON_SOURCE}/include"/* "${TP_INCLUDE_DIR}/"
 }
 
+# simdutf
+build_simdutf() {
+    check_if_source_exist "${SIMDUTF_SOURCE}"
+    cd "${TP_SOURCE_DIR}/${SIMDUTF_SOURCE}"
+
+    "${CMAKE_CMD}" -G "${GENERATOR}" -S . -B "${BUILD_DIR}" \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
+        -DCMAKE_INSTALL_LIBDIR=lib64 \
+        -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+        -DBUILD_SHARED_LIBS=OFF \
+        -DSIMDUTF_CXX_STANDARD="${TP_CXX_STANDARD}" \
+        -DSIMDUTF_TESTS=OFF \
+        -DSIMDUTF_TOOLS=OFF \
+        -DSIMDUTF_BENCHMARKS=OFF
+
+    "${CMAKE_CMD}" --build "${BUILD_DIR}" --target simdutf -j "${PARALLEL}"
+    "${CMAKE_CMD}" --install "${BUILD_DIR}"
+}
+
 # nlohmann_json
 build_nlohmann_json() {
     check_if_source_exist "${NLOHMANN_JSON_SOURCE}"
@@ -2488,6 +2508,7 @@ if [[ "${#packages[@]}" -eq 0 ]]; then
         hdfs3
         benchmark
         simdjson
+        simdutf
         nlohmann_json
         google_cloud_cpp
         libbacktrace
@@ -2583,6 +2604,7 @@ cleanup_package_source() {
         libunwind)       src_var="LIBUNWIND_SOURCE" ;;
         benchmark)       src_var="BENCHMARK_SOURCE" ;;
         simdjson)        src_var="SIMDJSON_SOURCE" ;;
+        simdutf)         src_var="SIMDUTF_SOURCE" ;;
         nlohmann_json)   src_var="NLOHMANN_JSON_SOURCE" ;;
         google_cloud_cpp) src_var="GOOGLE_CLOUD_CPP_SOURCE" ;;
         libbacktrace)    src_var="LIBBACKTRACE_SOURCE" ;;
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 81fc179acdf..348d638c85d 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -475,6 +475,12 @@ SIMDJSON_NAME=simdjson-3.11.6.tar.gz
 SIMDJSON_SOURCE=simdjson-3.11.6
 SIMDJSON_MD5SUM="e7d9c814a4fdd6e47119ce5cf4240f4e"
 
+# simdutf
+SIMDUTF_DOWNLOAD="https://github.com/simdutf/simdutf/archive/refs/tags/v9.2.0.tar.gz";
+SIMDUTF_NAME=simdutf-9.2.0.tar.gz
+SIMDUTF_SOURCE=simdutf-9.2.0
+SIMDUTF_MD5SUM="abeae9267c1c1caf183b8d24a39c0147"
+
 # nlohmann_json
 
NLOHMANN_JSON_DOWNLOAD="https://github.com/nlohmann/json/archive/refs/tags/v3.10.1.tar.gz";
 NLOHMANN_JSON_NAME=json-3.10.1.tar.gz
@@ -681,6 +687,7 @@ export TP_ARCHIVES=(
     'BENCHMARK'
     'XSIMD'
     'SIMDJSON'
+    'SIMDUTF'
     'NLOHMANN_JSON'
     'GOOGLE_CLOUD_CPP'
     'LIBBACKTRACE'


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to