@@ -77,6 +77,63 @@ function build_curl2 {
77
77
touch curl-stamp
78
78
}
79
79
80
+ function build_hdf5 {
81
+ if [ -e hdf5-stamp ]; then return ; fi
82
+ build_zlib
83
+ # libaec is a drop-in replacement for szip
84
+ build_libaec
85
+ local hdf5_url=https://support.hdfgroup.org/ftp/HDF5/releases
86
+ local short=$( echo $HDF5_VERSION | awk -F " ." ' {printf "%d.%d", $1, $2}' )
87
+ fetch_unpack $hdf5_url /hdf5-$short /hdf5-$HDF5_VERSION /src/hdf5-$HDF5_VERSION .tar.gz
88
+
89
+ if [[ ! -z " IS_OSX" && " $PLAT " = " arm64" ]] && [[ " $CROSS_COMPILING " = " 1" ]]; then
90
+ pushd hdf5-$HDF5_VERSION
91
+ # from https://github.com/conda-forge/hdf5-feedstock/commit/2cb83b63965985fa8795b0a13150bf0fd2525ebd
92
+ export ac_cv_sizeof_long_double=8
93
+ export hdf5_cv_ldouble_to_long_special=no
94
+ export hdf5_cv_long_to_ldouble_special=no
95
+ export hdf5_cv_ldouble_to_llong_accurate=yes
96
+ export hdf5_cv_llong_to_ldouble_correct=yes
97
+ export hdf5_cv_disable_some_ldouble_conv=no
98
+ export hdf5_cv_system_scope_threads=yes
99
+ export hdf5_cv_printf_ll=" l"
100
+ export PAC_FC_MAX_REAL_PRECISION=15
101
+ export PAC_C_MAX_REAL_PRECISION=17
102
+ export PAC_FC_ALL_INTEGER_KINDS=" {1,2,4,8,16}"
103
+ export PAC_FC_ALL_REAL_KINDS=" {4,8}"
104
+ export H5CONFIG_F_NUM_RKIND=" INTEGER, PARAMETER :: num_rkinds = 2"
105
+ export H5CONFIG_F_NUM_IKIND=" INTEGER, PARAMETER :: num_ikinds = 5"
106
+ export H5CONFIG_F_RKIND=" INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/4,8/)"
107
+ export H5CONFIG_F_IKIND=" INTEGER, DIMENSION(1:num_ikinds) :: ikind = (/1,2,4,8,16/)"
108
+ export PAC_FORTRAN_NATIVE_INTEGER_SIZEOF=" 4"
109
+ export PAC_FORTRAN_NATIVE_INTEGER_KIND=" 4"
110
+ export PAC_FORTRAN_NATIVE_REAL_SIZEOF=" 4"
111
+ export PAC_FORTRAN_NATIVE_REAL_KIND=" 4"
112
+ export PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF=" 8"
113
+ export PAC_FORTRAN_NATIVE_DOUBLE_KIND=" 8"
114
+ export PAC_FORTRAN_NUM_INTEGER_KINDS=" 5"
115
+ export PAC_FC_ALL_REAL_KINDS_SIZEOF=" {4,8}"
116
+ export PAC_FC_ALL_INTEGER_KINDS_SIZEOF=" {1,2,4,8,16}"
117
+ curl -sLO https://github.com/conda-forge/hdf5-feedstock/raw/2cb83b63965985fa8795b0a13150bf0fd2525ebd/recipe/patches/osx_cross_configure.patch
118
+ curl -sLO https://github.com/conda-forge/hdf5-feedstock/raw/2cb83b63965985fa8795b0a13150bf0fd2525ebd/recipe/patches/osx_cross_fortran_src_makefile.patch
119
+ curl -sLO https://github.com/conda-forge/hdf5-feedstock/raw/2cb83b63965985fa8795b0a13150bf0fd2525ebd/recipe/patches/osx_cross_hl_fortran_src_makefile.patch
120
+ curl -sLO https://github.com/conda-forge/hdf5-feedstock/raw/2cb83b63965985fa8795b0a13150bf0fd2525ebd/recipe/patches/osx_cross_src_makefile.patch
121
+ patch -p0 < osx_cross_configure.patch
122
+ patch -p0 < osx_cross_fortran_src_makefile.patch
123
+ patch -p0 < osx_cross_hl_fortran_src_makefile.patch
124
+ patch -p0 < osx_cross_src_makefile.patch
125
+ popd
126
+ fi
127
+
128
+ (cd hdf5-$HDF5_VERSION \
129
+ && export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :$BUILD_PREFIX /lib \
130
+ && ./configure --with-szlib=$BUILD_PREFIX --prefix=$BUILD_PREFIX \
131
+ --enable-threadsafe --enable-unsupported --with-pthread=yes \
132
+ && make -j4 \
133
+ && make install)
134
+ touch hdf5-stamp
135
+ }
136
+
80
137
function build_libs {
81
138
build_hdf5
82
139
build_curl2
0 commit comments