Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
3-manifolds
GitHub Repository: 3-manifolds/Sage_macOS
Path: blob/main/Sage_base/sage/mpfr/build_mpfr.sh
244 views
1
#!/bin/bash
2
VERSION=4.2.2
3
SRC_DIR=mpfr-${VERSION}
4
SRC_ARCHIVE=${SRC_DIR}.tar.gz
5
URL=https://ftp.gnu.org/gnu/mpfr/${SRC_ARCHIVE}
6
HASH=03aa176cf35d1477e2b6725cde74a728b4ef1a9a
7
INSTALL_PREFIX=`pwd`/local
8
ARCH=`/usr/bin/arch`
9
10
set -e
11
cd mpfr
12
13
if ! [ -e ${SRC_ARCHIVE} ]; then
14
echo "Downloading source archive ${SRC_ARCHIVE}..."
15
curl -L -O ${URL}
16
ACTUAL_HASH=`/usr/bin/shasum ${SRC_ARCHIVE} | cut -f 1 -d' '`
17
if [[ ${ACTUAL_HASH} != ${HASH} ]]; then
18
echo Invalid hash value for ${SRC_ARCHIVE}
19
exit 1
20
fi
21
fi
22
23
if ! [ -d ${SRC_DIR} ]; then
24
echo unpacking ${SRC_ARCHIVE}
25
tar xfz ${SRC_ARCHIVE}
26
pushd ${SRC_DIR}
27
if [ -e ../patches ]; then
28
for patchfile in `ls ../patches`; do
29
patch -p1 < ../patches/$patchfile
30
done
31
fi
32
popd
33
fi
34
35
cd ${SRC_DIR}
36
if [ -e Makefile ]; then
37
make distclean
38
fi
39
export
40
if [ $ARCH == "arm64" ]; then
41
./configure \
42
CFLAGS="-mmacosx-version-min=11 -I${INSTALL_PREFIX}/include" \
43
LDFLAGS="-Wl,-ld_classic -L${INSTALL_PREFIX}/lib" \
44
--prefix=${INSTALL_PREFIX} \
45
--with-gmp=${INSTALL_PREFIX}
46
else
47
./configure \
48
CFLAGS="-mmacosx-version-min=10.13 -mno-avx2 -mno-bmi2 -I${INSTALL_PREFIX}/include" \
49
LDFLAGS="-Wl,-ld_classic -L${INSTALL_PREFIX}/lib" \
50
--prefix=${INSTALL_PREFIX} \
51
--with-gmp=${INSTALL_PREFIX}
52
fi
53
echo "Building mpfr."
54
gmake -j8
55
gmake install
56
57