add installation/uninstallation script for GCC + fix unistallation script for binutils

This commit is contained in:
Yann MAGNIN 2021-11-14 15:00:58 +01:00
parent 3503d79cae
commit 536139dc5f
3 changed files with 135 additions and 1 deletions

View File

@ -54,4 +54,4 @@ done
# Remove local files
echo "$TAG Removing installed files..."
rm -rf bin/ sh-elf-vhex/ share/ lib/
rm -rf ../../build/binutils

77
scripts/gcc/install.sh Executable file
View File

@ -0,0 +1,77 @@
#! /usr/bin/env bash
verbose=false
cache=false
prefix=
#
# Help screen
#
help()
{
cat << OEF
Installation helper script for the configuration step of the binutils build for
the Vhex kernel project.
Usage $0 [options...]
Configurations:
-h, --help Display this help
--cache Keep the build and sources directory
--verbose Display extra information during the installation step
--prefix=<PREFIX> Installation prefix
OEF
exit 0
}
#
# Parse argument
#
[[ $# -eq 0 ]] && help
for arg; do case "$arg" in
--help | -h) help;;
--verbose) verbose=true;;
--cache) cache=true;;
--prefix=*) prefix=${arg#*=};;
*)
echo "error: unreconized argument '$arg', giving up." >&2
exit 1
esac; done
#
# Installation step
# @note
# This part is forked from the sh-elf-binutils repository created by
# Lephenixnoir.
#
TAG='<sh-elf-vhex-gcc>'
PREFIX="$prefix"
# Avoid rebuilds of the same version
[[ ! -d ../../build/gcc ]] && exit 0
cd ../../build/gcc
# Symbolic link executables to $PREFIX/bin
echo "$TAG Symlinking binaries..."
mkdir -p $PREFIX/bin
for x in bin/*; do
ln -sf "$(pwd)/$x" "$PREFIX/$x"
done
# Cleanup build files
if [[ "$cache" == 'false' ]]; then
echo "$TAG Cleaning up build files..."
rm -rf gcc/
rm -rf build/
fi

57
scripts/gcc/uninstall.sh Executable file
View File

@ -0,0 +1,57 @@
#! /usr/bin/env bash
verbose=false
prefix=
#
# Help screen
#
help()
{
cat << OEF
Installation helper script for the configuration step of the binutils build for
the Vhex kernel project.
Usage $0 [options...]
Configurations:
-h, --help Display this help
--verbose Display extra information during the installation step
--prefix=<PREFIX> Installation prefix
OEF
exit 0
}
#
# Parse argument
#
for arg; do case "$arg" in
--help | -h) help;;
--verbose) verbose=true;;
--prefix=*) prefix=${arg#*=};;
*)
echo "error: unreconized argument '$arg', giving up." >&2
exit 1
esac; done
#
# Unistall step
#
TAG='<sh-elf-vhex-gcc>'
PREFIX="$prefix"
# Remove symlinks
echo "$TAG Removing symlinks to binaries..."
for x in bin/*; do
rm "$PREFIX/$x"
done
# Remove local files
echo "$TAG Removing installed files..."
rm -rf ../../build/gcc