@@ -8,16 +8,17 @@ stages:
88 - public_deploy
99 - update_idf_tools
1010
11- image : ${CI_DOCKER_REGISTRY}/llvm-build:5
11+ image : ${CI_DOCKER_REGISTRY}/llvm-build:6
1212
1313default :
1414 interruptible : true
1515
1616variables :
17- ESP_LLVM_EMBEDDED_TOOLCHAIN_REF : " esp-20.1.1_20250829 "
17+ ESP_LLVM_EMBEDDED_TOOLCHAIN_REF : " esp_dev_on_llvm19 "
1818 ESP_GNU_TOOLCHAIN_VER : " 14.2.0_20241119"
1919 CROSS_ARM_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-arm:2
2020 CROSS_WIN_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-win:3
21+ CROSS_MACOS_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-macos:1
2122 DIST_DIR : " dist"
2223 BUILD_DIR : " build"
2324 GITLAB_SERVER_URL : https://gitlab-ci-token:${CI_JOB_TOKEN}@${GITLAB_HTTPS_SERVER}
@@ -59,7 +60,7 @@ before_script:
5960 BUILD_TARGET_LIBS : " OFF"
6061 RUN_CORE_TESTS : " OFF"
6162 RUN_PKG_TESTS : " OFF"
62- RUN_TARGET_LIB_TESTS : " OFF"
63+ RUN_TOOLCHAIN_TESTS : " OFF"
6364 PACK_TOOLCHAIN : " ON"
6465 PACK_STANDALONE_LIBS : " ON"
6566 PACK_TARGET_LIBS : " OFF"
@@ -113,15 +114,16 @@ before_script:
113114 -DBINUTILS_REPO_URL="${GITLAB_SERVER_URL}/${BINUTILS_REPO_PATH}.git"
114115 -DXTENSA_OVERLAYS_REPO_URL="${GITLAB_SERVER_URL}/${XTENSA_OVERLAYS_REPO_PATH}.git"
115116 -DFETCHCONTENT_QUIET=OFF
116- -DESP_GNU_TOOLCHAIN_VER =${ESP_GNU_TOOLCHAIN_VER}
117+ -DLLVM_TOOLCHAIN_ESP_GNU_TOOLCHAIN_VER =${ESP_GNU_TOOLCHAIN_VER}
117118 -DLLVM_TOOLCHAIN_CROSS_BUILD_MINGW=${CROSS_BUILD_MINGW}
118- -DUSE_LIBC =${USE_LIBC}
119- -DUSE_LIBCXX =${USE_LIBCXX}
120- -DUSE_RTLIB =${USE_RTLIB}
121- -DUSE_BINUTILS =ON
122- -DESP_TOOLCHAIN =ON
123- -DHOST_TRIPLE =${CONF_HOST}
119+ -DLLVM_TOOLCHAIN_C_LIBRARY =${USE_LIBC}
120+ -DLLVM_TOOLCHAIN_CXX_LIBRARIES =${USE_LIBCXX}
121+ -DLLVM_TOOLCHAIN_RT_LIBRARIES =${USE_RTLIB}
122+ -DLLVM_TOOLCHAIN_INCLUDE_GNU_BINUTILS =ON
123+ -DLLVM_TOOLCHAIN_ESPRESSIF =ON
124+ -DLLVM_TOOLCHAIN_HOST_TRIPLE =${CONF_HOST}
124125 -DLLVM_TOOLCHAIN_ENABLED_TARGETS="${TARGET}"
126+ -DLLVM_TOOLCHAIN_PACKAGE_NAME="esp-clang"
125127 -DLLVM_USE_LINKER=${USE_LINKER}
126128 -DLLVM_PARALLEL_LINK_JOBS=${ESP_LLVM_PARALLEL_LINK_JOBS}
127129 -DLLVM_PARALLEL_COMPILE_JOBS=${ESP_LLVM_PARALLEL_COMPILE_JOBS}
@@ -137,6 +139,8 @@ before_script:
137139 useradd -m test_runner;
138140 chown -R test_runner ${BUILD_PATH};
139141 runuser -u test_runner -- git config --global --add safe.directory $CI_PROJECT_DIR;
142+ chown -R test_runner $PWD/esp-llvm-embedded-toolchain;
143+ runuser -u test_runner -- git config --global --add safe.directory $PWD/esp-llvm-embedded-toolchain;
140144 if [[ "${RUN_CORE_TESTS}" == "ON" ]]; then
141145 echo "Run LLVM/Clang unit tests";
142146 touch ${BUILD_PATH}/tests.log;
@@ -147,22 +151,20 @@ before_script:
147151 chmod o+w ${BUILD_PATH}/lld-tests.log;
148152 runuser -u test_runner -- ninja -C ${BUILD_PATH} check-lld 2>&1 > ${BUILD_PATH}/lld-tests.log;
149153 fi
150- if [[ "${RUN_TARGET_LIB_TESTS }" == "ON" ]]; then
151- echo "Run Compiler-RT unit tests";
152- touch ${BUILD_PATH}/compiler-rt -tests.log;
153- chmod o+w ${BUILD_PATH}/compiler-rt -tests.log;
154- runuser -u test_runner -- ninja -C ${BUILD_PATH} check-compiler-rt 2>&1 > ${BUILD_PATH}/compiler-rt -tests.log;
154+ if [[ "${RUN_TOOLCHAIN_TESTS }" == "ON" ]]; then
155+ echo "Run toolchain unit tests";
156+ touch ${BUILD_PATH}/toolchain -tests.log;
157+ chmod o+w ${BUILD_PATH}/toolchain -tests.log;
158+ runuser -u test_runner -- ninja -C ${BUILD_PATH} check-llvm-toolchain 2>&1 > ${BUILD_PATH}/toolchain -tests.log;
155159 fi
156160 if [[ "${RUN_PKG_TESTS}" == "ON" ]]; then
157- echo "Run package tests";
161+ echo "Run toolchain package tests";
158162 # to avoid test failure "fatal: detected dubious ownership in repository at '/builds/llvm-project'"
159163 touch ${BUILD_PATH}/pkg-tests.log;
160164 chmod o+w ${BUILD_PATH}/pkg-tests.log;
161- chown -R test_runner $PWD/esp-llvm-embedded-toolchain;
162- runuser -u test_runner -- git config --global --add safe.directory $PWD/esp-llvm-embedded-toolchain;
163165 runuser -u test_runner -- ninja -C ${BUILD_PATH} check-package-llvm-toolchain 2>&1 > ${BUILD_PATH}/pkg-tests.log;
164- chown -R ${CUR_USER} $PWD/esp-llvm-embedded-toolchain;
165166 fi
167+ chown -R ${CUR_USER} $PWD/esp-llvm-embedded-toolchain;
166168 chown -R ${CUR_USER} ${BUILD_PATH};
167169 fi
168170 # pack distro
@@ -277,18 +279,18 @@ build_x86_64-linux-gnu:
277279 CONF_HOST : " x86_64-linux-gnu"
278280 # Build complete distro it is necessary for running package tests
279281 BUILD_TARGET_LIBS : " ON"
282+ RUN_TOOLCHAIN_TESTS : " ON"
280283 RUN_PKG_TESTS : " ON"
281284
282285# Target libs are built in build_x86_64-linux-gnu, but due to artifacts
283- # size limit we have to produce target libs archive in this job.
286+ # size limit we have to produce target libs archive in this job too .
284287# Archive with target libs from this job will be used in pack jobs
285288# for all platform except for x86_64-linux-gnu.
286289build_target_libs :
287290 extends : .build_linux-gnu_template
288291 stage : build
289292 variables :
290293 CONF_HOST : " x86_64-linux-gnu"
291- RUN_TARGET_LIB_TESTS : " ON"
292294 PACK_TARGET_LIBS : " ON"
293295 PACK_TOOLCHAIN : " OFF"
294296 PACK_STANDALONE_LIBS : " OFF"
@@ -319,12 +321,14 @@ build_aarch64-linux-gnu:
319321build_x86_64-apple-darwin :
320322 extends : .build_toolchain_template
321323 stage : build
324+ image : ${CROSS_MACOS_IMAGE}
322325 variables :
323326 CONF_HOST : " x86_64-apple-darwin21.1"
324327
325328build_aarch64-apple-darwin :
326329 extends : .build_toolchain_template
327330 stage : build
331+ image : ${CROSS_MACOS_IMAGE}
328332 variables :
329333 CONF_HOST : " aarch64-apple-darwin21.1"
330334
@@ -351,7 +355,6 @@ build_aarch64-apple-darwin:
351355 PACK_TOOL : " tar cJf"
352356 UNPACK_TOOL : " tar xJf"
353357 script :
354- - *get_toolchain_build_scripts
355358 # update distro
356359 - *unpack_distro
357360 - TARGET_LIBS_PACK_FILE=$(cat target_libs_arch_name)
0 commit comments