summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rust/rust-cross-canadian.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/rust/rust-cross-canadian.inc')
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian.inc30
1 files changed, 4 insertions, 26 deletions
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc b/meta/recipes-devtools/rust/rust-cross-canadian.inc
index f962437d6b..df8b78d326 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian.inc
+++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc
@@ -1,5 +1,6 @@
1SUMMARY = "Rust compiler and runtime libaries (cross-canadian for ${TARGET_ARCH} target)" 1SUMMARY = "Rust compiler and runtime libaries (cross-canadian for ${TARGET_ARCH} target)"
2PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}" 2PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
3CVE_PRODUCT = "rust"
3 4
4inherit rust-target-config 5inherit rust-target-config
5inherit rust-common 6inherit rust-common
@@ -8,12 +9,11 @@ LICENSE = "MIT"
8 9
9MODIFYTOS = "0" 10MODIFYTOS = "0"
10 11
11DEPENDS += "virtual/${SDK_PREFIX}gcc virtual/nativesdk-libc virtual/nativesdk-${SDK_PREFIX}compilerlibs" 12DEPENDS += "virtual/nativesdk-cross-cc virtual/nativesdk-libc virtual/nativesdk-compilerlibs"
12 13
13SRC_URI += "file://target-rust-ccld.c" 14SRC_URI += "file://target-rust-ccld.c"
14LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" 15LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7"
15S = "${WORKDIR}/sources" 16S = "${UNPACKDIR}"
16UNPACKDIR = "${S}"
17 17
18# Need to use our SDK's sh here, see #14878 18# Need to use our SDK's sh here, see #14878
19create_sdk_wrapper () { 19create_sdk_wrapper () {
@@ -53,39 +53,17 @@ do_install () {
53 53
54 ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d 54 ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
55 mkdir "${ENV_SETUP_DIR}" 55 mkdir "${ENV_SETUP_DIR}"
56 RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh" 56 RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/${RUST_TARGET_SYS}_rust.sh"
57 57
58 RUST_TARGET_TRIPLE=`echo ${RUST_TARGET_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'` 58 RUST_TARGET_TRIPLE=`echo ${RUST_TARGET_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'`
59 RUST_HOST_TRIPLE=`echo ${RUST_HOST_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'`
60 SDKLOADER=${@bb.utils.contains('SDK_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('SDK_ARCH', 'ppc64le', 'ld64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'riscv64', 'ld-linux-riscv64-lp64d.so.1', '', d)}
61 59
62 cat <<- EOF > "${RUST_ENV_SETUP_SH}" 60 cat <<- EOF > "${RUST_ENV_SETUP_SH}"
63 export CARGO_TARGET_${RUST_TARGET_TRIPLE}_RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT" 61 export CARGO_TARGET_${RUST_TARGET_TRIPLE}_RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT"
64 export CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}"
65 export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib" 62 export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
66 EOF 63 EOF
67 64
68 chown -R root.root ${D} 65 chown -R root.root ${D}
69 66
70 CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
71 cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
72 export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
73 mkdir -p "\$CARGO_HOME"
74 # Init the default target once, it might be otherwise user modified.
75 if [ ! -f "\$CARGO_HOME/config" ]; then
76 touch "\$CARGO_HOME/config"
77 echo "[build]" >> "\$CARGO_HOME/config"
78 echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config"
79 echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
80 echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config"
81 echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
82 fi
83
84 # Keep the below off as long as HTTP/2 is disabled.
85 export CARGO_HTTP_MULTIPLEXING=false
86
87 export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
88 EOF
89} 67}
90 68
91FILES:${PN} += "${base_prefix}/environment-setup.d" 69FILES:${PN} += "${base_prefix}/environment-setup.d"