rust/rust-bin: move bits to rust-bin
Bits that are only used by the rust-bin bbclass should get moved there. They aren't used by any recipe that includes the rust bbclass.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
inherit rust
|
inherit rust
|
||||||
|
|
||||||
|
DEPENDS_append = " patchelf-native"
|
||||||
RDEPENDS_${PN} += "${RUSTLIB_DEP}"
|
RDEPENDS_${PN} += "${RUSTLIB_DEP}"
|
||||||
|
|
||||||
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir}"
|
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir}"
|
||||||
@@ -54,6 +55,11 @@ get_overlap_externs () {
|
|||||||
do_configure () {
|
do_configure () {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
oe_runrustc () {
|
||||||
|
bbnote ${RUSTC} ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
|
||||||
|
"${RUSTC}" ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
|
||||||
|
}
|
||||||
|
|
||||||
oe_compile_rust_lib () {
|
oe_compile_rust_lib () {
|
||||||
[ "${CRATE_TYPE}" == "dylib" ] && suffix=so || suffix=rlib
|
[ "${CRATE_TYPE}" == "dylib" ] && suffix=so || suffix=rlib
|
||||||
rm -rf ${LIBNAME}.{rlib,so}
|
rm -rf ${LIBNAME}.{rlib,so}
|
||||||
@@ -88,3 +94,19 @@ oe_install_rust_bin () {
|
|||||||
echo Installing ${BINNAME}
|
echo Installing ${BINNAME}
|
||||||
install -D -m 755 ${BINNAME} ${D}/${bindir}/${BINNAME}
|
install -D -m 755 ${BINNAME} ${D}/${bindir}/${BINNAME}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_rust_bin_fixups() {
|
||||||
|
for f in `find ${PKGD} -name '*.so*'`; do
|
||||||
|
echo "Strip rust note: $f"
|
||||||
|
${OBJCOPY} -R .note.rustc $f $f
|
||||||
|
done
|
||||||
|
|
||||||
|
for f in `find ${PKGD}`; do
|
||||||
|
file "$f" | grep -q ELF || continue
|
||||||
|
readelf -d "$f" | grep RUNPATH | grep -q rustlib || continue
|
||||||
|
echo "Set rpath:" "$f"
|
||||||
|
patchelf --set-rpath '$ORIGIN:'${rustlibdir}:${rustlib} "$f"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
PACKAGE_PREPROCESS_FUNCS += "do_rust_bin_fixups"
|
||||||
|
|
||||||
|
|||||||
+1
-21
@@ -16,7 +16,7 @@ def rust_base_dep(d):
|
|||||||
deps += " rust-native"
|
deps += " rust-native"
|
||||||
return deps
|
return deps
|
||||||
|
|
||||||
DEPENDS_append = " ${@rust_base_dep(d)} patchelf-native"
|
DEPENDS_append = " ${@rust_base_dep(d)}"
|
||||||
|
|
||||||
# BUILD_LDFLAGS
|
# BUILD_LDFLAGS
|
||||||
# ${STAGING_LIBDIR_NATIVE}
|
# ${STAGING_LIBDIR_NATIVE}
|
||||||
@@ -31,11 +31,6 @@ DEPENDS_append = " ${@rust_base_dep(d)} patchelf-native"
|
|||||||
# -L${STAGING_BASE_LIBDIR_NATIVE} \
|
# -L${STAGING_BASE_LIBDIR_NATIVE} \
|
||||||
#"
|
#"
|
||||||
|
|
||||||
oe_runrustc () {
|
|
||||||
bbnote ${RUSTC} ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
|
|
||||||
"${RUSTC}" ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# XXX: for some reason bitbake sets BUILD_* & TARGET_* but uses the bare
|
# XXX: for some reason bitbake sets BUILD_* & TARGET_* but uses the bare
|
||||||
# variables for HOST. Alias things to make it easier for us.
|
# variables for HOST. Alias things to make it easier for us.
|
||||||
HOST_LDFLAGS ?= "${LDFLAGS}"
|
HOST_LDFLAGS ?= "${LDFLAGS}"
|
||||||
@@ -45,21 +40,6 @@ HOST_CPPFLAGS ?= "${CPPFLAGS}"
|
|||||||
|
|
||||||
EXTRA_OECONF_remove = "--disable-static"
|
EXTRA_OECONF_remove = "--disable-static"
|
||||||
|
|
||||||
do_rust_bin_fixups() {
|
|
||||||
for f in `find ${PKGD} -name '*.so*'`; do
|
|
||||||
echo "Strip rust note: $f"
|
|
||||||
${OBJCOPY} -R .note.rustc $f $f
|
|
||||||
done
|
|
||||||
|
|
||||||
for f in `find ${PKGD}`; do
|
|
||||||
file "$f" | grep -q ELF || continue
|
|
||||||
readelf -d "$f" | grep RUNPATH | grep -q rustlib || continue
|
|
||||||
echo "Set rpath:" "$f"
|
|
||||||
patchelf --set-rpath '$ORIGIN:'${rustlibdir}:${rustlib} "$f"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
PACKAGE_PREPROCESS_FUNCS += "do_rust_bin_fixups"
|
|
||||||
|
|
||||||
rustlib_suffix="${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
|
# Native sysroot standard library path
|
||||||
rustlib_src="${prefix}/lib/${rustlib_suffix}"
|
rustlib_src="${prefix}/lib/${rustlib_suffix}"
|
||||||
|
|||||||
Reference in New Issue
Block a user