redoing project, starting with incremental updates
This commit is contained in:
68
build.sh
Executable file
68
build.sh
Executable file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
export LC_ALL="POSIX"
|
||||||
|
|
||||||
|
export TARGET="x86_64-axe-linux-gnu"
|
||||||
|
|
||||||
|
export MAKEFLAGS="-j$(nproc)"
|
||||||
|
|
||||||
|
export SYSROOT="$PWD/sysroot"
|
||||||
|
|
||||||
|
export PROJDIR="$PWD"
|
||||||
|
|
||||||
|
export SOURCES="$SYSROOT/sources"
|
||||||
|
|
||||||
|
export CROSS="$SYSROOT/cross"
|
||||||
|
|
||||||
|
export PATH="$CROSS/bin:/usr/bin:/usr/sbin"
|
||||||
|
|
||||||
|
export CONFIG_SITE="$SYSROOT/usr/share/config.site"
|
||||||
|
|
||||||
|
BINUTILS_VERSION=2.45.1
|
||||||
|
BINUTILS_URL=https://mirror.ufs.ac.za/gnu/binutils/binutils-$BINUTILS_VERSION.tar.xz
|
||||||
|
|
||||||
|
|
||||||
|
if [ ! -d "$SYSROOT" ]; then
|
||||||
|
mkdir -p "$SYSROOT"/{etc,cross,sources,usr,dev,proc,sys,run}
|
||||||
|
mkdir -p "$SYSROOT"/usr/{bin,sbin,lib,include}
|
||||||
|
|
||||||
|
for directory in bin sbin lib; do
|
||||||
|
ln -fs "usr/$directory" "$SYSROOT/$directory"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
fetch() {
|
||||||
|
wget -N -c --show-progress -q -P "$SOURCES" $1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bootstrap_binutils() {
|
||||||
|
fetch $BINUTILS_URL
|
||||||
|
|
||||||
|
cd "$SOURCES"
|
||||||
|
tar xf binutils-$BINUTILS_VERSION.tar.xz
|
||||||
|
cd binutils-$BINUTILS_VERSION
|
||||||
|
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
../configure \
|
||||||
|
--prefix="$CROSS" \
|
||||||
|
--with-sysroot="$SYSROOT" \
|
||||||
|
--target="$TARGET" \
|
||||||
|
--disable-nls \
|
||||||
|
--enable-gprofng=no \
|
||||||
|
--disable-werror \
|
||||||
|
--enable-new-dtags \
|
||||||
|
--enable-default-hash-style=gnu
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bootstrap_binutils
|
||||||
Reference in New Issue
Block a user