1RUST_VERSION ?= "${@d.getVar('PV').split('-')[0]}"
2
3SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;name=rust \
4            file://crossbeam_atomic.patch;patchdir=${RUSTSRC} \
5            file://hardcodepaths.patch;patchdir=${RUSTSRC} \
6            file://getrandom-open64.patch;patchdir=${RUSTSRC} \
7            file://0001-Do-not-use-LFS64-on-linux-with-musl.patch;patchdir=${RUSTSRC} \
8            file://zlib-off64_t.patch;patchdir=${RUSTSRC} \
9            file://0001-musl-Define-SOCK_SEQPACKET-in-common-place.patch;patchdir=${RUSTSRC} \
10"
11SRC_URI[rust.sha256sum] = "ce1a115f6aafa912b4622906a92b626354973afa9288e2c7750df4dcf3390fc0"
12
13RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src"
14
15# Used by crossbeam_atomic.patch
16export TARGET_VENDOR
17
18UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html"
19UPSTREAM_CHECK_REGEX = "rustc-(?P<pver>\d+(\.\d+)+)-src"
20
21# see recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
22# we need to link with ssp_nonshared on musl to avoid "undefined reference to `__stack_chk_fail_local'"
23# when building MACHINE=qemux86 for musl
24WRAPPER_TARGET_EXTRALD:libc-musl = "-lssp_nonshared"
25