2022-01-20 07:17:45 +03:00
|
|
|
#! /bin/sh
|
2022-01-16 08:09:36 +03:00
|
|
|
|
|
|
|
set -ex
|
|
|
|
|
2022-01-22 05:10:25 +03:00
|
|
|
srcdir="$(dirname "$0")"
|
2022-01-16 08:09:36 +03:00
|
|
|
test -z "$srcdir" && srcdir=.
|
|
|
|
|
|
|
|
cd "$srcdir"
|
|
|
|
|
2023-04-25 03:42:34 +03:00
|
|
|
if [ -z "$BOOTSTRAP_NO_SHALLOW_CLONES" ]; then
|
|
|
|
SHALLOW_CLONE_FLAG="--depth=1"
|
|
|
|
fi
|
|
|
|
|
|
|
|
[ -d common/flanterm ] || git clone https://github.com/mintsuki/flanterm.git common/flanterm $SHALLOW_CLONE_FLAG
|
2024-01-07 05:26:33 +03:00
|
|
|
[ -f common/stb/stb_image.h ] || (
|
|
|
|
set -e
|
|
|
|
curl -Lo common/stb/stb_image.h https://github.com/nothings/stb/raw/master/stb_image.h
|
|
|
|
patch -p0 < common/stb_image.patch
|
|
|
|
rm -f common/stb/stb_image.h.orig
|
|
|
|
)
|
2023-06-06 02:16:58 +03:00
|
|
|
[ -d decompressor/tinf ] || (
|
|
|
|
set -e
|
|
|
|
mkdir -p decompressor/tinf
|
|
|
|
curl -Lo decompressor/tinf/tinf.h https://github.com/jibsen/tinf/raw/master/src/tinf.h
|
|
|
|
curl -Lo decompressor/tinf/tinflate.c https://github.com/jibsen/tinf/raw/master/src/tinflate.c
|
|
|
|
curl -Lo decompressor/tinf/tinfgzip.c https://github.com/jibsen/tinf/raw/master/src/tinfgzip.c
|
|
|
|
patch -p0 < decompressor/tinf.patch
|
|
|
|
)
|
2023-03-14 14:08:14 +03:00
|
|
|
[ -f freestanding-toolchain ] || ( curl -Lo freestanding-toolchain https://github.com/mintsuki/freestanding-toolchain/raw/trunk/freestanding-toolchain && chmod +x freestanding-toolchain )
|
2023-04-25 03:42:34 +03:00
|
|
|
[ -d freestanding-headers ] || git clone https://github.com/mintsuki/freestanding-headers.git $SHALLOW_CLONE_FLAG
|
|
|
|
[ -d limine-efi ] || git clone https://github.com/limine-bootloader/limine-efi.git $SHALLOW_CLONE_FLAG
|
|
|
|
[ -d libgcc-binaries ] || git clone https://github.com/mintsuki/libgcc-binaries.git $SHALLOW_CLONE_FLAG
|
2023-03-16 06:38:59 +03:00
|
|
|
|
2023-11-19 16:34:24 +03:00
|
|
|
autoreconf -fvi -Wall
|
2023-12-26 18:26:29 +03:00
|
|
|
|
|
|
|
# Older versions of autoreconf have a bug where they do not
|
|
|
|
# install auxiliary files, sometimes... Check if that is the
|
|
|
|
# case and work around...
|
|
|
|
for auxfile in config.guess config.sub install-sh; do
|
|
|
|
if ! [ -f build-aux/$auxfile ]; then
|
|
|
|
mkdir -p build-aux
|
|
|
|
cp -v "$(automake --print-libdir)/$auxfile" build-aux/
|
|
|
|
fi
|
|
|
|
done
|