First step to having a local toolchain
This commit is contained in:
parent
b8b6576b7f
commit
d0a4a06c7b
3 changed files with 171 additions and 0 deletions
51
scripts/build_toolchain.sh
Executable file
51
scripts/build_toolchain.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo $DIR
|
||||
|
||||
ARCH="x86_64"
|
||||
TARGET="$ARCH-pc-acadia"
|
||||
TOOLCHAIN="$DIR/../toolchain"
|
||||
PREFIX="$TOOLCHAIN/local"
|
||||
BUILD="$DIR/../builddbg"
|
||||
SYSROOT="$DIR/../sysroot"
|
||||
|
||||
|
||||
BINUTILS_VERSION="2.40"
|
||||
BINUTILS_NAME="binutils-$BINUTILS_VERSION"
|
||||
BINUTILS_PKG="${BINUTILS_NAME}.tar.xz"
|
||||
BINUTILS_BASE_URL="https://ftp.gnu.org/gnu/binutils"
|
||||
|
||||
mkdir -p "$TOOLCHAIN/srcs"
|
||||
pushd "$TOOLCHAIN/srcs"
|
||||
# TODO: Check md5sum
|
||||
if [ ! -e "$BINUTILS_PKG" ]; then
|
||||
curl -LO "$BINUTILS_BASE_URL/$BINUTILS_PKG"
|
||||
fi
|
||||
|
||||
if [ ! -d "$BINUTILS_NAME" ]; then
|
||||
tar -xJf ${BINUTILS_PKG}
|
||||
fi
|
||||
|
||||
|
||||
popd
|
||||
|
||||
mkdir -p "$TOOLCHAIN/build"
|
||||
pushd "$TOOLCHAIN/build"
|
||||
# rm -rf binutils
|
||||
if [ ! -d binutils ]; then
|
||||
mkdir -p binutils
|
||||
pushd binutils
|
||||
# skip building documentation
|
||||
export ac_cv_prog_MAKEINFO=true
|
||||
"$TOOLCHAIN"/srcs/$BINUTILS_NAME/configure --prefix="$PREFIX" --target="$TARGET" --with-sysroot="$SYSROOT" --enable-shared --disable-nls
|
||||
make MAKEINFO=true -j 8
|
||||
make install MAKEINFO=true -j 8
|
||||
popd
|
||||
fi
|
||||
|
||||
|
||||
popd
|
||||
Loading…
Add table
Add a link
Reference in a new issue