86 lines
2.3 KiB
Bash
Executable File
86 lines
2.3 KiB
Bash
Executable File
#!/bin/echo You are not supposed to run this file.
|
||
|
||
# Copyright 2022, FOSS-VG Developers and Contributers
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify it
|
||
# under the terms of the GNU Affero General Public License as published
|
||
# by the Free Software Foundation, version 3.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied
|
||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||
# See the GNU Affero General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU Affero General Public License
|
||
# version 3 along with this program.
|
||
# If not, see https://www.gnu.org/licenses/agpl-3.0.en.html
|
||
|
||
if [ "$(tr '[:upper:]' '[:lower:]' <<< $SINGLE)" = "yes" ]; then
|
||
echo "Single-threaded mode enabled."
|
||
WAIT_ANYWAY="wait"
|
||
else
|
||
WAIT_ANYWAY=""
|
||
fi
|
||
|
||
if [ -z "$CXX" ]; then
|
||
CXX="c++"
|
||
fi
|
||
if [ -z "$CXXFLAGS" ]; then
|
||
CXXFLAGS="-std=c++20 -Wall -Wextra"
|
||
fi
|
||
CXX_WITH_FLAGS="$CXX $CXXFLAGS"
|
||
|
||
# automatically find and use an appropriate sha256 sum command
|
||
# currently supports sha256sum and NetBSD's sha256
|
||
if command -v sha256sum > /dev/null; then
|
||
function check_sha256 {
|
||
FILE="$1"
|
||
CHECKSUM="$2"
|
||
sha256sum --check <<< "$CHECKSUM *$FILE" >/dev/null 2>&1
|
||
return $?
|
||
}
|
||
else
|
||
if command -v sha256 > /dev/null; then
|
||
function check_sha256 {
|
||
FILE="$1"
|
||
CHECKSUM="$2"
|
||
sha256 -c <<< "SHA256 ($FILE) = $CHECKSUM" >/dev/null 2>&1
|
||
return $?
|
||
}
|
||
else
|
||
echo "Could not find sha256sum or sha256."
|
||
exit 1
|
||
fi
|
||
fi
|
||
|
||
# This function exists to make the output more sensible on platforms where
|
||
# `rm -v` only prints the names of the removed things instead of a more
|
||
# comprehensible message like "removing NAME".
|
||
function remove {
|
||
local USE_FORCE=""
|
||
if [ "$1" = "-f" ]; then
|
||
USE_FORCE="-f"
|
||
echo "Forcefully removing $1..."
|
||
else
|
||
echo "Removing $1..."
|
||
fi;
|
||
shift
|
||
if [ -d "$1" ]; then
|
||
rm "$USE_FORCE" -rv "$1"
|
||
else
|
||
rm "$USE_FORCE" -v "$1"
|
||
fi
|
||
}
|
||
|
||
# some platforms don’t support `mkdir -v`
|
||
function create_directory {
|
||
echo "Creating directory: $1"
|
||
mkdir -p "$1"
|
||
}
|
||
|
||
# `mkfile -v` if you will
|
||
function create_file {
|
||
echo "Creating file: $1"
|
||
touch "$1"
|
||
}
|