1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
#!/usr/bin/make -f
# This may bring unexpected warnings/errors
undefine STARPU_DEVEL
DH_OPTIONS=-Bbuild
ifeq ($(DEB_SOURCE),starpu-contrib)
# nvcc sometimes chokes on some gcc features
CC=cuda-gcc
CXX=cuda-g++
endif
OMPI_CC=$(CC)
export CC
export CXX
export OMPI_CC
export NVCCFLAGS = -Xcompiler -fPIC -Xcompiler -std=c++03
export HIPCCFLAGS = $(foreach arch,$(shell rocm-target-arch),--offload-arch=$(arch))
ifneq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
CONFIGURE_NODOC = --disable-build-doc
endif
DO_PACKAGES := $(subst -contrib,,$(shell dh_listpackages))
ifneq (,$(filter libstarpu-openmp-llvm-1.4-1t64,$(DO_PACKAGES)))
OPENMP_LLVM=1
else
OPENMP_LLVM=0
endif
ifeq ($(OPENMP_LLVM),1)
CONFIGURE_OPENMP_LLVM = --enable-openmp-llvm
endif
%:
dh $@ $(DH_OPTIONS)
override_dh_auto_configure:
dh_auto_configure $(DH_OPTIONS) -- \
--enable-opengl-render \
--enable-openmp \
--enable-quick-check \
--enable-mlr-system-blas \
--enable-starpurm \
--enable-starpurm-examples \
--enable-maxnodes=16 \
--enable-maxcpus=32 \
--enable-maxnumanodes=4 \
--enable-tcpip-master-slave \
--docdir=/usr/share/doc/libstarpu-dev --disable-build-doc-pdf \
$(CONFIGURE_OPENMP_LLVM) \
$(CONFIGURE_NODOC)
override_dh_auto_test:
-HOME=$$PWD DISPLAY= DEB_BUILD_OPTIONS=$(patsubst parallel=%,,$(DEB_BUILD_OPTIONS)) dh_auto_test $(DH_OPTIONS) -- -k
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
$(MAKE) -C build showcheck
endif
override_dh_auto_install:
dh_auto_install
ifeq ($(OPENMP_LLVM),1)
# Debian does symlink libomp into libdir
chrpath -d $(CURDIR)/debian/tmp/usr/lib/*/starpu/examples/starpu_openmp_llvm/hello-task
endif
override_dh_dwz:
:
override_dh_auto_clean:
# No idea why salsa CI is adding +x on libsocl-1.3-0.install and libstarpu-1.3-5.install (and no others...)
ls -l debian/*.install
chmod -x debian/*.install
dh_auto_clean $(DH_OPTIONS)
rm -fr doc/doxygen/starpu.pdf
rm -fr doc/doxygen/html
rm -fr .starpu
rm -fr .nv
# Switch to main rules
sw-main:
sed -i 's/^starpu-contrib /starpu /' debian/changelog
sed -i '1s/^Source: starpu-contrib/Source: starpu/' debian/control
sed -i 's/Package: libstarpu-contrib/Package: libstarpu/' debian/control
sed -i 's/Package: starpu-contrib/Package: starpu/' debian/control
sed -i 's/Package: libsocl-contrib/Package: libsocl/' debian/control
sed -i 's/Depends: libstarpu-contrib/Depends: libstarpu/' debian/control
sed -i 's/^ libstarpu-contrib/ libstarpu/' debian/control
sed -i 's/^ libsocl-contrib/ libsocl/' debian/control
sed -i 's/Replaces: libstarpu-contrib/Replaces: libstarpu/' debian/control
sed -i 's/Replaces: libsocl-contrib/Replaces: libsocl/' debian/control
sed -i 's/Replaces: starpu-contrib/Replaces: starpu/' debian/control
sed -i 's/Breaks: libstarpu-contrib/Breaks: libstarpu/' debian/control
sed -i 's/Breaks: libsocl-contrib/Breaks: libsocl/' debian/control
sed -i 's/Breaks: starpu-contrib/Breaks: starpu/' debian/control
sed -i '/^Conflicts:/s/ libstarpu/ libstarpu-contrib/g' debian/control
sed -i '/^Conflicts:/s/ libsocl/ libsocl-contrib/g' debian/control
sed -i '/^Conflicts:/s/ starpu/ starpu-contrib/g' debian/control
sed -i 's/^ nvidia-cuda-toolkit-gcc/# nvidia-cuda-toolkit-gcc/' debian/control
sed -i 's_^Section: contrib/_Section: _' debian/control
sed -i 's/contrib-contrib/contrib/g' debian/control debian/changelog
sed -i 's/^ This "contrib" version/# This "contrib" version/' debian/control
# Switch to contrib rules
sw-contrib:
sed -i 's/^starpu /starpu-contrib /' debian/changelog
sed -i '1s/^Source: starpu/Source: starpu-contrib/' debian/control
sed -i 's/Package: libstarpu/Package: libstarpu-contrib/' debian/control
sed -i 's/Package: starpu/Package: starpu-contrib/' debian/control
sed -i 's/Package: libsocl/Package: libsocl-contrib/' debian/control
sed -i 's/Depends: libstarpu/Depends: libstarpu-contrib/' debian/control
sed -i 's/^ libstarpu/ libstarpu-contrib/' debian/control
sed -i 's/^ libsocl/ libsocl-contrib/' debian/control
sed -i 's/Replaces: libstarpu/Replaces: libstarpu-contrib/' debian/control
sed -i 's/Replaces: libsocl/Replaces: libsocl-contrib/' debian/control
sed -i 's/Replaces: starpu/Replaces: starpu-contrib/' debian/control
sed -i 's/Breaks: libstarpu/Breaks: libstarpu-contrib/' debian/control
sed -i 's/Breaks: libsocl/Breaks: libsocl-contrib/' debian/control
sed -i 's/Breaks: starpu/Breaks: starpu-contrib/' debian/control
sed -i '/^Conflicts:/s/ libstarpu-contrib/ libstarpu/' debian/control
sed -i '/^Conflicts:/s/ libsocl-contrib/ libsocl/' debian/control
sed -i '/^Conflicts:/s/ starpu-contrib/ starpu/' debian/control
sed -i 's/# nvidia-cuda-toolkit-gcc/ nvidia-cuda-toolkit-gcc/' debian/control
sed -i 's_contrib/contrib/_contrib_g' debian/control debian/control
sed -i 's/contrib-contrib/contrib/g' debian/control debian/changelog
sed -i 's_^Section: \([^/]*\)$$_Section: contrib/\1_' debian/control
sed -i 's/^# This "contrib" version/ This "contrib" version/' debian/control
|