1# 2# Copyright OpenEmbedded Contributors 3# 4# SPDX-License-Identifier: MIT 5# 6 7inherit rust-common 8 9RUSTC = "rustc" 10 11RUSTC_ARCHFLAGS += "--target=${RUST_HOST_SYS} ${RUSTFLAGS}" 12 13def rust_base_dep(d): 14 # Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to 15 # use rust instead of gcc 16 deps = "" 17 if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS'): 18 if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')): 19 deps += " rust-native ${RUSTLIB_DEP}" 20 else: 21 deps += " rust-native" 22 return deps 23 24DEPENDS:append = " ${@rust_base_dep(d)}" 25 26# BUILD_LDFLAGS 27# ${STAGING_LIBDIR_NATIVE} 28# ${STAGING_BASE_LIBDIR_NATIVE} 29# BUILDSDK_LDFLAGS 30# ${STAGING_LIBDIR} 31# #{STAGING_DIR_HOST} 32# TARGET_LDFLAGS ????? 33#RUSTC_BUILD_LDFLAGS = "\ 34# --sysroot ${STAGING_DIR_NATIVE} \ 35# -L${STAGING_LIBDIR_NATIVE} \ 36# -L${STAGING_BASE_LIBDIR_NATIVE} \ 37#" 38 39# XXX: for some reason bitbake sets BUILD_* & TARGET_* but uses the bare 40# variables for HOST. Alias things to make it easier for us. 41HOST_LDFLAGS ?= "${LDFLAGS}" 42HOST_CFLAGS ?= "${CFLAGS}" 43HOST_CXXFLAGS ?= "${CXXFLAGS}" 44HOST_CPPFLAGS ?= "${CPPFLAGS}" 45 46rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${RUST_HOST_SYS}/lib" 47# Native sysroot standard library path 48rustlib_src="${prefix}/lib/${rustlib_suffix}" 49# Host sysroot standard library path 50rustlib="${libdir}/${rustlib_suffix}" 51rustlib:class-native="${libdir}/rustlib/${BUILD_SYS}/lib" 52