annotate src/hdf5.mk @ 5541:d862fd40cc42

Use ccache for packages built with cmake. * Makefile.in: New variable CMAKE_CCACHE_FLAGS. * src/armadillo.mk, src/cgal.mk, src/cmake.mk, src/cminpack, src/double-conversion.mk, src/eigen.mk, src/gdcm.mk, src/gl2ps.mk, src/hdf5.mk, src/lapack.mk, src/libical.mk, src/libproxy, src/llvm.mk, src/of-dicom.mk, src/openal.mk, src/opencv.mk, src/openexr.mk, src/openscenegraph.mk, src/physfs.mk, src/qhull.mk, src/qjson.mk, src/rapidjson.mk, src/suitesparse.mk, src/sundials-ida.mk, src/taglib.mk, src/vigra.mk, src/vmime.mk, src/vtk.mk, src/wt.mk: Add new variable to cmake flags. Harmonize indentation in files.
author Markus Mützel <markus.muetzel@gmx.de>
date Sun, 20 Sep 2020 11:57:01 +0200
parents cd41c2d17ef3
children b19fb3ed330c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2929
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 # This file is part of MXE.
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 # See index.html for further information.
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 PKG := hdf5
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 $(PKG)_IGNORE :=
5430
98bcc037fad7 * src/hdf5.mk: Update version to 1.12.0. Use cmake for Windows cross targets.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5410
diff changeset
6 $(PKG)_VERSION := 1.12.0
98bcc037fad7 * src/hdf5.mk: Update version to 1.12.0. Use cmake for Windows cross targets.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5410
diff changeset
7 $(PKG)_CHECKSUM := 6020131b6e18e6866816b1fe68980512c696c2bf
2929
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
5430
98bcc037fad7 * src/hdf5.mk: Update version to 1.12.0. Use cmake for Windows cross targets.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5410
diff changeset
10 $(PKG)_URL := https://support.hdfgroup.org/ftp/HDF5/releases/$(PKG)-$(call SHORT_PKG_VERSION,$(PKG))/$(PKG)-$($(PKG)_VERSION)/src/$($(PKG)_FILE)
5454
cd41c2d17ef3 Update dependancies on packages
John Donoghue <john.donoghue@ieee.org>
parents: 5432
diff changeset
11 $(PKG)_DEPS := zlib
3222
5072829ce458 hdf5.mk: set configure environment for native builds
John W. Eaton <jwe@octave.org>
parents: 3095
diff changeset
12
2929
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 define $(PKG)_UPDATE
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 echo 'Warning: Updates are temporarily disabled for package hdf5.' >&2;
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 echo $(hdf5_VERSION)
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 endef
4b72e7cf4f30 shared libraries and cross build for hdf5
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
18 ifeq ($(MXE_SYSTEM),mingw)
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
19 ifneq ($(MXE_NATIVE_BUILD),yes)
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
20 $(PKG)_CROSS_CONFIG_OPTIONS := \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
21 -DHDF5_USE_PREGEN=ON \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
22 -DHAVE_IOEO_EXITCODE=0 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
23 -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN=1 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
24 -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT="" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
25 -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN=1 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
26 -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT="" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
27 -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN=0 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
28 -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT="" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
29 -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN=0 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
30 -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT="" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
31 -DH5_DISABLE_SOME_LDOUBLE_CONV_RUN=1 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
32 -DH5_DISABLE_SOME_LDOUBLE_CONV_RUN__TRYRUN_OUTPUT="" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
33 -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
34 -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT="" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
35 -DH5_PRINTF_LL_TEST_RUN=1 \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
36 -DH5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT="" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
37 -DTEST_LFS_WORKS_RUN=0
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
38 endif
5430
98bcc037fad7 * src/hdf5.mk: Update version to 1.12.0. Use cmake for Windows cross targets.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5410
diff changeset
39 endif
98bcc037fad7 * src/hdf5.mk: Update version to 1.12.0. Use cmake for Windows cross targets.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5410
diff changeset
40
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
41 define $(PKG)_BUILD
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
42 if test x$(MXE_SYSTEM) = xmingw; then \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
43 mkdir '$(1)/pregen'; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
44 case '$(TARGET)' in \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
45 x86_64-w64-mingw32) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
46 cp '$(1)/src/H5Tinit.c.mingw64' '$(1)/pregen/H5Tinit.c' & \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
47 cp '$(1)/src/H5lib_settings.c.mingw64' '$(1)/pregen/H5lib_settings.c' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
48 ;; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
49 i686-w64-mingw32) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
50 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
51 cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
52 ;; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
53 i686-pc-mingw32) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
54 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
55 cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
56 ;; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
57 esac; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
58 fi
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
59
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
60 mkdir '$(1)/.build'
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
61
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
62 cd '$(1)/.build' && cmake .. -G "Unix Makefiles" \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
63 -DCMAKE_INSTALL_PREFIX=${prefix} \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
64 $($(PKG)_CMAKE_FLAGS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
65 -DBUILD_SHARED_LIBS=$(if $(findstring yes,$(BUILD_SHARED)),ON,OFF) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
66 $(CMAKE_CCACHE_FLAGS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
67 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
68 -DHDF5_INSTALL_BIN_DIR='$(HOST_BINDIR)' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
69 -DHDF5_INSTALL_LIB_DIR='$(HOST_LIBDIR)' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
70 -DHDF5_INSTALL_INCLUDE_DIR='$(HOST_INCDIR)' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
71 -DHDF5_INSTALL_DATA_DIR='$(HOST_PREFIX)/share' \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
72 -DHDF5_BUILD_CPP_LIB=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
73 -DHDF5_BUILD_HL_LIB=ON \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
74 -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
75 -DHDF5_ENABLE_SZIP_SUPPORT=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
76 -DHDF5_ENABLE_SZIP_ENCODING=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
77 -DBUILD_TESTING=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
78 $($(PKG)_CROSS_CONFIG_OPTIONS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
79 -DHDF5_USE_PREGEN_DIR='$(1)/pregen'
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
80
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
81 $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
82 $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)'
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
83
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
84 # FIXME: Change the build rule to create the shared libs with the prefix
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
85 if test x$(MXE_SYSTEM) = xmingw; then \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
86 mv '$(3)/$(HOST_LIBDIR)/hdf5.lib' '$(3)/$(HOST_LIBDIR)/libhdf5.lib'; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
87 mv '$(3)/$(HOST_LIBDIR)/hdf5_tools.lib' '$(3)/$(HOST_LIBDIR)/libhdf5_tools.lib'; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
88 mv '$(3)/$(HOST_LIBDIR)/hdf5_hl.lib' '$(3)/$(HOST_LIBDIR)/libhdf5_hl.lib'; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
89 fi
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
90
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
91 # Remove version suffix from pkg-config files
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
92 mv '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5-$($(PKG)_VERSION).pc' '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5.pc'
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
93 mv '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5_hl-$($(PKG)_VERSION).pc' '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5_hl.pc'
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
94
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
95 if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
96 rm -rf '$(3)$(HOST_PREFIX)/share/hdf5_examples'; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
97 fi
5432
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
98 endef
71761e1b5e83 * src/hdf5.mk: Move from autotools to cmake also for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5430
diff changeset
99