forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request qmk#1491 from fredizzimo/msys2
Add support for msys2 build environment
- Loading branch information
Showing
12 changed files
with
247 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#!/bin/bash | ||
|
||
function export_variables { | ||
local util_dir=~/qmk_utils | ||
export PATH=$PATH:$util_dir/dfu-programmer | ||
export PATH=$PATH:$util_dir/dfu-util-0.9-win64 | ||
export PATH=$PATH:$util_dir/flip/bin | ||
export PATH=$PATH:$util_dir/avr8-gnu-toolchain/bin | ||
export PATH=$PATH:$util_dir/gcc-arm-none-eabi/bin | ||
} | ||
|
||
export_variables | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
#!/bin/bash | ||
|
||
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) | ||
download_dir=~/qmk_utils | ||
avrtools=avr8-gnu-toolchain | ||
armtools=gcc-arm-none-eabi | ||
installflip=false | ||
|
||
echo "Installing dependencies needed for the installation (quazip)" | ||
pacman --needed -S msys/unzip msys/p7zip base-devel msys/git mingw-w64-x86_64-toolchain | ||
|
||
source "$dir/win_shared_install.sh" | ||
|
||
function install_avr { | ||
rm -f -r "$avrtools" | ||
wget "http://www.atmel.com/images/avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe" | ||
7z x avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe | ||
rm avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe | ||
} | ||
|
||
function install_arm { | ||
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" | ||
unzip -d gcc-arm-none-eabi gcc-arm-none-eabi.zip | ||
rm gcc-arm-none-eabi.zip | ||
} | ||
|
||
function extract_flip { | ||
rm -f -r flip | ||
7z -oflip x FlipInstaller.exe | ||
} | ||
|
||
pushd "$download_dir" | ||
|
||
if [ -f "FlipInstaller.exe" ]; then | ||
echo | ||
echo "Extracting flip" | ||
extract_flip | ||
fi | ||
|
||
if [ ! -d "$avrtools" ]; then | ||
while true; do | ||
echo | ||
echo "The AVR toolchain is not installed." | ||
echo "This is needed for building AVR based keboards." | ||
read -p "Do you want to install it? (Y/N) " res | ||
case $res in | ||
[Yy]* ) install_avr; break;; | ||
[Nn]* ) break;; | ||
* ) echo "Invalid answer";; | ||
esac | ||
done | ||
else | ||
while true; do | ||
echo | ||
echo "The AVR toolchain is already installed" | ||
read -p "Do you want to reinstall? (Y/N) " res | ||
case $res in | ||
[Yy]* ) install_avr; break;; | ||
[Nn]* ) break;; | ||
* ) echo "Invalid answer";; | ||
esac | ||
done | ||
fi | ||
|
||
if [ ! -d "$armtools" ]; then | ||
while true; do | ||
echo | ||
echo "The ARM toolchain is not installed." | ||
echo "This is needed for building ARM based keboards." | ||
read -p "Do you want to install it? (Y/N) " res | ||
case $res in | ||
[Yy]* ) install_arm; break;; | ||
[Nn]* ) break;; | ||
* ) echo "Invalid answer";; | ||
esac | ||
done | ||
else | ||
while true; do | ||
echo | ||
echo "The ARM toolchain is already installed" | ||
read -p "Do you want to reinstall? (Y/N) " res | ||
case $res in | ||
[Yy]* ) install_arm; break;; | ||
[Nn]* ) break;; | ||
* ) echo "Invalid answer";; | ||
esac | ||
done | ||
fi | ||
popd | ||
|
||
cp -f "$dir/activate_msys2.sh" "$download_dir/" | ||
|
||
if grep "^source ~/qmk_utils/activate_msys2.sh$" ~/.bashrc | ||
then | ||
echo | ||
echo "The line source ~/qmk_utils/activate_msys2.sh is already added to your /.bashrc" | ||
echo "Not adding it twice!" | ||
else | ||
while true; do | ||
echo | ||
echo "Do you want to add 'source ~/qmk_utils/activate_msys2.sh' to the end of your" | ||
echo ".bashrc file? Without this make won't find the needed utils, so if you don't" | ||
echo "want to do it automatically, then you have to do it manually later." | ||
read -p "(Y/N)? " res | ||
case $res in | ||
[Yy]* ) echo "source ~/qmk_utils/activate_msys2.sh" >> ~/.bashrc; break;; | ||
[Nn]* ) break;; | ||
* ) echo "Invalid answer";; | ||
esac | ||
done | ||
fi | ||
|
||
echo | ||
echo "******************************************************************************" | ||
echo "Installation completed!" | ||
echo "Please close this Window and restart MSYS2 MinGW" | ||
echo "******************************************************************************" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
#!/bin/bash | ||
|
||
function install_utils { | ||
rm -f -r "$download_dir" | ||
mkdir "$download_dir" | ||
|
||
pushd "$download_dir" | ||
|
||
echo "Installing dfu-programmer" | ||
wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' | ||
unzip -d dfu-programmer dfu-programmer-win-0.7.2.zip | ||
|
||
echo "Installing dfu-util" | ||
wget 'http://dfu-util.sourceforge.net/releases/dfu-util-0.9-win64.zip' | ||
unzip dfu-util-0.9-win64.zip | ||
|
||
echo "Installing teensy_loader_cli" | ||
wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip' | ||
unzip teensy_loader_cli_windows.zip | ||
|
||
echo "Installing Atmel Flip" | ||
wget 'http://www.atmel.com/images/Flip%20Installer%20-%203.4.7.112.exe' | ||
mv Flip\ Installer\ \-\ 3.4.7.112.exe FlipInstaller.exe | ||
|
||
echo "Downloading the QMK driver installer" | ||
wget -qO- https://api.github.com/repos/qmk/qmk_driver_installer/releases | grep browser_download_url | head -n 1 | cut -d '"' -f 4 | wget -i - | ||
|
||
rm -f *.zip | ||
|
||
popd > /dev/null | ||
} | ||
|
||
function install_drivers { | ||
pushd "$download_dir" | ||
cp -f "$dir/drivers.txt" . | ||
echo | ||
cmd.exe /c "qmk_driver_installer.exe $1 $2 drivers.txt" | ||
popd > /dev/null | ||
} | ||
|
||
pushd "$dir" | ||
|
||
if [ ! -d "$download_dir" ]; then | ||
install_utils | ||
else | ||
while true; do | ||
echo | ||
echo "The utils seem to already be downloaded." | ||
read -p "Do you want to re-download them and update to the newest version (Y/N) " res | ||
case $res in | ||
[Yy]* ) install_utils; break;; | ||
[Nn]* ) break;; | ||
* ) echo "Invalid answer";; | ||
esac | ||
done | ||
fi | ||
|
||
while true; do | ||
echo | ||
echo "Which USB drivers do you want to install?" | ||
echo "(A)all - All supported drivers will be installed" | ||
echo "(C)onnected - Only drivers for connected keyboards (in bootloader/flashing mode)" | ||
echo " will be installed" | ||
echo "(F)force - Like all, but will also override existing drivers for connected" | ||
echo " keyboards" | ||
echo "(N)one - No drivers will be installed," | ||
echo " flashing your keyboard will most likely not work" | ||
read -p "(A/C/F/N)? " res | ||
case $res in | ||
[Aa]* ) install_drivers --all; break;; | ||
[Cc]* ) install_drivers; break;; | ||
[Ff]* ) install_drivers --all --force; break;; | ||
[Nn]* ) break;; | ||
* ) echo "Invalid answer";; | ||
esac | ||
done | ||
|
||
|
||
popd > /dev/null | ||
|
Oops, something went wrong.