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