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
|
#!/usr/bin/make -f
export DH_VERBOSE=1
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
TARGET ?= $(shell dpkg-architecture -qDEB_TARGET_GNU_TYPE)
INSTDIR:=debian/libgridtools-dev
LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)
CMAKE_DIR:=$(INSTDIR)/$(LIBDIR)/cmake/gridtools
NO_NATIVE_ARCHS := powerpc ppc64el ppc64 riscv64 sh4 s390x hppa m68k mipsel
NATIVE := $(if $(filter $(DEB_TARGET_ARCH), $(NO_NATIVE_ARCHS)), \
-DGT_ENABLE_BACKEND_X86=Off -DGT_ENABLE_BACKEND_NAIVE=Off )
BUILD_FLAGS = \
-DCMAKE_MODULE_PATH=/usr/share/ecbuild/cmake \
-DGT_ENABLE_BINDINGS_GENERATION=Off \
-DFETCHCONTENT_FULLY_DISCONNECTED=On \
-DFETCHCONTENT_QUIET=Off \
-DGT_INSTALL_EXAMPLES_PATH=/usr/share/doc/libgridtools-dev/examples \
-DPYBIND11_INSTALL=On \
$(NATIVE)
# Test suite requires 4 processors. Fake it on OpenMPI
export OMPI_MCA_rmaps_base_oversubscribe=1
%:
dh $@ --buildsystem=cmake
override_dh_auto_configure:
mkdir obj-$(TARGET)
cp -a _deps obj-$(TARGET)
dh_auto_configure -- ${BUILD_FLAGS}
override_dh_auto_build:
$(MAKE) -k obj-$(TARGET)
override_dh_auto_test:
@echo "Bypass tests in current builds"
override_dh_auto_install:
dh_auto_install
# Shuffle to correct locations
install -d $(INSTDIR)/$(LIBDIR)/cmake
cp -a obj-*/_deps/cpp_bindgen-build/*.a $(INSTDIR)/$(LIBDIR)
rm -rf $(INSTDIR)/usr/share/cmake
mv $(INSTDIR)/usr/lib/cmake $(INSTDIR)/$(LIBDIR)/cmake/gridtools
for d in \
$(CMAKE_DIR)/GridToolsConfig.cmake \
$(CMAKE_DIR)/GridToolsTargets-none.cmake ; do \
cat $$d | \
sed -e 's%$${_IMPORT_PREFIX}/include%$(INCDIR)%g' | \
sed -e 's%$${_IMPORT_PREFIX}/lib%$(LIBDIR)%g' | \
sed -e 's%$${_IMPORT_PREFIX}/bin%/usr/bin%g' | \
sed -e 's%$${PACKAGE_PREFIX_DIR}/lib/cmake%$(LIBDIR)/cmake/gridtools%g' | \
> $(CMAKE_DIR)/tmp ; \
mv $(CMAKE_DIR)/tmp $$d ; \
done
|