1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:37:36 +00:00

Build: Sprinkle some portability, fix on OpenBSD

realpath(1) is specific to coreutils and its behavior can be had
with readlink -f

Create the Toolchain Build directory if it doesn't exist before
calling readlink, since realpath(3) on at least OpenBSD will error
on a non-existent path
This commit is contained in:
joshua stein 2020-12-28 17:36:15 -06:00 committed by Andreas Kling
parent 4021264201
commit 0d215b5548
4 changed files with 15 additions and 6 deletions

View file

@ -12,12 +12,13 @@ echo "$DIR"
ARCH=${ARCH:-"i686"}
TARGET="$ARCH-pc-serenity"
PREFIX="$DIR/Local/$ARCH"
BUILD=$(realpath "$DIR/../Build")
BUILD="$DIR/../Build"
SYSROOT="$BUILD/Root"
MAKE="make"
MD5SUM="md5sum"
NPROC="nproc"
REALPATH="realpath"
if command -v ginstall &>/dev/null; then
INSTALL=ginstall
@ -29,6 +30,7 @@ if [ "$(uname -s)" = "OpenBSD" ]; then
MAKE=gmake
MD5SUM="md5 -q"
NPROC="sysctl -n hw.ncpuonline"
REALPATH="readlink -f"
export CC=egcc
export CXX=eg++
export with_gmp=/usr/local
@ -41,6 +43,12 @@ elif [ "$(uname -s)" = "FreeBSD" ]; then
export with_mpfr=/usr/local
fi
# On at least OpenBSD, the path must exist to call realpath(3) on it
if [ ! -d "$BUILD" ]; then
mkdir -p "$BUILD"
fi
BUILD=$($REALPATH "$BUILD")
git_patch=
while [ "$1" != "" ]; do
case $1 in
@ -236,7 +244,7 @@ pushd "$DIR/Build/$ARCH"
mkdir -p "$BUILD"
pushd "$BUILD"
mkdir -p Root/usr/include/
SRC_ROOT=$(realpath "$DIR"/..)
SRC_ROOT=$($REALPATH "$DIR"/..)
FILES=$(find "$SRC_ROOT"/Userland/Libraries/LibC "$SRC_ROOT"/Userland/Libraries/LibM -name '*.h' -print)
for header in $FILES; do
target=$(echo "$header" | sed -e "s@$SRC_ROOT/Userland/Libraries/LibC@@" -e "s@$SRC_ROOT/Userland/Libraries/LibM@@")