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" | ||
