# Memory requirements are insane otherwise %define _lto_cflags %{nil} Name: intel-cm-compiler Version: 1.0.119 Release: 1%{?dist} Summary: Intel(R) C for Metal compiler License: MIT URL: https://github.com/intel/cm-compiler Source0: %{url}/archive/refs/tags/cmclang-%{version}.tar.gz Patch01: 0001-Include-LLVMSPIRVLib.h-from-subdir-link-to-LLVMGenXI.patch BuildRequires: cmake BuildRequires: make BuildRequires: gcc BuildRequires: g++ BuildRequires: ninja-build BuildRequires: intel-llvm8.0-vc-intrinsics BuildRequires: spirv-llvm8.0-translator BuildRequires: spirv-llvm8.0-translator-devel BuildRequires: llvm8.0 BuildRequires: llvm8.0-devel BuildRequires: llvm8.0-static BuildRequires: zlib-devel # For pathfix.py BuildRequires: python3-devel %description The Intel(R) C for Metal compiler is a open source compiler that implements C for Metal programming language. C for Metal is a new GPU kernel programming language for Intel HD Graphics. %prep %setup -q -n cm-compiler-cmclang-%{version} %patch01 -p1 pathfix.py -i %{__python3} -pn \ tools/clang-format/*.py \ tools/clang-format/git-clang-format \ utils/hmaptool/hmaptool \ tools/scan-view/bin/scan-view %build %cmake \ -DLLVM_DIR=/usr/lib64/llvm8.0 \ -DLLVMGenXIntrinsics_DIR="/usr/include/llvm/GenXIntrinsics/" \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_INCLUDE_TESTS=OFF \ %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else -DLLVM_LIBDIR_SUFFIX= \ %endif -G Ninja %cmake_build %install %cmake_install # Clean up find %{buildroot}/usr/bin ! -name 'cmc' -type f -delete find %{buildroot}/usr/bin ! -name 'cmc' -type l -delete find %{buildroot}/usr/lib64 ! -name 'libclangFEWrapper.so.8' -type f -delete find %{buildroot}/usr/lib64 ! -name 'libclangFEWrapper.so' -type l -delete rm -rf %{buildroot}/usr/include/clang rm -rf %{buildroot}/usr/lib64/clang rm -rf %{buildroot}/usr/lib64/cmake rm -rf %{buildroot}/usr/include/clang rm -rf %{buildroot}/usr/include/clang-c rm -rf %{buildroot}/usr/share/clang rm -rf %{buildroot}/usr/share/scan-view rm -rf %{buildroot}/usr/share/scan-build rm -f %{buildroot}/usr/libexec/c++-analyzer rm -f %{buildroot}/usr/libexec/ccc-analyzer rm -f %{buildroot}/usr/share/man/man1/scan-build.1 %files %{_bindir}/cmc %{_includedir}/cm/* %{_includedir}/opencl-c-common.h %{_libdir}/libclangFEWrapper.so* %doc %changelog * Mon Dec 27 2021 Frantisek Zatloukal - 1.0.119-1 - Initial package