summaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorNaveen Saini <naveen.kumar.saini@intel.com>2022-10-07 15:18:07 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2022-10-12 13:57:11 +0800
commit6e5caa6396e6b8e7d4e0cc8a9f7d81ebab0e2906 (patch)
tree37e5cd90960d2be87b38e8255b5e0e2c5ad3f285 /classes
parent3217386ee4c452a47406e2558749e3101123dc4f (diff)
downloadmeta-intel-6e5caa6396e6b8e7d4e0cc8a9f7d81ebab0e2906.tar.gz
icc: add Intel(R) C++ Compiler Classic (ICC) support
Using the IntelĀ® C++ Compiler Classic, you can compile and generate applications that can run on IntelĀ® 64 architecture. Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'classes')
-rw-r--r--classes/icc.bbclass43
1 files changed, 43 insertions, 0 deletions
diff --git a/classes/icc.bbclass b/classes/icc.bbclass
new file mode 100644
index 00000000..b2a85bcf
--- /dev/null
+++ b/classes/icc.bbclass
@@ -0,0 +1,43 @@
1TOOLCHAINOVERRIDES = ":toolchain-${TOOLCHAIN}"
2TOOLCHAINOVERRIDES[vardepsexclude] = "TOOLCHAIN"
3
4OVERRIDES .= "${TOOLCHAINOVERRIDES}"
5OVERRIDES[vardepsexclude] += "TOOLCHAINOVERRIDES"
6
7ICC_PREFIX_OPTION = ""
8ICCQ_PREFIX_OPTION = ""
9
10python(){
11 hostprefix = d.getVar('HOST_PREFIX', True)
12 if hostprefix and hostprefix != "":
13 d.setVar("ICC_PREFIX_OPTION", "-gnu-prefix=${HOST_PREFIX}")
14 d.setVar("ICCQ_PREFIX_OPTION","-qgnu-prefix=${HOST_PREFIX}")
15 else:
16 d.setVar("ICC_PREFIX_OPTION", "")
17 d.setVar("ICCQ_PREFIX_OPTION","")
18
19}
20
21ICC_GCC_OPTION = "-gcc-name=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}gcc"
22ICC_GXX_OPTION = "-gxx-name=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}g++"
23CC:toolchain-icc = "icc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GCC_OPTION}"
24CXX:toolchain-icc = "icpc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GXX_OPTION}"
25CPP:toolchain-icc = "icc ${ICC_PREFIX_OPTION} -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH} ${ICC_GXX_OPTION}"
26LD:toolchain-icc = "xild ${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
27CCLD:toolchain-icc = "icc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GCC_OPTION}"
28AR:toolchain-icc = "xiar"
29
30DEBUG_FLAGS=" -g -feliminate-unused-debug-types"
31TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
32CFLAGS:append:toolchain-icc = " ${ICC_PREFIX_OPTION}"
33CXXFLAGS:append:toolchain-icc = " ${ICC_PREFIX_OPTION}"
34
35OECMAKE_AR:toolchain-icc = "${AR}"
36
37DEPENDS:append:toolchain-icc:class-target = " intel-oneapi-runtime-compilers"
38DEPENDS:append:toolchain-icc:class-target = " intel-oneapi-compiler-classic-native"
39TOOLCHAIN:class-native = "gcc"
40TOOLCHAIN:class-nativesdk = "gcc"
41TOOLCHAIN:class-cross-canadian = "gcc"
42TOOLCHAIN:class-crosssdk = "gcc"
43TOOLCHAIN:class-cross = "gcc"