1 | #!/bin/bash
|
---|
2 | set -eu
|
---|
3 |
|
---|
4 |
|
---|
5 | ## Constants
|
---|
6 | #
|
---|
7 | AUTOCONF_VER="2.69"
|
---|
8 | AUTOMAKE_VER="1.16.1"
|
---|
9 | LIBTOOL_VER="2.4.6"
|
---|
10 | M4_VER="1.4.19"
|
---|
11 |
|
---|
12 | PREFIX="${ISSM_DIR}/externalpackages/autotools/install" # Set to location where external package should be installed
|
---|
13 |
|
---|
14 | ## Environment
|
---|
15 | #
|
---|
16 | export PATH="${PREFIX}/bin:${PATH}"
|
---|
17 |
|
---|
18 | # Cleanup
|
---|
19 | rm -rf ${PREFIX} src
|
---|
20 | mkdir -p ${PREFIX}
|
---|
21 |
|
---|
22 | # Install m4
|
---|
23 | echo " === INSTALLING M4 ==="
|
---|
24 | ${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/m4-${M4_VER}.tar.gz" "m4-${M4_VER}.tar.gz"
|
---|
25 | tar -zxvf m4-${M4_VER}.tar.gz
|
---|
26 | mv m4-${M4_VER} src
|
---|
27 | cd src
|
---|
28 |
|
---|
29 | ## Fixes required by glibc-2.28
|
---|
30 | #
|
---|
31 | # Source: http://www.linuxfromscratch.org/lfs/view/development/chapter06/m4.html
|
---|
32 | #
|
---|
33 | sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
|
---|
34 | echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h
|
---|
35 |
|
---|
36 | ./configure --prefix="${PREFIX}"
|
---|
37 | if [ $# -eq 0 ]; then
|
---|
38 | make
|
---|
39 | make install
|
---|
40 | else
|
---|
41 | make -j $1
|
---|
42 | make -j $1 install
|
---|
43 | fi
|
---|
44 | cd ..
|
---|
45 |
|
---|
46 | # Install Autoconf
|
---|
47 | echo " === INSTALLING AUTOCONF ==="
|
---|
48 | rm -rf src
|
---|
49 | ${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/autoconf-${AUTOCONF_VER}.tar.gz" "autoconf-${AUTOCONF_VER}.tar.gz"
|
---|
50 | tar -zxvf autoconf-${AUTOCONF_VER}.tar.gz
|
---|
51 | mv autoconf-${AUTOCONF_VER} src
|
---|
52 | cd src
|
---|
53 | ./configure --prefix="${PREFIX}"
|
---|
54 | if [ $# -eq 0 ]; then
|
---|
55 | make
|
---|
56 | make install
|
---|
57 | else
|
---|
58 | make -j $1
|
---|
59 | make -j $1 install
|
---|
60 | fi
|
---|
61 | cd ..
|
---|
62 |
|
---|
63 | # Install Automake
|
---|
64 | echo " === INSTALLING AUTOMAKE ==="
|
---|
65 | rm -rf src
|
---|
66 | ${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/automake-${AUTOMAKE_VER}.tar.gz" "automake-${AUTOMAKE_VER}.tar.gz"
|
---|
67 | tar -zxvf automake-${AUTOMAKE_VER}.tar.gz
|
---|
68 | mv automake-${AUTOMAKE_VER} src
|
---|
69 | cd src
|
---|
70 | ./configure --prefix="${PREFIX}"
|
---|
71 | if [ $# -eq 0 ]; then
|
---|
72 | make
|
---|
73 | make install
|
---|
74 | else
|
---|
75 | make -j $1
|
---|
76 | make -j $1 install
|
---|
77 | fi
|
---|
78 | cd ..
|
---|
79 |
|
---|
80 | # Install libtool
|
---|
81 | echo " === INSTALLING LIBTOOL ==="
|
---|
82 | rm -rf src
|
---|
83 | ${ISSM_DIR}/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/libtool-${LIBTOOL_VER}.tar.gz" "libtool-${LIBTOOL_VER}.tar.gz"
|
---|
84 | tar -zxvf libtool-${LIBTOOL_VER}.tar.gz
|
---|
85 | mv libtool-${LIBTOOL_VER} src
|
---|
86 | cd src
|
---|
87 | ./configure --prefix="${PREFIX}"
|
---|
88 | if [ $# -eq 0 ]; then
|
---|
89 | make
|
---|
90 | make install
|
---|
91 | else
|
---|
92 | make -j $1
|
---|
93 | make -j $1 install
|
---|
94 | fi
|
---|
95 | cd ..
|
---|