diff options
Diffstat (limited to 'meta/recipes-devtools/rust/rust-cross-canadian.inc')
-rw-r--r-- | meta/recipes-devtools/rust/rust-cross-canadian.inc | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc b/meta/recipes-devtools/rust/rust-cross-canadian.inc index f59fee7cdd..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,11 +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}" | 16 | S = "${UNPACKDIR}" |
16 | 17 | ||
17 | # Need to use our SDK's sh here, see #14878 | 18 | # Need to use our SDK's sh here, see #14878 |
18 | create_sdk_wrapper () { | 19 | create_sdk_wrapper () { |
@@ -52,39 +53,17 @@ do_install () { | |||
52 | 53 | ||
53 | ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d | 54 | ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d |
54 | mkdir "${ENV_SETUP_DIR}" | 55 | mkdir "${ENV_SETUP_DIR}" |
55 | RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh" | 56 | RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/${RUST_TARGET_SYS}_rust.sh" |
56 | 57 | ||
57 | 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'` |
58 | RUST_HOST_TRIPLE=`echo ${RUST_HOST_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'` | ||
59 | 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)} | ||
60 | 59 | ||
61 | cat <<- EOF > "${RUST_ENV_SETUP_SH}" | 60 | cat <<- EOF > "${RUST_ENV_SETUP_SH}" |
62 | 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" |
63 | export CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}" | ||
64 | 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" |
65 | EOF | 63 | EOF |
66 | 64 | ||
67 | chown -R root.root ${D} | 65 | chown -R root.root ${D} |
68 | 66 | ||
69 | CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh" | ||
70 | cat <<- EOF > "${CARGO_ENV_SETUP_SH}" | ||
71 | export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo" | ||
72 | mkdir -p "\$CARGO_HOME" | ||
73 | # Init the default target once, it might be otherwise user modified. | ||
74 | if [ ! -f "\$CARGO_HOME/config" ]; then | ||
75 | touch "\$CARGO_HOME/config" | ||
76 | echo "[build]" >> "\$CARGO_HOME/config" | ||
77 | echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config" | ||
78 | echo '# TARGET_SYS' >> "\$CARGO_HOME/config" | ||
79 | echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config" | ||
80 | echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config" | ||
81 | fi | ||
82 | |||
83 | # Keep the below off as long as HTTP/2 is disabled. | ||
84 | export CARGO_HTTP_MULTIPLEXING=false | ||
85 | |||
86 | export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt" | ||
87 | EOF | ||
88 | } | 67 | } |
89 | 68 | ||
90 | FILES:${PN} += "${base_prefix}/environment-setup.d" | 69 | FILES:${PN} += "${base_prefix}/environment-setup.d" |