diff options
Diffstat (limited to 'meta/recipes-devtools/rust/rust-cross.inc')
| -rw-r--r-- | meta/recipes-devtools/rust/rust-cross.inc | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc deleted file mode 100644 index ab538e6659..0000000000 --- a/meta/recipes-devtools/rust/rust-cross.inc +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | RUST_TARGETGENS = "BUILD HOST TARGET" | ||
| 2 | |||
| 3 | # Otherwise we'll depend on what we provide | ||
| 4 | INHIBIT_DEFAULT_RUST_DEPS = "1" | ||
| 5 | |||
| 6 | # Unlike native (which nicely maps it's DEPENDS) cross wipes them out completely. | ||
| 7 | # Generally, we (and cross in general) need the same things that native needs, | ||
| 8 | # so it might make sense to take it's mapping. For now, though, we just mention | ||
| 9 | # the bits we need explicitly. | ||
| 10 | DEPENDS += "rust-llvm-native" | ||
| 11 | DEPENDS += "rust-native" | ||
| 12 | |||
| 13 | # In the cross compilation case, rustc doesn't seem to get the rpath quite | ||
| 14 | # right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't | ||
| 15 | # include the '../../lib' (ie: relative path from cross_bindir to normal | ||
| 16 | # libdir. As a result, we end up not being able to properly reference files in normal ${libdir}. | ||
| 17 | # Most of the time this happens to work fine as the systems libraries are | ||
| 18 | # subsituted, but sometimes a host system will lack a library, or the right | ||
| 19 | # version of a library (libtinfo was how I noticed this). | ||
| 20 | # | ||
| 21 | # FIXME: this should really be fixed in rust itself. | ||
| 22 | # FIXME: using hard-coded relative paths is wrong, we should ask bitbake for | ||
| 23 | # the relative path between 2 of it's vars. | ||
| 24 | HOST_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib" | ||
| 25 | BUILD_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib" | ||
| 26 | |||
| 27 | # We need the same thing for the calls to the compiler when building the runtime crap | ||
| 28 | TARGET_CC_ARCH:append = " --sysroot=${STAGING_DIR_TARGET}" | ||
| 29 | |||
| 30 | do_rust_setup_snapshot () { | ||
| 31 | } | ||
| 32 | |||
| 33 | do_configure () { | ||
| 34 | } | ||
| 35 | |||
| 36 | do_compile () { | ||
| 37 | } | ||
| 38 | |||
| 39 | do_install () { | ||
| 40 | mkdir -p ${D}${prefix}/${base_libdir_native}/rustlib | ||
| 41 | cp ${WORKDIR}/targets/${TARGET_SYS}.json ${D}${prefix}/${base_libdir_native}/rustlib | ||
| 42 | } | ||
| 43 | |||
| 44 | rust_cross_sysroot_preprocess() { | ||
| 45 | sysroot_stage_dir ${D}${prefix}/${base_libdir_native}/rustlib ${SYSROOT_DESTDIR}${prefix}/${base_libdir_native}/rustlib | ||
| 46 | } | ||
| 47 | SYSROOT_PREPROCESS_FUNCS += "rust_cross_sysroot_preprocess" | ||
