Mercurial > mxe-octave
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 |
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 |