inherit rust
inherit cargo_common
-DEPENDS += "llvm"
+DEPENDS += "llvm lld"
# native rust uses cargo/rustc from binary snapshots to bootstrap
# but everything else should use our native builds
DEPENDS:append:class-target = " cargo-native rust-native"
config.set("rust", "rpath", e(True))
config.set("rust", "remap-debuginfo", e(True))
config.set("rust", "download-rustc", e(False))
- config.set("rust", "llvm-tools", e(False))
- config.set("rust", "lld", e(False))
- config.set("rust", "use-lld", e(False))
+ config.set("rust", "llvm-tools", e(True))
config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}")))
# Whether or not to optimize the compiler and standard library
unset CXXFLAGS
unset CPPFLAGS
- export RUSTFLAGS="${RUST_DEBUG_REMAP} -Clink-arg=-lz -Clink-arg=-lzstd"
+ export RUSTFLAGS="${RUST_DEBUG_REMAP} -Clink-arg=-lz -Clink-arg=-lzstd -C link-arg=-fuse-ld=lld"
# Copy the natively built llvm-config into the target so we can run it. Horrible,
# but works!
mkdir -p `dirname ${RUST_ALTERNATE_EXE_PATH}`
cp ${RUST_ALTERNATE_EXE_PATH_NATIVE} ${RUST_ALTERNATE_EXE_PATH}
patchelf --remove-rpath ${RUST_ALTERNATE_EXE_PATH}
+ cp -rf ${STAGING_BINDIR_NATIVE}/* ${STAGING_BINDIR}
fi
oe_cargo_fix_env
rm ${D}${libdir}/rustlib/install.log
rm ${D}${libdir}/rustlib/manifest*
rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/lib/libstd*.so
+ rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/bin/rust-objcopy
ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
mkdir "${ENV_SETUP_DIR}"
rm ${D}${libdir}/rustlib/install.log
rm ${D}${libdir}/rustlib/manifest*
rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/lib/libstd*.so
+ rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/bin/rust-objcopy
}
addtask do_update_snapshot after do_patch