summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--classes/clang.bbclass10
-rw-r--r--conf/clang.conf9
-rw-r--r--conf/layer.conf6
3 files changed, 25 insertions, 0 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass
new file mode 100644
index 0000000..f6cb648
--- /dev/null
+++ b/classes/clang.bbclass
@@ -0,0 +1,10 @@
1
2# Add the necessary override
3TOOLCHAINOVERRIDES = ":toolchain-${TOOLCHAIN}"
4TOOLCHAINOVERRIDES[vardepsexclude] = "TOOLCHAIN"
5
6OVERRIDES .= "${TOOLCHAINOVERRIDES}"
7OVERRIDES[vardepsexclude] += "TOOLCHAINOVERRIDES"
8
9require conf/clang.conf
10
diff --git a/conf/clang.conf b/conf/clang.conf
new file mode 100644
index 0000000..8565721
--- /dev/null
+++ b/conf/clang.conf
@@ -0,0 +1,9 @@
1TOOLCHAIN ?= ""
2
3CC_toolchain-clang = "${TARGET_PREFIX}clang ${TOOLCHAIN_OPTIONS}"
4CXX_toolchain-clang = "${TARGET_PREFIX}clang++ ${TOOLCHAIN_OPTIONS}"
5CPP_toolchain-clang = "${TARGET_PREFIX}clang ${TOOLCHAIN_OPTIONS} -E"
6CCLD_toolchain-clang = "${TARGET_PREFIX}clang ${TOOLCHAIN_OPTIONS}"
7
8TOOLCHAIN_pn-lzo = "clang"
9DEPENDS_append_pn-lzo = " clang-cross "
diff --git a/conf/layer.conf b/conf/layer.conf
index 91c6ff0..ec86d64 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
7BBFILE_COLLECTIONS += "clang-layer" 7BBFILE_COLLECTIONS += "clang-layer"
8BBFILE_PATTERN_clang-layer := "^${LAYERDIR}/" 8BBFILE_PATTERN_clang-layer := "^${LAYERDIR}/"
9BBFILE_PRIORITY_clang-layer = "7" 9BBFILE_PRIORITY_clang-layer = "7"
10
11#PREFERRED_PROVIDER_gcc-cross-initial-${TARGET_ARCH}_forcevariable = "clang-cross"
12#PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial_forcevariable = "clang-cross"
13PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial"
14
15INHERIT += "clang"