blob: 1f21c8af26ef6bc52633b4f185cc004698269ba4 [file] [log] [blame]
Andrew Geisslerd159c7f2021-09-02 21:05:58 -05001
2RUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
3
4require rust.inc
5
6DEPENDS += "rust-llvm (=${PV})"
7
8inherit cross-canadian
9
10DEPENDS += " \
11 virtual/${HOST_PREFIX}gcc-crosssdk \
12 virtual/nativesdk-libc rust-llvm-native \
13 virtual/${TARGET_PREFIX}compilerlibs \
14 virtual/nativesdk-${HOST_PREFIX}compilerlibs \
15 gcc-cross-${TARGET_ARCH} \
16 "
17
18# The host tools are likely not to be able to do the necessary operation on
19# the target architecturea. Alternatively one could check compatibility
20# between host/target.
21EXCLUDE_FROM_SHLIBS_${RUSTLIB_TARGET_PN} = "1"
22
23DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
24 -fdebug-prefix-map=${STAGING_DIR_HOST}= \
25 -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
26 "
27
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050028python do_rust_gen_targets () {
29 wd = d.getVar('WORKDIR') + '/targets/'
30 rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_LLVM_FEATURES') or "", d.getVar('TARGET_LLVM_CPU'), d.getVar('TARGET_ARCH'))
31 rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
32 rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
33}
34
35INHIBIT_DEFAULT_RUST_DEPS = "1"
36
37export WRAPPER_TARGET_CC = "${CCACHE}${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
38export WRAPPER_TARGET_CXX = "${CCACHE}${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
39export WRAPPER_TARGET_CCLD = "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
40export WRAPPER_TARGET_LDFLAGS = "${TARGET_LDFLAGS}"
41export WRAPPER_TARGET_AR = "${TARGET_PREFIX}ar"
42
43python do_configure:prepend() {
44 targets = [d.getVar("TARGET_SYS", True), "{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
45 hosts = ["{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
46}
47
48INSANE_SKIP:${RUSTLIB_TARGET_PN} = "file-rdeps arch ldflags"
49SKIP_FILEDEPS:${RUSTLIB_TARGET_PN} = "1"
50
51INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
52INHIBIT_PACKAGE_STRIP = "1"
53INHIBIT_SYSROOT_STRIP = "1"
54