diff options
4 files changed, 190 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" | ||
diff --git a/conf/noniccable.conf b/conf/noniccable.conf new file mode 100644 index 00000000..ca526160 --- /dev/null +++ b/conf/noniccable.conf | |||
@@ -0,0 +1,54 @@ | |||
1 | # Per package toolchain configuration | ||
2 | # specify the icc build package here: | ||
3 | |||
4 | #force enable the default gcc build for the following packages | ||
5 | TOOLCHAIN:pn-intel-oneapi-compiler = 'gcc' | ||
6 | TOOLCHAIN:pn-gcc = "gcc" | ||
7 | TOOLCHAIN:pn-gcc-cross = "gcc" | ||
8 | TOOLCHAIN:pn-libgcc-initial = "gcc" | ||
9 | TOOLCHAIN:pn-libgcc = "gcc" | ||
10 | TOOLCHAIN:pn-gcc-runtime = "gcc" | ||
11 | TOOLCHAIN:pn-gcc-sanitizers = "gcc" | ||
12 | TOOLCHAIN:pn-glibc = "gcc" | ||
13 | TOOLCHAIN:pn-glibc-initial = "gcc" | ||
14 | TOOLCHAIN:pn-glibc-locale = "gcc" | ||
15 | TOOLCHAIN:pn-glibc-mtrace = "gcc" | ||
16 | TOOLCHAIN:pn-glibc-scripts = "gcc" | ||
17 | TOOLCHAIN:pn-glibc-testsuite = "gcc" | ||
18 | TOOLCHAIN:pn-grub = "gcc" | ||
19 | TOOLCHAIN:pn-grub-efi = "gcc" | ||
20 | TOOLCHAIN:pn-opkg-utils = "gcc" | ||
21 | TOOLCHAIN:pn-binutils-cross = "gcc" | ||
22 | TOOLCHAIN:pn-intel-oneapi-runtime-compilers = "gcc" | ||
23 | TOOLCHAIN:pn-intel-oneapi-runtime-compilers-native = 'gcc' | ||
24 | TOOLCHAIN:pn-intel-oneapi-compiler-classic = "gcc" | ||
25 | |||
26 | |||
27 | TOOLCHAIN:pn-gnu-efi = 'gcc' | ||
28 | TOOLCHAIN:pn-libgpg-error = 'gcc' | ||
29 | TOOLCHAIN:pn-systemd-boot = 'gcc' | ||
30 | TOOLCHAIN:pn-gdb = 'gcc' | ||
31 | TOOLCHAIN:pn-zstd = 'gcc' | ||
32 | TOOLCHAIN:pn-ocl-icd = 'gcc' | ||
33 | TOOLCHAIN:pn-xz = 'gcc' | ||
34 | TOOLCHAIN:pn-libffi = 'gcc' | ||
35 | TOOLCHAIN:pn-libxcrypt = 'gcc' | ||
36 | TOOLCHAIN:pn-libpcre = 'gcc' | ||
37 | TOOLCHAIN:pn-icu = 'gcc' | ||
38 | TOOLCHAIN:pn-curl = 'gcc' | ||
39 | TOOLCHAIN:pn-python3 = "gcc" | ||
40 | TOOLCHAIN:pn-syslinux = "gcc" | ||
41 | TOOLCHAIN:pn-diffutils = "gcc" | ||
42 | TOOLCHAIN:pn-elfutils = "gcc" | ||
43 | TOOLCHAIN:pn-gawk = "gcc" | ||
44 | TOOLCHAIN:pn-coreutils = "gcc" | ||
45 | TOOLCHAIN:pn-findutils = "gcc" | ||
46 | TOOLCHAIN:pn-grep = "gcc" | ||
47 | |||
48 | #TODO Fix it | ||
49 | # ../glib-2.72.3/meson.build:1:0: ERROR: Compiler icpc .... can not compile programs. | ||
50 | TOOLCHAIN:pn-glib-2.0 = 'gcc' | ||
51 | |||
52 | # do_package_qa: QA Issue: package contains bad RPATH | ||
53 | TOOLCHAIN:pn-shared-mime-info = 'gcc' | ||
54 | TOOLCHAIN:pn-gobject-introspection = 'gcc' | ||
diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/compiler/intel-oneapi-compiler-classic_2022.1.0-3768.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/compiler/intel-oneapi-compiler-classic_2022.1.0-3768.bb new file mode 100644 index 00000000..db9fd730 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/compiler/intel-oneapi-compiler-classic_2022.1.0-3768.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | SUMMARY = "Intel® C++ Compiler Classic" | ||
2 | |||
3 | DESCRIPTION = "Intel® C++ Compiler Classic generates applications \ | ||
4 | that can run on Intel® 64 architecture." | ||
5 | |||
6 | HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/introducing-the-intel-c-compiler-classic.html" | ||
7 | |||
8 | LICENSE="EULA" | ||
9 | |||
10 | LIC_FILES_CHKSUM = " \ | ||
11 | file://opt/intel/oneapi/licensing/2022.1.0/license.htm;md5=f721d37d5ef65590e052bc47e15feec3 \ | ||
12 | " | ||
13 | |||
14 | SRC_URI = " \ | ||
15 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=classic-compiler \ | ||
16 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-licensing-2022.1.0-2022.1.0-161_all.deb;subdir=${BPN};name=license \ | ||
17 | " | ||
18 | |||
19 | SRC_URI[classic-compiler.sha256sum] = "0407cf12127f641f1e1b50e8e8e3c6c9cd27be40b849d697401fa8c140604c23" | ||
20 | SRC_URI[license.sha256sum] = "30f36ef653964ac629ce77c2c2d21a923c7ba4ff88936c39a8f39237b7446cca" | ||
21 | |||
22 | S = "${WORKDIR}/${BPN}" | ||
23 | |||
24 | inherit bin_package update-alternatives | ||
25 | RDEPENDS:${PN} += " intel-oneapi-runtime-compilers" | ||
26 | |||
27 | INHIBIT_PACKAGE_STRIP = "1" | ||
28 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
29 | |||
30 | do_install () { | ||
31 | install -d ${D}/${bindir}/ | ||
32 | cp -r ${S}/opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/* ${D}${bindir}/ | ||
33 | } | ||
34 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/compiler/intel-oneapi-runtime-compilers_2022.1.0-3768.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/compiler/intel-oneapi-runtime-compilers_2022.1.0-3768.bb new file mode 100644 index 00000000..0faf277d --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/compiler/intel-oneapi-runtime-compilers_2022.1.0-3768.bb | |||
@@ -0,0 +1,59 @@ | |||
1 | SUMMARY = "Intel® C++ Compiler Classic runtime common files" | ||
2 | |||
3 | DESCRIPTION = "Intel® C++ Compiler Classic generates applications \ | ||
4 | that can run on Intel® 64 architecture." | ||
5 | |||
6 | HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/introducing-the-intel-c-compiler-classic.html" | ||
7 | |||
8 | LICENSE="EULA" | ||
9 | |||
10 | LIC_FILES_CHKSUM = " \ | ||
11 | file://opt/intel/oneapi/lib/licensing/compiler/Intel%20Developer%20Tools%20EULA;md5=7bfc91523de2e84e7131d0eacf2827d4 \ | ||
12 | " | ||
13 | |||
14 | SRC_URI = " \ | ||
15 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-compilers-${PV}_amd64.deb;subdir=${BPN};name=runtime-compilers \ | ||
16 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-compilers-common-${PV}_all.deb;subdir=${BPN};name=common-compilers \ | ||
17 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=shared-runtime \ | ||
18 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=compiler-linker \ | ||
19 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-common-2022.1.0-${PV}_all.deb;subdir=${BPN};name=dpcpp-common \ | ||
20 | " | ||
21 | |||
22 | SRC_URI[runtime-compilers.sha256sum] = "0f27cbde635f30e79329248398e36e5610aa78aeda4ebc9ed1f3538ffbf0ea8d" | ||
23 | SRC_URI[common-compilers.sha256sum] = "7347588844ad9e86291586c049185381ec960cde09b6fd220c626fb865f8865c" | ||
24 | SRC_URI[shared-runtime.sha256sum] = "77b7201b5fe991152528ec40d586114edef12bb79c1a1a8fbfd6bd23c2aba5e1" | ||
25 | SRC_URI[compiler-linker.sha256sum] = "3185dc02473b3d3a34234dd82a17c285e43701455636f93be235b52c2ac6f2c6" | ||
26 | SRC_URI[dpcpp-common.sha256sum] = "5bc6452a32f5781c96498515d061d8fe9d7bba13b41eb983fe9bb0f792621906" | ||
27 | |||
28 | S = "${WORKDIR}/${BPN}" | ||
29 | |||
30 | inherit bin_package update-alternatives | ||
31 | |||
32 | RDEPENDS:${PN} += " ocl-icd zlib" | ||
33 | |||
34 | INHIBIT_PACKAGE_STRIP = "1" | ||
35 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
36 | |||
37 | # doesn't have GNU_HASH (didn't pass LDFLAGS?) | ||
38 | INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags" | ||
39 | FILES_SOLIBSDEV = "" | ||
40 | |||
41 | |||
42 | do_install () { | ||
43 | install -d ${D}${libdir}/ | ||
44 | install -d ${D}${bindir}/ | ||
45 | install -d ${D}${libdir}/licensing/compiler/ | ||
46 | cp -r ${S}/opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/* ${D}${bindir}/ | ||
47 | cp -r ${S}/opt/intel/oneapi/lib/intel64/*.so* ${D}${libdir}/ | ||
48 | cp -r ${S}/opt/intel/oneapi/lib/*.so* ${D}${libdir}/ | ||
49 | cp -r ${S}/opt/intel/oneapi/lib/*.a ${D}${libdir}/ | ||
50 | cp -r ${S}/opt/intel/oneapi/lib/libsycl-fallback-cstring.o ${D}${libdir}/ | ||
51 | cp -r ${S}/opt/intel/oneapi/lib/libsycl-fallback-cstring.spv ${D}${libdir}/ | ||
52 | cp -r ${S}/opt/intel/oneapi/lib/licensing/compiler/* ${D}${libdir}/licensing/compiler/ | ||
53 | cp -r ${S}/opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin/* ${D}${libdir}/ | ||
54 | cp -r ${S}/opt/intel/oneapi/compiler/2022.1.0/linux/lib/clang ${D}${libdir}/ | ||
55 | rm -rf ${D}/${bindir}/*.so* | ||
56 | rm -rf ${D}/opt | ||
57 | } | ||
58 | |||
59 | BBCLASSEXTEND = "native nativesdk" | ||