rustlib: libdir may be different between build and host

With multilib, we may want to install under lib64 but the rust libraries
get published in the build sysroot under the libdir for the build
machine which is usually just lib. Support these being different.
This commit is contained in:
Tyler Hall
2016-01-08 16:16:26 -05:00
committed by Steven Walter
parent f0ea28ae30
commit aaaeaeed3f
2 changed files with 6 additions and 2 deletions

View File

@@ -36,7 +36,11 @@ OVERLAP_DEPS = "${@get_overlap_deps(d)}"
# See https://github.com/rust-lang/rust/issues/19680
RUSTC_FLAGS += "-C prefer-dynamic"
rustlib="${libdir}/${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
# Native sysroot standard library path
rustlib_src="${prefix}/lib/${rustlib_suffix}"
# Host sysroot standard library path
rustlib="${libdir}/${rustlib_suffix}"
CRATE_NAME ?= "${@d.getVar('BPN', True).replace('-rs', '').replace('-', '_')}"
BINNAME ?= "${BPN}"
LIBNAME ?= "lib${CRATE_NAME}-rs"

View File

@@ -9,7 +9,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}rust"
RUSTLIB_DEP = ""
do_install () {
for f in ${STAGING_DIR_NATIVE}/${rustlib}/*.so; do
for f in ${STAGING_DIR_NATIVE}/${rustlib_src}/*.so; do
echo Installing $f
install -D -m 755 $f ${D}/${rustlib}/$(basename $f)
done