1*4882a593Smuzhiyuninherit rust-common 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRUSTC = "rustc" 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunRUSTC_ARCHFLAGS += "--target=${HOST_SYS} ${RUSTFLAGS}" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyundef rust_base_dep(d): 8*4882a593Smuzhiyun # Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to 9*4882a593Smuzhiyun # use rust instead of gcc 10*4882a593Smuzhiyun deps = "" 11*4882a593Smuzhiyun if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS'): 12*4882a593Smuzhiyun if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')): 13*4882a593Smuzhiyun deps += " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}" 14*4882a593Smuzhiyun else: 15*4882a593Smuzhiyun deps += " rust-native" 16*4882a593Smuzhiyun return deps 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunDEPENDS:append = " ${@rust_base_dep(d)}" 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun# BUILD_LDFLAGS 21*4882a593Smuzhiyun# ${STAGING_LIBDIR_NATIVE} 22*4882a593Smuzhiyun# ${STAGING_BASE_LIBDIR_NATIVE} 23*4882a593Smuzhiyun# BUILDSDK_LDFLAGS 24*4882a593Smuzhiyun# ${STAGING_LIBDIR} 25*4882a593Smuzhiyun# #{STAGING_DIR_HOST} 26*4882a593Smuzhiyun# TARGET_LDFLAGS ????? 27*4882a593Smuzhiyun#RUSTC_BUILD_LDFLAGS = "\ 28*4882a593Smuzhiyun# --sysroot ${STAGING_DIR_NATIVE} \ 29*4882a593Smuzhiyun# -L${STAGING_LIBDIR_NATIVE} \ 30*4882a593Smuzhiyun# -L${STAGING_BASE_LIBDIR_NATIVE} \ 31*4882a593Smuzhiyun#" 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun# XXX: for some reason bitbake sets BUILD_* & TARGET_* but uses the bare 34*4882a593Smuzhiyun# variables for HOST. Alias things to make it easier for us. 35*4882a593SmuzhiyunHOST_LDFLAGS ?= "${LDFLAGS}" 36*4882a593SmuzhiyunHOST_CFLAGS ?= "${CFLAGS}" 37*4882a593SmuzhiyunHOST_CXXFLAGS ?= "${CXXFLAGS}" 38*4882a593SmuzhiyunHOST_CPPFLAGS ?= "${CPPFLAGS}" 39*4882a593Smuzhiyun 40*4882a593Smuzhiyunrustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib" 41*4882a593Smuzhiyun# Native sysroot standard library path 42*4882a593Smuzhiyunrustlib_src="${prefix}/lib/${rustlib_suffix}" 43*4882a593Smuzhiyun# Host sysroot standard library path 44*4882a593Smuzhiyunrustlib="${libdir}/${rustlib_suffix}" 45*4882a593Smuzhiyunrustlib:class-native="${libdir}/rustlib/${BUILD_SYS}/lib" 46