annotate src/hdf5.mk @ 6234:97c5f8da5036 release

* src/librsb.mk: update to 1.2.0.11
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 27 May 2022 12:24:32 +0200
parents de66eba9951c
children 7116726c5243
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 :=
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
6 $(PKG)_VERSION := 1.12.1
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
7 $(PKG)_CHECKSUM := 665eed49a004f96f852887bb2b232dd7d3d8d8a0
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)
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
11 $(PKG)_DEPS := build-ninja 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="" \
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
35 -DH5_PRINTF_LL_TEST_RUN=0 \
5541
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'; \
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
44 mkdir '$(1)/pregen/shared'; \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
45 case '$(TARGET)' in \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
46 x86_64-w64-mingw32) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
47 cp '$(1)/src/H5Tinit.c.mingw64' '$(1)/pregen/H5Tinit.c' & \
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
48 cp '$(1)/src/H5Tinit.c.mingw64' '$(1)/pregen/shared/H5Tinit.c' & \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
49 cp '$(1)/src/H5lib_settings.c.mingw64' '$(1)/pregen/H5lib_settings.c' & \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
50 cp '$(1)/src/H5lib_settings.c.mingw64' '$(1)/pregen/shared/H5lib_settings.c' \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
51 ;; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
52 i686-w64-mingw32) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
53 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
54 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/shared/H5Tinit.c' & \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
55 cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' & \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
56 cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/shared/H5lib_settings.c' \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
57 ;; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
58 i686-pc-mingw32) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
59 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
60 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/shared/H5Tinit.c' & \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
61 cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' & \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
62 cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/shared/H5lib_settings.c' \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
63 ;; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
64 esac; \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
65 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
66
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
67 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
68
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
69 cd '$(1)/.build' && cmake .. -G Ninja \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
70 -DCMAKE_INSTALL_PREFIX=$(HOST_PREFIX) \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
71 $($(PKG)_CMAKE_FLAGS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
72 $(CMAKE_CCACHE_FLAGS) \
5571
b19fb3ed330c use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents: 5541
diff changeset
73 $(CMAKE_BUILD_SHARED_OR_STATIC) \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
74 -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
75 -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
76 -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
77 -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
78 -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
79 -DHDF5_BUILD_CPP_LIB=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
80 -DHDF5_BUILD_HL_LIB=ON \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
81 -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
82 -DHDF5_ENABLE_SZIP_SUPPORT=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
83 -DHDF5_ENABLE_SZIP_ENCODING=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
84 -DBUILD_TESTING=OFF \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
85 $($(PKG)_CROSS_CONFIG_OPTIONS) \
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
86 -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
87
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
88 cmake --build '$(1)/.build' -j '$(JOBS)'
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
89 DESTDIR='$(3)' cmake --install '$(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
90
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
91 # FIXME: Change the build rule to create the shared libs with the prefix
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
92 if [ $(BUILD_STATIC) = yes ]; then \
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
93 if test x$(MXE_SYSTEM) = xmingw; then \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
94 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
95 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
96 mv '$(3)/$(HOST_LIBDIR)/hdf5_hl.lib' '$(3)/$(HOST_LIBDIR)/libhdf5_hl.lib'; \
5925
de66eba9951c HDF5: Update to version 1.12.1.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5571
diff changeset
97 fi; \
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
98 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
99
5541
d862fd40cc42 Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5454
diff changeset
100 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
101 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
102 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
103 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
104