| 1 | #!/bin/bash -e
|
|---|
| 2 |
|
|---|
| 3 | set -e
|
|---|
| 4 |
|
|---|
| 5 | # sudo apt-get install sharutils texi2html
|
|---|
| 6 |
|
|---|
| 7 | VERSION=2.31.1
|
|---|
| 8 |
|
|---|
| 9 | export NUM_JOBS="$(($(nproc) * 2))"
|
|---|
| 10 | export SRC_DIR=${HOME}/src
|
|---|
| 11 |
|
|---|
| 12 | NAME=binutils
|
|---|
| 13 | SOURCE_DIR=${SRC_DIR}/${NAME}-${VERSION}
|
|---|
| 14 | BUILD_DIR=${SOURCE_DIR}_build
|
|---|
| 15 | ARCHIVE_FILE=${NAME}-${VERSION}.tar.xz
|
|---|
| 16 | URL=http://ftp.gnu.org/gnu/${NAME}/${ARCHIVE_FILE}
|
|---|
| 17 |
|
|---|
| 18 | pushd ${SRC_DIR}
|
|---|
| 19 |
|
|---|
| 20 | # Download package
|
|---|
| 21 | if [ ! -f ${ARCHIVE_FILE} ]; then
|
|---|
| 22 | wget ${URL}
|
|---|
| 23 | fi
|
|---|
| 24 |
|
|---|
| 25 | # Untar
|
|---|
| 26 | if [ ! -d ${SOURCE_DIR} ]; then
|
|---|
| 27 | tar xvf ${ARCHIVE_FILE}
|
|---|
| 28 | fi
|
|---|
| 29 |
|
|---|
| 30 | # Create build directory, configure and build
|
|---|
| 31 | mkdir -p ${BUILD_DIR}
|
|---|
| 32 | pushd ${BUILD_DIR}
|
|---|
| 33 |
|
|---|
| 34 |
|
|---|
| 35 | ${SOURCE_DIR}/configure \
|
|---|
| 36 | --prefix=/usr \
|
|---|
| 37 | --enable-gold \
|
|---|
| 38 | --enable-ld=default \
|
|---|
| 39 | --enable-plugins \
|
|---|
| 40 | --enable-shared \
|
|---|
| 41 | --disable-werror \
|
|---|
| 42 | --enable-64-bit-bfd \
|
|---|
| 43 | --with-system-zlib \
|
|---|
| 44 |
|
|---|
| 45 | make -j ${NUM_JOBS}
|
|---|
| 46 | sudo make install
|
|---|
| 47 |
|
|---|
| 48 | popd
|
|---|