aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Zhizhikin <andrey.z@gmail.com>2021-12-03 10:11:02 +0000
committerAndrey Zhizhikin <andrey.z@gmail.com>2021-12-03 10:11:02 +0000
commitd9fb91b0f1e0c0f894ec4ace9ae293d36da3f349 (patch)
tree108b636e78d03c291f9509dc3825d2bb4fdd3175
parent0cc0d30c6ec43d1dc7a1cde172959d7a028b1a29 (diff)
downloadmeta-freescale-d9fb91b0f1e0c0f894ec4ace9ae293d36da3f349.zip
meta-freescale-d9fb91b0f1e0c0f894ec4ace9ae293d36da3f349.tar.gz
meta-freescale-d9fb91b0f1e0c0f894ec4ace9ae293d36da3f349.tar.bz2
imx-atf: enable clang support
This is a port of commit 5013182 ("trusted-firmware-a: enable clang support") from meta-arm [1]: The CC and LD parameters are used to point make to the currently used compiler and linkers. This change enables TFA to be compiled successfully when TOOLCHAIN=clang. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Link: [1]: https://github.com/jonmason/meta-arm/commit/5013182ddaf7fabc3cc87ba6c923abb7f68214f5
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.4.bb11
1 files changed, 11 insertions, 0 deletions
diff --git a/recipes-bsp/imx-atf/imx-atf_2.4.bb b/recipes-bsp/imx-atf/imx-atf_2.4.bb
index 8792c0c..ce30822 100644
--- a/recipes-bsp/imx-atf/imx-atf_2.4.bb
+++ b/recipes-bsp/imx-atf/imx-atf_2.4.bb
@@ -36,6 +36,17 @@ DEPENDS:remove = "virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
+# CC and LD introduce arguments which conflict with those otherwise provided by
+# this recipe. The heads of these variables excluding those arguments
+# are therefore used instead.
+def remove_options_tail (in_string):
+ from itertools import takewhile
+ return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
+
+EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
+
+EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
+
do_compile() {
# Clear LDFLAGS to avoid the option -Wl recognize issue
oe_runmake bl31