mirror of
https://git.yoctoproject.org/poky
synced 2026-05-07 16:59:22 +00:00
cargo-cross-canadian: Use SDK's flags during target linking
(From OE-Core rev: abb1f3f12b4a02d644414b1af0623894984bb4cd) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
6749e29082
commit
5204de3f8d
@@ -39,6 +39,18 @@ do_compile:prepend () {
|
||||
PKG_CONFIG_PATH="${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
|
||||
}
|
||||
|
||||
create_sdk_wrapper () {
|
||||
file="$1"
|
||||
shift
|
||||
|
||||
cat <<- EOF > "${file}"
|
||||
#!/bin/sh
|
||||
\$$1 \$@
|
||||
EOF
|
||||
|
||||
chmod +x "$file"
|
||||
}
|
||||
|
||||
do_install () {
|
||||
SYS_BINDIR=$(dirname ${D}${bindir})
|
||||
install -d "${SYS_BINDIR}"
|
||||
@@ -47,6 +59,9 @@ do_install () {
|
||||
chrpath -r "\$ORIGIN/../lib" ${i}
|
||||
done
|
||||
|
||||
# Uses SDK's CC as linker so linked binaries works out of box.
|
||||
create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld" "CC"
|
||||
|
||||
ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
|
||||
mkdir "${ENV_SETUP_DIR}"
|
||||
ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
|
||||
@@ -58,7 +73,10 @@ do_install () {
|
||||
touch "\$CARGO_HOME/config"
|
||||
echo "[build]" >> "\$CARGO_HOME/config"
|
||||
echo 'target = "'${TARGET_SYS}'"' >> "\$CARGO_HOME/config"
|
||||
fi
|
||||
echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
|
||||
echo '[target.'${TARGET_SYS}']' >> "\$CARGO_HOME/config"
|
||||
echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
|
||||
fi
|
||||
|
||||
# Keep the below off as long as HTTP/2 is disabled.
|
||||
export CARGO_HTTP_MULTIPLEXING=false
|
||||
|
||||
Reference in New Issue
Block a user