2016-02-07 20:02:44 +00:00
|
|
|
|
#!/bin/bash -e
|
|
|
|
|
|
2016-05-05 19:10:28 +00:00
|
|
|
|
# Копирует бинарник clang а также ld и shared-библиотеку libstdc++ в указанную директорию.
|
2016-02-07 20:02:44 +00:00
|
|
|
|
# Так повезло, что этого достаточно, чтобы затем собирать код на удалённом сервере с совпадающей версией Ubuntu, но без установленного компилятора.
|
|
|
|
|
|
|
|
|
|
DST=${1:-.};
|
|
|
|
|
PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:$PATH"
|
2016-06-10 13:14:32 +00:00
|
|
|
|
LD=$(command -v gold || command -v ld.gold || command -v ld)
|
2016-02-07 20:02:44 +00:00
|
|
|
|
|
2017-08-10 04:44:28 +00:00
|
|
|
|
# Should be runned with correct path to clang
|
2017-05-24 12:32:51 +00:00
|
|
|
|
if [ -z "$CLANG" ]; then
|
|
|
|
|
CLANG=$(which clang)
|
|
|
|
|
fi
|
|
|
|
|
|
2016-02-07 20:02:44 +00:00
|
|
|
|
if [ ! -x "$CLANG" ]; then
|
2017-04-05 11:52:23 +00:00
|
|
|
|
echo "Not found executable clang."
|
|
|
|
|
exit 1
|
2016-02-07 20:02:44 +00:00
|
|
|
|
fi
|
|
|
|
|
|
2016-05-05 19:10:28 +00:00
|
|
|
|
if [ ! -x "$LD" ]; then
|
2017-04-05 11:52:23 +00:00
|
|
|
|
echo "Not found executable gold or ld."
|
|
|
|
|
exit 1
|
2016-05-05 19:10:28 +00:00
|
|
|
|
fi
|
|
|
|
|
|
2017-08-10 04:44:28 +00:00
|
|
|
|
cp "$CLANG" "${DST}/clang"
|
|
|
|
|
cp "$LD" "${DST}/ld"
|
2016-02-07 20:02:44 +00:00
|
|
|
|
|
2017-05-22 21:05:54 +00:00
|
|
|
|
STDCPP=$(ldd $CLANG | grep -oE '/[^ ]+libstdc++[^ ]+')
|
2016-02-07 20:02:44 +00:00
|
|
|
|
|
|
|
|
|
[ -f "$STDCPP" ] && cp "$STDCPP" $DST
|