Skip to content

Commit 6267a91

Browse files
author
Jeff Whitaker
authored
upate build_hdf5 with patches from conda-forge for cross-compiling
1 parent 042c919 commit 6267a91

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

config.sh

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,63 @@ function build_curl2 {
7777
touch curl-stamp
7878
}
7979

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+
80137
function build_libs {
81138
build_hdf5
82139
build_curl2

0 commit comments

Comments
 (0)