#!/usr/bin/make -f export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CXXFLAGS_MAINT_APPEND += -Wno-error=free-nonheap-object -include cstdint include /usr/share/dpkg/pkg-info.mk IGC_PATCH = $(shell sed -n -r 's/.*[0-9]+\.[0-9]+\.([0-9]+).*/\1/p;q' debian/changelog) LLVM_VERSION = 16 LLVM_UPSTREAM_VERSION = 16.0.6 VENDOR_DIRS = llvm-project vc-intrinsics TAR_OPTIONS = --sort=name --mtime=@0 --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime %: dh $@ --builddir build/ VENDOR_TARBALL_STUB = intel-graphics-compiler2_$(DEB_VERSION_UPSTREAM).orig vendor-tarball-sanity-check: for i in $(VENDOR_DIRS); do \ if [ -e ../$(VENDOR_TARBALL_STUB)-$${i}.tar.xz ]; then \ echo "../$(VENDOR_TARBALL_STUB)-$${i}.tar.xz already exists, bailing!"; exit 1; fi; done vendor-deps: rm -rf $(VENDOR_DIRS) git clone https://github.com/intel/vc-intrinsics vc-intrinsics # try to get a minimal llvm tree, .git needs to be preserved git clone -b llvmorg-16.0.6 --depth 50 --single-branch https://github.com/llvm/llvm-project llvm-project rm -rf llvm-project/*/test git clone -b ocl-open-160 https://github.com/intel/opencl-clang llvm-project/llvm/projects/opencl-clang git clone -b llvm_release_160 https://github.com/KhronosGroup/SPIRV-LLVM-Translator llvm-project/llvm/projects/llvm-spirv for i in vc-intrinsics llvm-project/llvm/projects/opencl-clang llvm-project/llvm/projects/llvm-spirv; do \ rm -rf $${i}/.git; done vendor-tarball: vendor-tarball-sanity-check vendor-deps for i in $(VENDOR_DIRS); do \ tar $(TAR_OPTIONS) -caf ../$(VENDOR_TARBALL_STUB)-$${i}.tar.xz $${i}; done set-gitconfig: if [ -z "`git config get user.email`" ]; then cd llvm-project; git config user.email "BUILD@org.none"; fi if [ -z "`git config get user.name `" ]; then cd llvm-project; git config user.name "BUILD";fi override_dh_clean: for i in $(VENDOR_DIRS); do \ rm -f ../$${i}; done dh_clean override_dh_auto_configure: set-gitconfig for i in $(VENDOR_DIRS); do \ ln -sf $(CURDIR)/$${i} ..; done dh_auto_configure -- \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DFETCHCONTENT_FULLY_DISCONNECTED=ON \ -DIGC_OPTION__API_ENABLE_OPAQUE_POINTERS=ON \ -DIGC_OPTION__ARCHITECTURE_TARGET='Linux64' \ -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON \ -DIGC_OPTION__LLVM_MODE=Source \ -DIGC_OPTION__LLVM_PREFERRED_VERSION=$(LLVM_UPSTREAM_VERSION) \ -DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds \ -DIGC_OPTION__USE_PREINSTALLED_SPIRV_HEADERS=ON \ -DIGC_API_PATCH_VERSION=${IGC_PATCH} \ -Wno-dev execute_after_dh_auto_install: $(RM) -v debian/tmp/usr/include/igc/cif/CMakeLists.txt $(RM) -v debian/tmp/usr/include/igc/cif/cif/CMakeLists.txt $(RM) -v debian/tmp/usr/include/igc/cif/readme.txt $(RM) -v debian/tmp/usr/lib/*/libiga64.so $(RM) -v debian/tmp/usr/lib/*/libigc.so override_dh_gencontrol: dh_gencontrol -- \ -V'llvm:Version=$(LLVM_VERSION)' override_dh_dwz: