2023-02-13 12:26:01 -05:00
|
|
|
#!/bin/bash
|
|
|
|
|
2023-04-29 09:43:54 -04:00
|
|
|
while (($# > 0)); do
|
|
|
|
case $1 in
|
|
|
|
--test) # install test dependencies
|
|
|
|
TEST=1
|
|
|
|
shift
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2023-02-13 12:26:01 -05:00
|
|
|
os=$(uname -s)
|
|
|
|
if [[ $os == Linux ]]; then
|
2023-09-09 04:36:42 -04:00
|
|
|
sudo apt-get update
|
2023-11-04 17:38:25 -04:00
|
|
|
sudo apt-get install -y build-essential cmake curl gettext ninja-build
|
2023-10-08 17:05:23 -04:00
|
|
|
|
|
|
|
if [[ $CC == clang ]]; then
|
|
|
|
DEFAULT_CLANG_VERSION=$(echo | clang -dM -E - | grep __clang_major | awk '{print $3}')
|
2024-03-16 09:15:23 -04:00
|
|
|
CLANG_VERSION=18
|
2023-10-08 17:05:23 -04:00
|
|
|
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 09:43:54 -04:00
|
|
|
if [[ -n $TEST ]]; then
|
2024-07-06 05:44:19 -04:00
|
|
|
sudo apt-get install -y locales-all cpanminus attr libattr1-dev gdb inotify-tools
|
2024-03-29 08:20:43 -04:00
|
|
|
|
|
|
|
# Use default CC to avoid compilation problems when installing Python modules
|
|
|
|
CC=cc python3 -m pip -q install --user --upgrade pynvim
|
2023-04-29 09:43:54 -04:00
|
|
|
fi
|
2023-02-13 12:26:01 -05:00
|
|
|
elif [[ $os == Darwin ]]; then
|
|
|
|
brew update --quiet
|
2023-04-29 09:43:54 -04:00
|
|
|
brew install ninja
|
|
|
|
if [[ -n $TEST ]]; then
|
2024-02-07 06:28:35 -05:00
|
|
|
brew install cpanminus fswatch
|
2024-03-29 08:20:43 -04:00
|
|
|
|
|
|
|
# Use default CC to avoid compilation problems when installing Python modules
|
|
|
|
CC=cc python3 -m pip -q install --user --upgrade --break-system-packages pynvim
|
2023-04-29 09:43:54 -04:00
|
|
|
fi
|
2023-02-13 12:26:01 -05:00
|
|
|
fi
|