Message ID | 20250221204153.428129-2-a-christidis@ti.com |
---|---|
State | Superseded |
Delegated to: | Ryan Eatmon |
Headers | show |
Series | Introducing Opencl-cts | expand |
On Fri, Feb 21, 2025 at 02:41:52PM -0600, Antonios Christidis via lists.yoctoproject.org wrote: > From: Antonios Christidis <a-christidis@ti.com> > > Adding recipe for opencl-cts, v2024-08-08 is a pre-release version. > I have tested it to work with opencl-headers version v2024.05.08 . This version > is picked due to incompatibility issues with other versions of headers. > > This is a backport from meta-openembedded, they rejected to move opencl-cts to > scarthgap due to their LTS procedure. New packages do not get merged into LTS > branches after 7 months of the branch creation. > > This recipe also comes with a patch. > > Within the cmake build system, the compiler -Werror flag is enabled. This > turns all warnings into errors and doesn't allow the system to compile > correctly. Change the system to ignore the 3 warning rules that show up when > compiling. > > Signed-off-by: Antonios Christidis <a-christidis@ti.com> > --- > > v4: > -merged the patch patch and recipe patch into one patch, this is it I believe it was already mentioned not once, that any backport of an existing recipe from upstream should be in 2 stages - first copy the recipe as is verbatim w/o any modifications, and then make any changes need. Moreover, this is NOT how your patch got accepted upstream: https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch Here's the corresponding discussion on the meta-oe mailing list: https://lists.openembedded.org/g/openembedded-devel/topic/110839841 > v3: > - Changed from adress, it was wrong. > > v2: > - Added explanation on why this patch is a backport from > meta-openembedded > > > .../files/0001-Ignore-Compiler-Warnings.patch | 18 +++++++++++++ > .../opencl/opencl-cts_2024.08.08.bb | 27 +++++++++++++++++++ > 2 files changed, 45 insertions(+) > create mode 100644 meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch > create mode 100644 meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb > > diff --git a/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch > new file mode 100644 > index 00000000..067cffa1 > --- /dev/null > +++ b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch > @@ -0,0 +1,18 @@ This is not a proper compliant patch - it should not be a bare diff, but rather a proper git patch with a header, plus Upstream-Status: tag. So, Khem had modified your patch upstream to be compliant before merging, but you still submit the old one here - why? > +diff --git a/CMakeLists.txt b/CMakeLists.txt > +index 5cfef6b3..71b6ddb4 100644 > +--- a/CMakeLists.txt > ++++ b/CMakeLists.txt > +@@ -109,7 +109,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang" > + add_cxx_flag_if_supported(-Wno-error=cpp) # Allow #warning directive > + add_cxx_flag_if_supported(-Wno-unknown-pragmas) # Issue #785 > + add_cxx_flag_if_supported(-Wno-error=asm-operand-widths) # Issue #784 > +- > ++ add_cxx_flag_if_supported(-Wno-maybe-uninitialized) > ++ add_cxx_flag_if_supported(-Wno-stringop-truncation) > ++ add_cxx_flag_if_supported(-Wno-strict-aliasing) > + # -msse -mfpmath=sse to force gcc to use sse for float math, > + # avoiding excess precision problems that cause tests like int2float > + # to falsely fail. -ffloat-store also works, but WG suggested > +-- > +2.34.1 > + > diff --git a/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb > new file mode 100644 > index 00000000..60bc3c6a > --- /dev/null > +++ b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb > @@ -0,0 +1,27 @@ > +SUMMARY = "OpenCL CTS" > +DESCRIPTION = "OpenCL CTS test suite" > +LICENSE = "Apache-2.0" > +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" > + > +inherit pkgconfig cmake > + > +DEPENDS += "opencl-headers opencl-icd-loader" > +RDEPENDS:${PN} += "python3-core python3-io" > + > +S = "${WORKDIR}/git" > + > +SRC_URI = "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main;lfs=0 \ > + file://0001-Ignore-Compiler-Warnings.patch" > + > + > +SRCREV = "a406b340913f622da089b00f284a597656c10239" > + > +EXTRA_OECMAKE:append = " -DCMAKE_BUILD_TYPE=Debug -DCL_INCLUDE_DIR=${STAGING_INCDIR} -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL" > + > +do_install() { > + install -d ${D}${bindir}/opencl_test_conformance > + cp -r ${B}/test_conformance/* ${D}${bindir}/opencl_test_conformance > + sed -i 's:/usr/bin/python:/usr/bin/python3:g' ${D}${bindir}/opencl_test_conformance/run_conformance.py > + find "${D}${bindir}/opencl_test_conformance" -name cmake_install.cmake -type f -delete > + find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d -exec rm -rf "{}" \; -depth > +} > -- > 2.34.1
diff --git a/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch new file mode 100644 index 00000000..067cffa1 --- /dev/null +++ b/meta-arago-test/recipes-graphics/opencl/files/0001-Ignore-Compiler-Warnings.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5cfef6b3..71b6ddb4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,7 +109,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang" + add_cxx_flag_if_supported(-Wno-error=cpp) # Allow #warning directive + add_cxx_flag_if_supported(-Wno-unknown-pragmas) # Issue #785 + add_cxx_flag_if_supported(-Wno-error=asm-operand-widths) # Issue #784 +- ++ add_cxx_flag_if_supported(-Wno-maybe-uninitialized) ++ add_cxx_flag_if_supported(-Wno-stringop-truncation) ++ add_cxx_flag_if_supported(-Wno-strict-aliasing) + # -msse -mfpmath=sse to force gcc to use sse for float math, + # avoiding excess precision problems that cause tests like int2float + # to falsely fail. -ffloat-store also works, but WG suggested +-- +2.34.1 + diff --git a/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb new file mode 100644 index 00000000..60bc3c6a --- /dev/null +++ b/meta-arago-test/recipes-graphics/opencl/opencl-cts_2024.08.08.bb @@ -0,0 +1,27 @@ +SUMMARY = "OpenCL CTS" +DESCRIPTION = "OpenCL CTS test suite" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pkgconfig cmake + +DEPENDS += "opencl-headers opencl-icd-loader" +RDEPENDS:${PN} += "python3-core python3-io" + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main;lfs=0 \ + file://0001-Ignore-Compiler-Warnings.patch" + + +SRCREV = "a406b340913f622da089b00f284a597656c10239" + +EXTRA_OECMAKE:append = " -DCMAKE_BUILD_TYPE=Debug -DCL_INCLUDE_DIR=${STAGING_INCDIR} -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL" + +do_install() { + install -d ${D}${bindir}/opencl_test_conformance + cp -r ${B}/test_conformance/* ${D}${bindir}/opencl_test_conformance + sed -i 's:/usr/bin/python:/usr/bin/python3:g' ${D}${bindir}/opencl_test_conformance/run_conformance.py + find "${D}${bindir}/opencl_test_conformance" -name cmake_install.cmake -type f -delete + find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d -exec rm -rf "{}" \; -depth +}