-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathSetUp.sh
More file actions
88 lines (74 loc) · 1.84 KB
/
Copy pathSetUp.sh
File metadata and controls
88 lines (74 loc) · 1.84 KB
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
87
88
#!/usr/bin/env bash
set -e
# set up tools and dependencies for some linux distros
#
mkdir -p bin
mkdir -p Objects
mkdir -p Objects/FrontEnd/Lexer
mkdir -p Objects/FrontEnd/AST
mkdir -p Objects/FrontEnd/Parser
mkdir -p Objects/FrontEnd/TreeWalker
mkdir -p Objects/FrontEnd/IdentifierResolution
mkdir -p Objects/FrontEnd/LoopLabelling
mkdir -p Objects/FrontEnd/TypeChecking
mkdir -p Objects/FrontEnd/Driver
mkdir -p Objects/CmdLine
mkdir -p Objects/C4COptions
mkdir -p Objects/Driver
mkdir -p Objects/Support
mkdir -p Objects/MiddleEnd/C
mkdir -p Objects/MiddleEnd/Driver
sudo mkdir -p /usr/include/AchiorLabs/C4
sudo cp Support/Include/Types.h /usr/include/AchiorLabs/C4/Types.h
exit 0
mkdir -p Objects/MiddleEnd/c4il
mkdir -p Objects/MiddleEnd/optimization
mkdir -p Objects/backend/x86_64
if [ -f /etc/os-release ]; then
. /etc/os-release
DISTRO=$ID
else
echo "[-] cannot detect distro information !! please install the reqired packages manually"
echo "required packages are gcc and nasm and their dependencies"
fi
echo "[+] Detected distro : $DISTRO"
install_debian(){
sudo apt install -y gcc nasm
}
install_arch(){
sudo pacman -Sy --noconfirm
sudo pacman -S --noconfirm gcc nasm
}
## updating the distro has not been included due to reasons known to arch users and maybe others
install_opensuse(){
sudo zypper install -y gcc nasm pattern devel_basis
}
install_fedora(){
sudo dnf install -y gcc nasm @development-tools
}
install_alpine(){
sudo apk add gcc nasm buid-base
}
case "$DISTRO" in
ubuntu|debian|linuxmint|pop)
install_debian
;;
arch|manjaro)
install_arch
;;
fedora)
install_fedora
;;
opensuse*|suse)
install_opensuse
;;
alpine)
install_alpine
;;
*)
echo "[-] distro unsuported please install nasm and gcc manually before proceeding"
exit 1
;;
esac
echo "[+] Installlation complete!!"
echo "Have fun using c4 :)"