xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun
2*4882a593SmuzhiyunRUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
3*4882a593Smuzhiyun
4*4882a593Smuzhiyunrequire rust.inc
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunDEPENDS += "rust-llvm (=${PV})"
7*4882a593Smuzhiyun
8*4882a593Smuzhiyuninherit cross-canadian
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunDEPENDS += "  \
11*4882a593Smuzhiyun            virtual/${HOST_PREFIX}gcc-crosssdk \
12*4882a593Smuzhiyun            virtual/nativesdk-libc rust-llvm-native \
13*4882a593Smuzhiyun            virtual/${TARGET_PREFIX}compilerlibs \
14*4882a593Smuzhiyun            virtual/nativesdk-${HOST_PREFIX}compilerlibs \
15*4882a593Smuzhiyun            gcc-cross-${TARGET_ARCH} \
16*4882a593Smuzhiyun           "
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun# The host tools are likely not to be able to do the necessary operation on
19*4882a593Smuzhiyun# the target architecturea. Alternatively one could check compatibility
20*4882a593Smuzhiyun# between host/target.
21*4882a593SmuzhiyunEXCLUDE_FROM_SHLIBS_${RUSTLIB_TARGET_PN} = "1"
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunDEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
24*4882a593Smuzhiyun                    -fdebug-prefix-map=${STAGING_DIR_HOST}= \
25*4882a593Smuzhiyun                    -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
26*4882a593Smuzhiyun                    "
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunpython do_rust_gen_targets () {
29*4882a593Smuzhiyun    wd = d.getVar('WORKDIR') + '/targets/'
30*4882a593Smuzhiyun    rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_LLVM_FEATURES') or "", d.getVar('TARGET_LLVM_CPU'), d.getVar('TARGET_ARCH'))
31*4882a593Smuzhiyun    rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
32*4882a593Smuzhiyun    rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
33*4882a593Smuzhiyun}
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunINHIBIT_DEFAULT_RUST_DEPS = "1"
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunexport WRAPPER_TARGET_CC = "${CCACHE}${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
38*4882a593Smuzhiyunexport WRAPPER_TARGET_CXX = "${CCACHE}${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
39*4882a593Smuzhiyunexport WRAPPER_TARGET_CCLD = "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
40*4882a593Smuzhiyunexport WRAPPER_TARGET_LDFLAGS = "${TARGET_LDFLAGS}"
41*4882a593Smuzhiyunexport WRAPPER_TARGET_AR = "${TARGET_PREFIX}ar"
42*4882a593Smuzhiyun
43*4882a593Smuzhiyunpython do_configure:prepend() {
44*4882a593Smuzhiyun    targets = [d.getVar("TARGET_SYS", True), "{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
45*4882a593Smuzhiyun    hosts = ["{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593SmuzhiyunINSANE_SKIP:${RUSTLIB_TARGET_PN} = "file-rdeps arch ldflags"
49*4882a593SmuzhiyunSKIP_FILEDEPS:${RUSTLIB_TARGET_PN} = "1"
50*4882a593Smuzhiyun
51*4882a593SmuzhiyunINHIBIT_PACKAGE_DEBUG_SPLIT = "1"
52*4882a593SmuzhiyunINHIBIT_PACKAGE_STRIP = "1"
53*4882a593SmuzhiyunINHIBIT_SYSROOT_STRIP = "1"
54*4882a593Smuzhiyun
55