@@ -8,16 +8,17 @@ stages:
8
8
- public_deploy
9
9
- update_idf_tools
10
10
11
- image : ${CI_DOCKER_REGISTRY}/llvm-build:5
11
+ image : ${CI_DOCKER_REGISTRY}/llvm-build:6
12
12
13
13
default :
14
14
interruptible : true
15
15
16
16
variables :
17
- ESP_LLVM_EMBEDDED_TOOLCHAIN_REF : " esp-20.1.1_20250829 "
17
+ ESP_LLVM_EMBEDDED_TOOLCHAIN_REF : " esp_dev_on_llvm19 "
18
18
ESP_GNU_TOOLCHAIN_VER : " 14.2.0_20241119"
19
19
CROSS_ARM_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-arm:2
20
20
CROSS_WIN_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-win:3
21
+ CROSS_MACOS_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-macos:1
21
22
DIST_DIR : " dist"
22
23
BUILD_DIR : " build"
23
24
GITLAB_SERVER_URL : https://gitlab-ci-token:${CI_JOB_TOKEN}@${GITLAB_HTTPS_SERVER}
@@ -59,7 +60,7 @@ before_script:
59
60
BUILD_TARGET_LIBS : " OFF"
60
61
RUN_CORE_TESTS : " OFF"
61
62
RUN_PKG_TESTS : " OFF"
62
- RUN_TARGET_LIB_TESTS : " OFF"
63
+ RUN_TOOLCHAIN_TESTS : " OFF"
63
64
PACK_TOOLCHAIN : " ON"
64
65
PACK_STANDALONE_LIBS : " ON"
65
66
PACK_TARGET_LIBS : " OFF"
@@ -113,15 +114,16 @@ before_script:
113
114
-DBINUTILS_REPO_URL="${GITLAB_SERVER_URL}/${BINUTILS_REPO_PATH}.git"
114
115
-DXTENSA_OVERLAYS_REPO_URL="${GITLAB_SERVER_URL}/${XTENSA_OVERLAYS_REPO_PATH}.git"
115
116
-DFETCHCONTENT_QUIET=OFF
116
- -DESP_GNU_TOOLCHAIN_VER =${ESP_GNU_TOOLCHAIN_VER}
117
+ -DLLVM_TOOLCHAIN_ESP_GNU_TOOLCHAIN_VER =${ESP_GNU_TOOLCHAIN_VER}
117
118
-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}
124
125
-DLLVM_TOOLCHAIN_ENABLED_TARGETS="${TARGET}"
126
+ -DLLVM_TOOLCHAIN_PACKAGE_NAME="esp-clang"
125
127
-DLLVM_USE_LINKER=${USE_LINKER}
126
128
-DLLVM_PARALLEL_LINK_JOBS=${ESP_LLVM_PARALLEL_LINK_JOBS}
127
129
-DLLVM_PARALLEL_COMPILE_JOBS=${ESP_LLVM_PARALLEL_COMPILE_JOBS}
@@ -137,6 +139,8 @@ before_script:
137
139
useradd -m test_runner;
138
140
chown -R test_runner ${BUILD_PATH};
139
141
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;
140
144
if [[ "${RUN_CORE_TESTS}" == "ON" ]]; then
141
145
echo "Run LLVM/Clang unit tests";
142
146
touch ${BUILD_PATH}/tests.log;
@@ -147,22 +151,20 @@ before_script:
147
151
chmod o+w ${BUILD_PATH}/lld-tests.log;
148
152
runuser -u test_runner -- ninja -C ${BUILD_PATH} check-lld 2>&1 > ${BUILD_PATH}/lld-tests.log;
149
153
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;
155
159
fi
156
160
if [[ "${RUN_PKG_TESTS}" == "ON" ]]; then
157
- echo "Run package tests";
161
+ echo "Run toolchain package tests";
158
162
# to avoid test failure "fatal: detected dubious ownership in repository at '/builds/llvm-project'"
159
163
touch ${BUILD_PATH}/pkg-tests.log;
160
164
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;
163
165
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;
165
166
fi
167
+ chown -R ${CUR_USER} $PWD/esp-llvm-embedded-toolchain;
166
168
chown -R ${CUR_USER} ${BUILD_PATH};
167
169
fi
168
170
# pack distro
@@ -277,18 +279,18 @@ build_x86_64-linux-gnu:
277
279
CONF_HOST : " x86_64-linux-gnu"
278
280
# Build complete distro it is necessary for running package tests
279
281
BUILD_TARGET_LIBS : " ON"
282
+ RUN_TOOLCHAIN_TESTS : " ON"
280
283
RUN_PKG_TESTS : " ON"
281
284
282
285
# 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 .
284
287
# Archive with target libs from this job will be used in pack jobs
285
288
# for all platform except for x86_64-linux-gnu.
286
289
build_target_libs :
287
290
extends : .build_linux-gnu_template
288
291
stage : build
289
292
variables :
290
293
CONF_HOST : " x86_64-linux-gnu"
291
- RUN_TARGET_LIB_TESTS : " ON"
292
294
PACK_TARGET_LIBS : " ON"
293
295
PACK_TOOLCHAIN : " OFF"
294
296
PACK_STANDALONE_LIBS : " OFF"
@@ -319,12 +321,14 @@ build_aarch64-linux-gnu:
319
321
build_x86_64-apple-darwin :
320
322
extends : .build_toolchain_template
321
323
stage : build
324
+ image : ${CROSS_MACOS_IMAGE}
322
325
variables :
323
326
CONF_HOST : " x86_64-apple-darwin21.1"
324
327
325
328
build_aarch64-apple-darwin :
326
329
extends : .build_toolchain_template
327
330
stage : build
331
+ image : ${CROSS_MACOS_IMAGE}
328
332
variables :
329
333
CONF_HOST : " aarch64-apple-darwin21.1"
330
334
@@ -351,7 +355,6 @@ build_aarch64-apple-darwin:
351
355
PACK_TOOL : " tar cJf"
352
356
UNPACK_TOOL : " tar xJf"
353
357
script :
354
- - *get_toolchain_build_scripts
355
358
# update distro
356
359
- *unpack_distro
357
360
- TARGET_LIBS_PACK_FILE=$(cat target_libs_arch_name)
0 commit comments