msys2_install.sh 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #!/bin/bash
  2. dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
  3. download_dir=~/qmk_utils
  4. avrtools=avr8-gnu-toolchain
  5. armtools=gcc-arm-none-eabi
  6. installflip=false
  7. echo "Installing dependencies needed for the installation (quazip)"
  8. pacman --needed -S msys/unzip msys/p7zip base-devel msys/git mingw-w64-x86_64-toolchain
  9. source "$dir/win_shared_install.sh"
  10. function install_avr {
  11. rm -f -r "$avrtools"
  12. wget "http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip"
  13. 7z x avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip
  14. mv avr8-gnu-toolchain-win32_x86/ avr8-gnu-toolchain
  15. rm __MACOSX -R
  16. rm avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip
  17. pacman --needed -S mingw-w64-x86_64-avrdude
  18. }
  19. function install_arm {
  20. wget -O gcc-arm-none-eabi.zip "https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-win32.zip?product=GNU%20ARM%20Embedded%20Toolchain,ZIP,,Windows,6-2017-q2-update"
  21. unzip -d gcc-arm-none-eabi gcc-arm-none-eabi.zip
  22. rm gcc-arm-none-eabi.zip
  23. }
  24. function extract_flip {
  25. rm -f -r flip
  26. 7z -oflip x FlipInstaller.exe
  27. }
  28. pushd "$download_dir"
  29. if [ -f "FlipInstaller.exe" ]; then
  30. echo
  31. echo "Extracting flip"
  32. extract_flip
  33. fi
  34. if [ ! -d "$avrtools" ]; then
  35. while true; do
  36. echo
  37. echo "The AVR toolchain is not installed."
  38. echo "This is needed for building AVR based keboards."
  39. read -p "Do you want to install it? (Y/N) " res
  40. case $res in
  41. [Yy]* ) install_avr; break;;
  42. [Nn]* ) break;;
  43. * ) echo "Invalid answer";;
  44. esac
  45. done
  46. else
  47. while true; do
  48. echo
  49. echo "The AVR toolchain is already installed"
  50. read -p "Do you want to reinstall? (Y/N) " res
  51. case $res in
  52. [Yy]* ) install_avr; break;;
  53. [Nn]* ) break;;
  54. * ) echo "Invalid answer";;
  55. esac
  56. done
  57. fi
  58. if [ ! -d "$armtools" ]; then
  59. while true; do
  60. echo
  61. echo "The ARM toolchain is not installed."
  62. echo "This is needed for building ARM based keyboards."
  63. read -p "Do you want to install it? (Y/N) " res
  64. case $res in
  65. [Yy]* ) install_arm; break;;
  66. [Nn]* ) break;;
  67. * ) echo "Invalid answer";;
  68. esac
  69. done
  70. else
  71. while true; do
  72. echo
  73. echo "The ARM toolchain is already installed"
  74. read -p "Do you want to reinstall? (Y/N) " res
  75. case $res in
  76. [Yy]* ) install_arm; break;;
  77. [Nn]* ) break;;
  78. * ) echo "Invalid answer";;
  79. esac
  80. done
  81. fi
  82. popd
  83. cp -f "$dir/activate_msys2.sh" "$download_dir/"
  84. if grep "^source ~/qmk_utils/activate_msys2.sh$" ~/.bashrc
  85. then
  86. echo
  87. echo "The line source ~/qmk_utils/activate_msys2.sh is already added to your /.bashrc"
  88. echo "Not adding it twice!"
  89. else
  90. while true; do
  91. echo
  92. echo "Do you want to add 'source ~/qmk_utils/activate_msys2.sh' to the end of your"
  93. echo ".bashrc file? Without this make won't find the needed utils, so if you don't"
  94. echo "want to do it automatically, then you have to do it manually later."
  95. read -p "(Y/N)? " res
  96. case $res in
  97. [Yy]* ) echo "source ~/qmk_utils/activate_msys2.sh" >> ~/.bashrc; break;;
  98. [Nn]* ) break;;
  99. * ) echo "Invalid answer";;
  100. esac
  101. done
  102. fi
  103. echo
  104. echo "******************************************************************************"
  105. echo "Installation completed!"
  106. echo "Please close this Window and restart MSYS2 MinGW"
  107. echo "******************************************************************************"