summaryrefslogtreecommitdiff
path: root/bootstrap
blob: bea5ccfe778712403edaa98dd5521119ec5ad9f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/bash
set -e

mkdir -p lib/

SYSTEM_NAME="$(uname -s)"
MAKE="make"
GIT="git"
GCC="gcc"
CLANG="clang"


if [ "$SYSTEM_NAME" = "OpenBSD" ]
then
    MAKE="$(which gmake)"
fi


# arg0: Output path.
# arg1: Command for downloading
try_fetch() {
    if [[ -d $2 ]]
    then
        echo "try_fetch: Skipping $2: already exists"
    else
        ${@:1}
    fi
}

prepare() {
    if [[ -d .git/ ]]
    then
        # Copy git hooks
        cp -v builddeps/hooks/* .git/
    fi
}

fetch() {
    try_fetch "git clone https://github.com/limine-bootloader/limine.git --branch=v9.x-binary --depth=1" "stand/limine"
}

build_limine() {
    $MAKE -C stand/limine/
}

build_kconf() {
    $MAKE -C tools/kconf/
}

build() {
    build_limine
    build_kconf
}

echo "----------------------------------"
echo
echo "   Preparing build environment... "
echo
echo "----------------------------------"
echo -e "\n"

prepare

echo "----------------------------------"
echo
echo "      Fetching sources...        "
echo
echo "----------------------------------"
echo -e "\n"

fetch           # Fetch sources

echo "----------------------------------"
echo
echo "      Building sources...        "
echo
echo "----------------------------------"
echo -e "\n"

build           # Build sources

if [[ ! -f ./configure ]]
then
    echo "Creating configure script..."
    autoconf
fi