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 <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This commit is contained in:
Naveen Saini 2022-11-22 16:42:16 +08:00 committed by Anuj Mittal
parent 2c58fe0867
commit 18fcf4996d
5 changed files with 23 additions and 0 deletions

View File

@ -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
}

View File

@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
require ${@bb.utils.contains('ICXSDK', '1', 'icx-environment.inc', '', d)}

View File

@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
require ${@bb.utils.contains('ICXSDK', '1', 'icx-environment.inc', '', d)}

View File

@ -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)}"

View File

@ -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)}"