diff options
Diffstat (limited to 'meta/recipes-devtools/rust/rust-cross-canadian.inc')
-rw-r--r-- | meta/recipes-devtools/rust/rust-cross-canadian.inc | 30 |
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 @@ | |||
1 | SUMMARY = "Rust compiler and runtime libaries (cross-canadian for ${TARGET_ARCH} target)" | 1 | SUMMARY = "Rust compiler and runtime libaries (cross-canadian for ${TARGET_ARCH} target)" |
2 | PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}" | 2 | PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}" |
3 | CVE_PRODUCT = "rust" | ||
3 | 4 | ||
4 | inherit rust-target-config | 5 | inherit rust-target-config |
5 | inherit rust-common | 6 | inherit rust-common |
@@ -8,12 +9,11 @@ LICENSE = "MIT" | |||
8 | 9 | ||
9 | MODIFYTOS = "0" | 10 | MODIFYTOS = "0" |
10 | 11 | ||
11 | DEPENDS += "virtual/${SDK_PREFIX}gcc virtual/nativesdk-libc virtual/nativesdk-${SDK_PREFIX}compilerlibs" | 12 | DEPENDS += "virtual/nativesdk-cross-cc virtual/nativesdk-libc virtual/nativesdk-compilerlibs" |
12 | 13 | ||
13 | SRC_URI += "file://target-rust-ccld.c" | 14 | SRC_URI += "file://target-rust-ccld.c" |
14 | LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" | 15 | LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" |
15 | S = "${WORKDIR}/sources" | 16 | S = "${UNPACKDIR}" |
16 | UNPACKDIR = "${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 |
19 | create_sdk_wrapper () { | 19 | create_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 | ||
91 | FILES:${PN} += "${base_prefix}/environment-setup.d" | 69 | FILES:${PN} += "${base_prefix}/environment-setup.d" |