2023-02-13 10:26:01 -07:00
|
|
|
#!/bin/bash
|
|
|
|
|
2023-04-29 06:43:54 -07:00
|
|
|
while (($# > 0)); do
|
|
|
|
case $1 in
|
|
|
|
--test) # install test dependencies
|
|
|
|
TEST=1
|
|
|
|
shift
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2023-02-13 10:26:01 -07:00
|
|
|
os=$(uname -s)
|
|
|
|
if [[ $os == Linux ]]; then
|
2023-09-09 01:36:42 -07:00
|
|
|
sudo apt-get update
|
2023-09-30 04:14:24 -07:00
|
|
|
sudo apt-get install -y attr build-essential cmake curl gettext libattr1-dev ninja-build unzip
|
2023-10-08 14:05:23 -07:00
|
|
|
|
|
|
|
if [[ $CC == clang ]]; then
|
|
|
|
DEFAULT_CLANG_VERSION=$(echo | clang -dM -E - | grep __clang_major | awk '{print $3}')
|
|
|
|
CLANG_VERSION=17
|
|
|
|
if ((DEFAULT_CLANG_VERSION >= CLANG_VERSION)); then
|
|
|
|
echo "Default clang version is $DEFAULT_CLANG_VERSION, which equal or larger than wanted version $CLANG_VERSION. Aborting!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
wget https://apt.llvm.org/llvm.sh
|
|
|
|
chmod +x llvm.sh
|
|
|
|
sudo ./llvm.sh $CLANG_VERSION
|
|
|
|
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-$CLANG_VERSION 100
|
|
|
|
sudo update-alternatives --set clang /usr/bin/clang-$CLANG_VERSION
|
|
|
|
fi
|
|
|
|
|
2023-04-29 06:43:54 -07:00
|
|
|
if [[ -n $TEST ]]; then
|
2023-09-09 01:36:42 -07:00
|
|
|
sudo apt-get install -y locales-all cpanminus
|
2023-04-29 06:43:54 -07:00
|
|
|
fi
|
2023-02-13 10:26:01 -07:00
|
|
|
elif [[ $os == Darwin ]]; then
|
|
|
|
brew update --quiet
|
2023-04-29 06:43:54 -07:00
|
|
|
brew install ninja
|
|
|
|
if [[ -n $TEST ]]; then
|
|
|
|
brew install cpanminus
|
|
|
|
fi
|
2023-02-13 10:26:01 -07:00
|
|
|
fi
|