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 <[email protected]>
---
 recipes-core/meta/icx-environment.inc             | 15 +++++++++++++++
 .../meta/meta-environment-extsdk.bbappend         |  3 +++
 recipes-core/meta/meta-environment.bbappend       |  3 +++
 .../nativesdk-packagegroup-sdk-host.bbappend      |  1 +
 ...ckagegroup-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)}"
-- 
2.37.3

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7764): 
https://lists.yoctoproject.org/g/meta-intel/message/7764
Mute This Topic: https://lists.yoctoproject.org/mt/95191949/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to