1*4882a593SmuzhiyunSUMMARY = "Rust standard libaries" 2*4882a593SmuzhiyunHOMEPAGE = "http://www.rust-lang.org" 3*4882a593SmuzhiyunSECTION = "devel" 4*4882a593SmuzhiyunLICENSE = "MIT | Apache-2.0" 5*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0" 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunRUSTLIB_DEP = "" 8*4882a593Smuzhiyuninherit cargo 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunDEPENDS:append:libc-musl = " libunwind" 11*4882a593Smuzhiyun# rv32 does not have libunwind ported yet 12*4882a593SmuzhiyunDEPENDS:remove:riscv32 = "libunwind" 13*4882a593SmuzhiyunDEPENDS:remove:riscv64 = "libunwind" 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun# Embed bitcode in order to allow compiling both with and without LTO 16*4882a593SmuzhiyunRUSTFLAGS += "-Cembed-bitcode=yes" 17*4882a593Smuzhiyun# Needed so cargo can find libbacktrace 18*4882a593SmuzhiyunRUSTFLAGS += "-L ${STAGING_LIBDIR} -C link-arg=-Wl,-soname,libstd.so" 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunS = "${RUSTSRC}/src/libstd" 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunCARGO_FEATURES ?= "panic-unwind backtrace" 23*4882a593SmuzhiyunCARGO_BUILD_FLAGS += "--features '${CARGO_FEATURES}'" 24*4882a593SmuzhiyunCARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor" 25*4882a593Smuzhiyun 26*4882a593Smuzhiyundo_compile:prepend () { 27*4882a593Smuzhiyun export CARGO_TARGET_DIR="${B}" 28*4882a593Smuzhiyun # For Rust 1.13.0 and newer 29*4882a593Smuzhiyun export RUSTC_BOOTSTRAP="1" 30*4882a593Smuzhiyun} 31*4882a593Smuzhiyun 32*4882a593Smuzhiyundo_install () { 33*4882a593Smuzhiyun mkdir -p ${D}${rustlibdir} 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun # With the incremental build support added in 1.24, the libstd deps directory also includes dependency 36*4882a593Smuzhiyun # files that get installed. Those are really only needed to incrementally rebuild the libstd library 37*4882a593Smuzhiyun # itself and don't need to be installed. 38*4882a593Smuzhiyun rm -f ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/*.d 39*4882a593Smuzhiyun cp ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir} 40*4882a593Smuzhiyun} 41