diff options
author | Naveen Saini <naveen.kumar.saini@intel.com> | 2022-10-07 15:18:07 +0800 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2022-10-12 13:57:11 +0800 |
commit | 6e5caa6396e6b8e7d4e0cc8a9f7d81ebab0e2906 (patch) | |
tree | 37e5cd90960d2be87b38e8255b5e0e2c5ad3f285 /classes | |
parent | 3217386ee4c452a47406e2558749e3101123dc4f (diff) | |
download | meta-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.bbclass | 43 |
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 @@ | |||
1 | TOOLCHAINOVERRIDES = ":toolchain-${TOOLCHAIN}" | ||
2 | TOOLCHAINOVERRIDES[vardepsexclude] = "TOOLCHAIN" | ||
3 | |||
4 | OVERRIDES .= "${TOOLCHAINOVERRIDES}" | ||
5 | OVERRIDES[vardepsexclude] += "TOOLCHAINOVERRIDES" | ||
6 | |||
7 | ICC_PREFIX_OPTION = "" | ||
8 | ICCQ_PREFIX_OPTION = "" | ||
9 | |||
10 | python(){ | ||
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 | |||
21 | ICC_GCC_OPTION = "-gcc-name=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}gcc" | ||
22 | ICC_GXX_OPTION = "-gxx-name=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}g++" | ||
23 | CC:toolchain-icc = "icc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GCC_OPTION}" | ||
24 | CXX:toolchain-icc = "icpc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GXX_OPTION}" | ||
25 | CPP:toolchain-icc = "icc ${ICC_PREFIX_OPTION} -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH} ${ICC_GXX_OPTION}" | ||
26 | LD:toolchain-icc = "xild ${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}" | ||
27 | CCLD:toolchain-icc = "icc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GCC_OPTION}" | ||
28 | AR:toolchain-icc = "xiar" | ||
29 | |||
30 | DEBUG_FLAGS=" -g -feliminate-unused-debug-types" | ||
31 | TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}" | ||
32 | CFLAGS:append:toolchain-icc = " ${ICC_PREFIX_OPTION}" | ||
33 | CXXFLAGS:append:toolchain-icc = " ${ICC_PREFIX_OPTION}" | ||
34 | |||
35 | OECMAKE_AR:toolchain-icc = "${AR}" | ||
36 | |||
37 | DEPENDS:append:toolchain-icc:class-target = " intel-oneapi-runtime-compilers" | ||
38 | DEPENDS:append:toolchain-icc:class-target = " intel-oneapi-compiler-classic-native" | ||
39 | TOOLCHAIN:class-native = "gcc" | ||
40 | TOOLCHAIN:class-nativesdk = "gcc" | ||
41 | TOOLCHAIN:class-cross-canadian = "gcc" | ||
42 | TOOLCHAIN:class-crosssdk = "gcc" | ||
43 | TOOLCHAIN:class-cross = "gcc" | ||