aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorstanrc85 <47038504+stanrc85@users.noreply.github.com>2019-03-07 20:13:02 -0500
committerDrashna Jaelre <drashna@live.com>2019-03-07 17:13:02 -0800
commit4a597e031fb2b4e9129f4e719bc20f2e72b0bbdf (patch)
tree9818f6d7d3ad875ec638696b2ddd117617a8f821 /lib
parent81fae5c3063933d6a62d20e63b0dcd197130e183 (diff)
downloadfirmware-4a597e031fb2b4e9129f4e719bc20f2e72b0bbdf.tar.gz
firmware-4a597e031fb2b4e9129f4e719bc20f2e72b0bbdf.tar.bz2
firmware-4a597e031fb2b4e9129f4e719bc20f2e72b0bbdf.zip
[Keymap] Smarter KC_MAKE code and removed duplicate MOD_MASK entries (#5331)
* Change to predefined MOD_MASK codes * Remove duplicate predefined codes * Better reset keybaord logic * Cleaned up code as requested
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions
ef='#n107'>107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
# Installing Build Tools

This page describes setting up the build environment for QMK. These instructions cover AVR processors (such as the atmega32u4).

<!-- FIXME: We should have ARM instructions somewhere. -->

Note: If it is your first time here, Check out the "Complete Newbs guide" instead

## Linux

To ensure you are always up to date, you can just run `sudo util/qmk_install.sh`. That should always install all the dependencies needed. **This will run `apt-get upgrade`.**

You can also install things manually, but this documentation might not be always up to date with all requirements.

The current requirements are the following, but not all might be needed depending on what you do. Also note that some systems might not have all the dependencies available as packages, or they might be named differently.

```
build-essential
gcc
unzip
wget
zip
gcc-avr
binutils-avr
avr-libc
dfu-programmer
dfu-util
gcc-arm-none-eabi
binutils-arm-none-eabi
libnewlib-arm-none-eabi
git
```

Install the dependencies with your favorite package manager.

Debian / Ubuntu example:

    sudo apt-get update
    sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi

Fedora / Red Hat example:

    sudo dnf install gcc unzip wget zip dfu-util dfu-programmer avr-gcc avr-libc binutils-avr32-linux-gnu arm-none-eabi-gcc-cs arm-none-eabi-binutils-cs arm-none-eabi-newlib
    
Arch / Manjaro example:

    pacman -S base-devel gcc unzip wget zip avr-gcc avr-binutils avr-libc dfu-util arm-none-eabi-gcc arm-none-eabi-binutils arm-none-eabi-newlib git

(the `dfu-programmer` package is availble on AUR only so you should download from there or use an AUR helper)

## Nix

If you're on [NixOS](https://nixos.org/), or have Nix installed on Linux or macOS, run `nix-shell` from the repository root to get a build environment.

By default, this will download compilers for both AVR and ARM. If you don't need both, disable the `avr` or `arm` arguments, e.g.:

    nix-shell --arg arm false

## macOS
If you're using [homebrew,](http://brew.sh/) you can use the following commands: