Skip to content

Commit 6b333c9

Browse files
authored
Update clang install (#1)
Ensures that all required links are present even if clang is already installed Signed-off-by: Simon Davies <[email protected]>
1 parent cda345c commit 6b333c9

File tree

1 file changed

+67
-6
lines changed

1 file changed

+67
-6
lines changed

action.yml

Lines changed: 67 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,74 @@ runs:
5656
wget https://apt.llvm.org/llvm.sh
5757
chmod +x ./llvm.sh
5858
sudo ./llvm.sh 17 all
59-
sudo ln -s /usr/lib/llvm-17/bin/clang-cl /usr/bin/clang-cl
60-
sudo ln -s /usr/lib/llvm-17/bin/clang /usr/bin/clang
61-
sudo ln -s /usr/lib/llvm-17/bin/llvm-lib /usr/bin/llvm-lib
62-
sudo ln -s /usr/lib/llvm-17/bin/lld-link /usr/bin/lld-link
63-
sudo ln -s /usr/lib/llvm-17/bin/llvm-ml /usr/bin/llvm-ml
64-
sudo ln -s /usr/lib/llvm-17/bin/ld.lld /usr/bin/ld.lld
6559
fi
60+
61+
if [ -f /usr/lib/llvm-17/bin/clang-cl ]; then
62+
if [ ! -L /usr/bin/clang-cl ]; then
63+
sudo ln -s /usr/lib/llvm-17/bin/clang-cl /usr/bin/clang-cl
64+
else
65+
echo "clang-cl already linked"
66+
fi
67+
else
68+
echo "Error: /usr/lib/llvm-17/bin/clang-cl does not exist."
69+
exit 1
70+
fi
71+
72+
if [ -f /usr/lib/llvm-17/bin/clang ]; then
73+
if [ ! -L /usr/bin/clang ]; then
74+
sudo ln -s /usr/lib/llvm-17/bin/clang /usr/bin/clang
75+
else
76+
echo "clang already linked"
77+
fi
78+
else
79+
echo "Error: /usr/lib/llvm-17/bin/clang does not exist."
80+
exit 1
81+
fi
82+
83+
if [ -f /usr/lib/llvm-17/bin/llvm-lib ]; then
84+
if [ ! -L /usr/bin/llvm-lib ]; then
85+
sudo ln -s /usr/lib/llvm-17/bin/llvm-lib /usr/bin/llvm-lib
86+
else
87+
echo "llvm-lib already linked"
88+
fi
89+
else
90+
echo "Error: /usr/lib/llvm-17/bin/llvm-lib does not exist."
91+
exit 1
92+
fi
93+
94+
if [ -f /usr/lib/llvm-17/bin/lld-link ]; then
95+
if [ ! -L /usr/bin/lld-link ]; then
96+
sudo ln -s /usr/lib/llvm-17/bin/lld-link /usr/bin/lld-link
97+
else
98+
echo "lld-link already linked"
99+
fi
100+
else
101+
echo "Error: /usr/lib/llvm-17/bin/lld-link does not exist."
102+
exit 1
103+
fi
104+
105+
if [ -f /usr/lib/llvm-17/bin/llvm-ml ]; then
106+
if [ ! -L /usr/bin/llvm-ml ]; then
107+
sudo ln -s /usr/lib/llvm-17/bin/llvm-ml /usr/bin/llvm-ml
108+
else
109+
echo "llvm-ml already linked"
110+
fi
111+
else
112+
echo "Error: /usr/lib/llvm-17/bin/llvm-ml does not exist."
113+
exit 1
114+
fi
115+
116+
if [ -f /usr/lib/llvm-17/bin/ld.lld ]; then
117+
if [ ! -L /usr/bin/ld.lld ]; then
118+
sudo ln -s /usr/lib/llvm-17/bin/ld.lld /usr/bin/ld.lld
119+
else
120+
echo "ld.lld already linked"
121+
fi
122+
else
123+
echo "Error: /usr/lib/llvm-17/bin/ld.lld does not exist."
124+
exit 1
125+
fi
126+
66127
clang-cl --version
67128
lld-link --version
68129
ld.lld --version

0 commit comments

Comments
 (0)