-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Building Arduino
On Windows, you'll need Cygwin, a Java JDK, and ant.
Cygwin is downloadable from http://www.cygwin.com/ or specifically: http://www.cygwin.com/setup-x86.exe (32bit windows) or http://www.cygwin.com/setup-x86_64.exe (64bit windows) or http://www.redhat.com/services/custom/cygwin/ (if the cygwin official site is not ok for us!)
In the Cygwin setup configuration select the packages:
- git - used for version control
- make, gcc-mingw, and g++ - used to build arduino.exe (this will also pull in gcc-core)
- perl - use this version, activestate or other distros have trouble
- unzip, zip - for dealing with archives
Included in the defaults, but make sure:
- coreutils (or textutils), gzip, tar Not required but useful:
- openssh - command line ssh client
- nano - handy/simple text editor
And be sure to leave the option selected for 'unix line endings'
Download and install ant. Add the apache-ant-xxx\bin directory to your path.
Download and install a Java JDK.
Point the JAVA_HOME environment variable to the JDK root directory. An error message that reads "Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar" means you need to set JAVA_HOME to your JDK (not JRE) installation.
When building on a 64 bit version of Windows, you must still use the 32 bit JDK. If you have both the 32 and 64 bit JDK's installed, ensure JAVA_HOME is set to the 32 bit version.
On Mac OS X (using Homebrew, first brew update
), install:
- Apple's Developer Tools
- git (
brew install git
) - JDK 8
brew tap caskroom/cask
brew install brew-cask
brew cask install java
- ant (
brew install ant
)
On Linux, you need the Sun Java SDK, avr-gcc, avr-g++, avr-libc, make, ant, and git.
# Ubuntu/Debian
sudo apt-get install git make gcc ant openjdk-8-jdk
# Arch Linux
sudo pacman -S jdk8-openjdk jre8-openjdk apache-ant git base-devel
if your linux version is ubuntu 14.04 and later, you can use the above command line if your one is not, you cannot use the above cmd, then you can use the info http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/
this grabs the code from GitHub as an anonymous user.
Make sure your git line ending setting autocrlf
is set to input
or false
. With true
building will fail.
You can see/change this setting with:
git config --global --edit
[user]
name = xxx
email = [email protected]
[core]
autocrlf = input
[push]
default = current
# grab the code, it'll take a while (maybe even a long while for you dialup and international folks)
git clone https://github.com/arduino/Arduino.git
Use the command line.
cd /path/to/arduino/build
ant dist
This will prompt you to enter a version number (the JDK version to use). Enter 1.6.6 to start the build.
# if everything went well, you'll have no errors. (feel free to make
# suggestions for things to include here for common problems)
# then to run it. (ant run will call build
and start
)
ant run
# each time you make a change, use ant to build the thing
# and run to get it up and running.
Updating to the Latest Version
Each time you want to update to latest version from git:
cd /path/to/arduino
git pull
git update
If new folders have been added, or you're getting odd errors, use:
ant clean
The best way to use it is to just make a clean build every time:
ant clean build start
If you want to debug the avr core you can put a symlink from your sketchbook to your git folder. This way you can directly commit the changes without copying back and forth.
ln -s ~/Documents/Arduino/Arduino/hardware/arduino/avr/ ~/Documents/Arduino/sketchbook/hardware/arduino/avr
You can do the build for other platforms using:
ant clean dist -Dplatform=windows
ant clean dist -Dplatform=macosx
ant clean dist -Dplatform=macosx-java-latest