jenkinsfile: set linker for rust

This commit is contained in:
Nils Andreas Svee committed 2022-11-27 16:06:37 +01:00
1 parent 904bc20b2b
commit e6ece9493d
1 file changed
+8
Vendored
+8
View File
@@ -14,6 +14,11 @@ def getGCCTarget(rust_target) {
return targetMapping[rust_target] return targetMapping[rust_target]
} }
// CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER
def getLinkerEnv(target) {
return 'CARGO_TARGET_' + target.replace('-', '_').toUpperCase() + '_LINKER'
}
pipeline { pipeline {
agent any agent any
@@ -32,6 +37,7 @@ pipeline {
GCC_TARGET = getGCCTarget(TARGET) GCC_TARGET = getGCCTarget(TARGET)
TARGET_ARCH = getArch(GCC_TARGET) TARGET_ARCH = getArch(GCC_TARGET)
CC = "${GCC_TARGET}-gcc" CC = "${GCC_TARGET}-gcc"
LINKER_ENV_KEY = getLinkerEnv(TARGET)
PATH = "${WORKSPACE}/${GCC_TARGET}-cross/bin:${env.HOME}/.cargo/bin:${env.PATH}" PATH = "${WORKSPACE}/${GCC_TARGET}-cross/bin:${env.HOME}/.cargo/bin:${env.PATH}"
TOOLCHAIN_URL = "https://musl.cc/${GCC_TARGET}-cross.tgz" TOOLCHAIN_URL = "https://musl.cc/${GCC_TARGET}-cross.tgz"
} }
@@ -76,9 +82,11 @@ pipeline {
stage('Build') { stage('Build') {
steps { steps {
withEnv(["${LINKER_ENV_KEY}=${CC}"]) {
sh "cargo build --release --target ${TARGET}" sh "cargo build --release --target ${TARGET}"
} }
} }
}
stage('Archive artifact') { stage('Archive artifact') {
steps { steps {