#!/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" shift echo "Forcefully removing $1..." else echo "Removing $1..." fi; 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" }