#!/usr/bin/make -f #export DH_VERBOSE=1 include /usr/share/dpkg/default.mk export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=+lto export DPKG_GENSYMBOLS_CHECK_LEVEL = 4 %: dh $@ --buildsystem=cmake+ninja # Let's pretend to know what we are doing: DEB_CXXFLAGS_MAINT_APPEND += -DHWY_BROKEN_EMU128=0 ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf)) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728 DEB_CXXFLAGS_MAINT_APPEND += -Wno-psabi # Disable unaligned access DEB_CXXFLAGS_MAINT_APPEND += -mno-unaligned-access endif ifneq (,$(filter $(DEB_HOST_ARCH), arm64)) # Disable unaligned access DEB_CXXFLAGS_MAINT_APPEND += -mstrict-align endif ifneq (,$(filter $(DEB_HOST_ARCH), loong64)) # Disable unaligned access DEB_CXXFLAGS_MAINT_APPEND += -mstrict-align endif ifneq (,$(filter $(DEB_HOST_ARCH), powerpc ppc64)) DEB_CXXFLAGS_MAINT_APPEND += -maltivec -mcpu=power8 # Disable unaligned access DEB_CXXFLAGS_MAINT_APPEND += -mstrict-align endif ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),armhf)) # https://github.com/google/highway/issues/1271 CMAKE_EXTRA_FLAGS += -DHWY_CMAKE_ARM7:BOOL=ON endif ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),riscv64)) # https://github.com/google/highway/issues/1740 CMAKE_EXTRA_FLAGS += -DHWY_CMAKE_RVV:BOOL=OFF # Disable unaligned access DEB_CXXFLAGS_MAINT_APPEND += -mstrict-align endif include /usr/share/dpkg/buildtools.mk export DEB_CXXFLAGS_MAINT_APPEND # test suite rely on CMAKE_SKIP_RPATH=OFF CMAKE_EXTRA_FLAGS += \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_SKIP_RPATH:BOOL=OFF \ -DHWY_SYSTEM_GTEST:BOOL=ON \ -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON \ ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) CMAKE_EXTRA_FLAGS += -DBUILD_TESTING=OFF endif override_dh_auto_configure-arch: dh_auto_configure -- $(CMAKE_EXTRA_FLAGS) ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) # run default example to check compilation ok: override_dh_install-arch: ifeq (,$(filter $(DEB_BUILD_ARCH),hurd-i386)) obj-*/examples/hwy_benchmark else echo "CPU 'QEMU Virtual CPU version 2.5+' does not support RDTSCP, skipping benchmark." endif dh_install endif override_dh_clean-indep: dh_clean debian_docs/ override_dh_auto_configure-indep: override_dh_auto_build-indep: # most docs are ok as-is cp -a g3doc debian_docs # let's shrink a bit this one: gs -q -dNOPAUSE -dBATCH -dSAFER \ -sDEVICE=pdfwrite \ -dCompatibilityLevel=1.4 \ -dPDFSETTINGS=/screen \ -dEmbedAllFonts=true \ -dSubsetFonts=true \ -dColorImageDownsampleType=/Bicubic \ -dColorImageResolution=72 \ -dGrayImageDownsampleType=/Bicubic \ -dGrayImageResolution=72 \ -dMonoImageDownsampleType=/Bicubic \ -dMonoImageResolution=72 \ -sOutputFile=debian_docs/highway_intro.pdf ./g3doc/highway_intro.pdf override_dh_auto_test-indep: override_dh_auto_install-indep: override_dh_compress-indep: # do not compress .pdf/.md files for documentation dh_compress -X.md -X.pdf