From 18fcf4996df4ee1b00cc4013801fb4023ba177fc Mon Sep 17 00:00:00 2001 From: Naveen Saini Date: Tue, 22 Nov 2022 16:42:16 +0800 Subject: sdk: Add support for adding icx to SDK Also export ICXCC, ICXCXX, ICXCPP, ICXLD, ICXAR in SDK environment which can then be used to compile applications. For example, to build an sample SYCL application using SDK: -> Source oneAPI compiler setup script (from your installed path): $ source /your-sdk-path/oecore-x86_64/sysroots/skylake-64-oe-linux/opt/intel/oneapi/compiler/2022.1.0/env/vars.sh -> Build sample SYCL app (i.e simple-sycl-app.cpp): $ $ICXCXX -fsycl simple-sycl-app.cpp -o simple-sycl-app -lsvml -lirng -limf -lintlc Signed-off-by: Naveen Saini Signed-off-by: Anuj Mittal --- recipes-core/meta/icx-environment.inc | 15 +++++++++++++++ recipes-core/meta/meta-environment-extsdk.bbappend | 3 +++ recipes-core/meta/meta-environment.bbappend | 3 +++ .../nativesdk-packagegroup-sdk-host.bbappend | 1 + .../packagegroup-core-standalone-sdk-target.bbappend | 1 + 5 files changed, 23 insertions(+) create mode 100644 recipes-core/meta/icx-environment.inc create mode 100644 recipes-core/meta/meta-environment-extsdk.bbappend create mode 100644 recipes-core/meta/meta-environment.bbappend create mode 100644 recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend create mode 100644 recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend diff --git a/recipes-core/meta/icx-environment.inc b/recipes-core/meta/icx-environment.inc new file mode 100644 index 00000000..65322a91 --- /dev/null +++ b/recipes-core/meta/icx-environment.inc @@ -0,0 +1,15 @@ +export ICX_LDFLAGS_OPTION = " -Wl,-dynamic-linker,/lib/ld-linux-x86-64.so.2" +export ICXSDK_PREFIX_OPTION = "-B ${TARGET_PREFIX}" +export ICXQSDK_PREFIX_OPTION = "-qgnu-prefix=${TARGET_PREFIX}" + +create_sdk_files:append() { + script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS} + if ${@bb.utils.contains('ICXSDK', '1', 'true', 'false', d)}; then + echo 'export ICX="icx ${ICXSDK_PREFIX_OPTION} --target=${TARGET_SYS} ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT ${ICX_LDFLAGS_OPTION}"' >> $script + echo 'export ICXCXX="icpx ${ICXSDK_PREFIX_OPTION} --target=${TARGET_SYS} ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT ${ICX_LDFLAGS_OPTION}"' >> $script + echo 'export ICXCPP="icx ${ICXSDK_PREFIX_OPTION} -E --target=${TARGET_SYS} ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT ${ICX_LDFLAGS_OPTION}"' >> $script + echo 'export ICXLD="xild --sysroot=$SDKTARGETSYSROOT "' >> $script + echo 'export ICXCCLD="icx ${ICXSDK_PREFIX_OPTION} --sysroot=$SDKTARGETSYSROOT"' >> $script + echo 'export ICXAR="xiar ${ICXQSDK_PREFIX_OPTION}"' >> $script + fi +} diff --git a/recipes-core/meta/meta-environment-extsdk.bbappend b/recipes-core/meta/meta-environment-extsdk.bbappend new file mode 100644 index 00000000..2cff6fc4 --- /dev/null +++ b/recipes-core/meta/meta-environment-extsdk.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +require ${@bb.utils.contains('ICXSDK', '1', 'icx-environment.inc', '', d)} diff --git a/recipes-core/meta/meta-environment.bbappend b/recipes-core/meta/meta-environment.bbappend new file mode 100644 index 00000000..2cff6fc4 --- /dev/null +++ b/recipes-core/meta/meta-environment.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +require ${@bb.utils.contains('ICXSDK', '1', 'icx-environment.inc', '', d)} diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend new file mode 100644 index 00000000..b5a5fdd4 --- /dev/null +++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend @@ -0,0 +1 @@ +RDEPENDS:${PN} += "${@bb.utils.contains('ICXSDK', '1', ' intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev ', '', d)}" diff --git a/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend new file mode 100644 index 00000000..608ea3d3 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend @@ -0,0 +1 @@ +RRECOMMENDS:${PN}:append:intel-x86-common = "${@bb.utils.contains('ICXSDK', '1', ' intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev ', '', d)}" -- cgit v1.2.3-54-g00ecf