jenkinsfile: set linker for rust
This commit is contained in:
1 parent
904bc20b2b
commit
e6ece9493d
1 file changed
+9
-1
Vendored
+9
-1
@@ -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,7 +82,9 @@ pipeline {
|
|||||||
|
|
||||||
stage('Build') {
|
stage('Build') {
|
||||||
steps {
|
steps {
|
||||||
sh "cargo build --release --target ${TARGET}"
|
withEnv(["${LINKER_ENV_KEY}=${CC}"]) {
|
||||||
|
sh "cargo build --release --target ${TARGET}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user