optee_rust_examples_ext: Migrate to standard environment vars
Allow OP-TEE rust examples to be compiled using standard OP-TEE
environment variables:
- CROSS_COMPILE
- TA_DEV_KIT_DIR
- OPTEE_CLIENT_EXPORT
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Yuan Zhuang <yuanz@apache.org>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
diff --git a/br-ext/package/optee_rust_examples_ext/Config.in b/br-ext/package/optee_rust_examples_ext/Config.in
index 8162a33..b2913fa 100644
--- a/br-ext/package/optee_rust_examples_ext/Config.in
+++ b/br-ext/package/optee_rust_examples_ext/Config.in
@@ -11,6 +11,12 @@
if BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT
+config BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_SDK
+ string "OPTEE SDK path"
+ default ""
+ help
+ The path to OP-TEE TA development SDK
+
config BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_CROSS_COMPILE
string "OP-TEE Rust examples cross compiler"
default ""
diff --git a/br-ext/package/optee_rust_examples_ext/optee_rust_examples_ext.mk b/br-ext/package/optee_rust_examples_ext/optee_rust_examples_ext.mk
index 5b75658..a44d3e6 100644
--- a/br-ext/package/optee_rust_examples_ext/optee_rust_examples_ext.mk
+++ b/br-ext/package/optee_rust_examples_ext/optee_rust_examples_ext.mk
@@ -4,6 +4,7 @@
OPTEE_RUST_EXAMPLES_EXT_SITE_METHOD = local
OPTEE_RUST_EXAMPLES_EXT_INSTALL_STAGING = YES
OPTEE_RUST_EXAMPLES_EXT_DEPENDENCIES = optee_client_ext
+OPTEE_RUST_EXAMPLES_EXT_SDK = $(BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_SDK)
ifneq (,$(BR2_PACKAGE_OPTEE_RUST_EXAMPLES_TC_PATH_ENV))
OPTEE_RUST_EXAMPLES_TC_PATH_ENV = PATH=$(BR2_PACKAGE_OPTEE_RUST_EXAMPLES_TC_PATH_ENV)
@@ -28,7 +29,11 @@
define OPTEE_RUST_EXAMPLES_EXT_BUILD_CMDS
@$(foreach f,$(wildcard $(@D)/examples/*/Makefile), \
echo Building $f && \
- $(OPTEE_RUST_EXAMPLES_TC_PATH_ENV) $(MAKE) -C $(dir $f) &&) true
+ $(OPTEE_RUST_EXAMPLES_TC_PATH_ENV) \
+ CROSS_COMPILE=$(BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_CROSS_COMPILE) \
+ TA_DEV_KIT_DIR=$(OPTEE_RUST_EXAMPLES_EXT_SDK) \
+ OPTEE_CLIENT_EXPORT=$(TARGET_DIR) \
+ $(MAKE) -C $(dir $f) &&) true
endef
define OPTEE_RUST_EXAMPLES_EXT_INSTALL_TARGET_CMDS
diff --git a/common.mk b/common.mk
index 0152912..f174b4c 100644
--- a/common.mk
+++ b/common.mk
@@ -196,11 +196,13 @@
CROSS_COMPILE_NS_KERNEL ?= "$(CCACHE)$(AARCH$(COMPILE_NS_KERNEL)_CROSS_COMPILE)"
CROSS_COMPILE_S_USER ?= "$(CCACHE)$(AARCH$(COMPILE_S_USER)_CROSS_COMPILE)"
CROSS_COMPILE_S_KERNEL ?= "$(CCACHE)$(AARCH$(COMPILE_S_KERNEL)_CROSS_COMPILE)"
+CROSS_COMPILE_RUST ?= "$(AARCH$(COMPILE_S_USER)_CROSS_COMPILE)"
else ifeq ($(ARCH),riscv)
CROSS_COMPILE_NS_USER ?= "$(CCACHE)$(RISCV$(COMPILE_NS_USER)_CROSS_COMPILE)"
CROSS_COMPILE_NS_KERNEL ?= "$(CCACHE)$(RISCV$(COMPILE_NS_KERNEL)_CROSS_COMPILE)"
CROSS_COMPILE_S_USER ?= "$(CCACHE)$(RISCV$(COMPILE_S_USER)_CROSS_COMPILE)"
CROSS_COMPILE_S_KERNEL ?= "$(CCACHE)$(RISCV$(COMPILE_S_KERNEL)_CROSS_COMPILE)"
+CROSS_COMPILE_RUST ?= "$(RISCV$(COMPILE_S_USER)_CROSS_COMPILE)"
endif
################################################################################
@@ -285,7 +287,8 @@
OPTEE_RUST_ENABLE ?= n
ifeq ($(OPTEE_RUST_ENABLE),y)
BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT ?= y
-BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_CROSS_COMPILE ?= $(CROSS_COMPILE_S_USER)
+BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_CROSS_COMPILE ?= $(CROSS_COMPILE_RUST)
+BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_SDK ?= $(OPTEE_OS_TA_DEV_KIT_DIR)
BR2_PACKAGE_OPTEE_RUST_EXAMPLES_EXT_SITE ?= $(OPTEE_RUST_PATH)
BR2_PACKAGE_OPTEE_RUST_EXAMPLES_TC_PATH_ENV = $(ROOT)/toolchains/aarch64/bin:$(HOME)/.cargo/bin:$(PATH)
endif