From 6e5caa6396e6b8e7d4e0cc8a9f7d81ebab0e2906 Mon Sep 17 00:00:00 2001 From: Naveen Saini Date: Fri, 7 Oct 2022 15:18:07 +0800 Subject: icc: add Intel(R) C++ Compiler Classic (ICC) support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using the IntelĀ® C++ Compiler Classic, you can compile and generate applications that can run on IntelĀ® 64 architecture. Signed-off-by: Naveen Saini Signed-off-by: Anuj Mittal --- classes/icc.bbclass | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 classes/icc.bbclass (limited to 'classes') 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 @@ +TOOLCHAINOVERRIDES = ":toolchain-${TOOLCHAIN}" +TOOLCHAINOVERRIDES[vardepsexclude] = "TOOLCHAIN" + +OVERRIDES .= "${TOOLCHAINOVERRIDES}" +OVERRIDES[vardepsexclude] += "TOOLCHAINOVERRIDES" + +ICC_PREFIX_OPTION = "" +ICCQ_PREFIX_OPTION = "" + +python(){ + hostprefix = d.getVar('HOST_PREFIX', True) + if hostprefix and hostprefix != "": + d.setVar("ICC_PREFIX_OPTION", "-gnu-prefix=${HOST_PREFIX}") + d.setVar("ICCQ_PREFIX_OPTION","-qgnu-prefix=${HOST_PREFIX}") + else: + d.setVar("ICC_PREFIX_OPTION", "") + d.setVar("ICCQ_PREFIX_OPTION","") + +} + +ICC_GCC_OPTION = "-gcc-name=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}gcc" +ICC_GXX_OPTION = "-gxx-name=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}g++" +CC:toolchain-icc = "icc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GCC_OPTION}" +CXX:toolchain-icc = "icpc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GXX_OPTION}" +CPP:toolchain-icc = "icc ${ICC_PREFIX_OPTION} -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH} ${ICC_GXX_OPTION}" +LD:toolchain-icc = "xild ${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}" +CCLD:toolchain-icc = "icc ${ICC_PREFIX_OPTION} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${ICC_GCC_OPTION}" +AR:toolchain-icc = "xiar" + +DEBUG_FLAGS=" -g -feliminate-unused-debug-types" +TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}" +CFLAGS:append:toolchain-icc = " ${ICC_PREFIX_OPTION}" +CXXFLAGS:append:toolchain-icc = " ${ICC_PREFIX_OPTION}" + +OECMAKE_AR:toolchain-icc = "${AR}" + +DEPENDS:append:toolchain-icc:class-target = " intel-oneapi-runtime-compilers" +DEPENDS:append:toolchain-icc:class-target = " intel-oneapi-compiler-classic-native" +TOOLCHAIN:class-native = "gcc" +TOOLCHAIN:class-nativesdk = "gcc" +TOOLCHAIN:class-cross-canadian = "gcc" +TOOLCHAIN:class-crosssdk = "gcc" +TOOLCHAIN:class-cross = "gcc" -- cgit v1.2.3-54-g00ecf