HOW TO BUILD PROCESSING ON YOUR FAVORITE PLATFORM

If you have questions about the contents of this document, 
ask questions at the discourse section of the site:
http://processing.org/discourse/yabb_beta/YaBB.cgi?board=os_core_pde


////////////////////////////////////////////////////////////////////

//// Steps for First Time Setup 


1. INSTALL DEVELOPMENT TOOLS

1a. On Windows, install Cygwin. It's downloadable from 
    www.cygwin.com or specifically: www.cygwin.com/setup.exe

** of the packages, begin with the defaults, and add:

+ subversion - used for version control

+ make, gcc-mingw, and g++ - used to build processing.exe
  (this will also pull in gcc-core)

+ perl - use this version from cygwin, activestate or other windows 
         perl distributions have trouble

+ unzip, zip - for dealing with archives

+ included in the defaults, but make sure: coreutils, gzip, tar

+ not required but useful: 
  openssh - command line ssh client
  nano - handy/simple text editor (gnu pico ripoff)

** and be sure to leave the option selected for 'unix line endings' 

the cygwin installer is sometimes a little flakey, so it may take more 
than one try to get everything in there. in fact, it's often best to
run the installer once, and let it install all its defaults, then run 
it again, and select the items above. it's also useful to run the 
installer every few months to keep things fresh.


1b. On Mac OS X, install Apple's Developer Tools (Xcode).

    You'll also need subversion: http://subversion.tigris.org/
    Install it from Fink, Darwinports, or download as a package:
    http://metissian.com/projects/macosx/subversion/


1c. On Linux, you're pretty much on your own.. You need a pretty 
    standard development setup along with Subversion.


2. GRAB THE CODE FROM DEV.PROCESSING.ORG

As of August 12, 2005, we're no longer using CVS and have moved on to
the brave new world of Subversion. This is scary but hopefully will
alleviate some of the CVS annoyances. 

To get the code, type this from a prompt:
svn co svn://processing.org/trunk/processing

That part may take a while, especially for people outside the US or
who have a slow internet connection. (The JRE binaries are stored in 
SVN so that we can properly test on the exact platform/runtime setup
that we'll be releasing.)


3. INSTALL QUICKTIME FOR JAVA (Windows users only)

* You'll also need to install QuickTime for Java. Grab the QuickTime
  (and iTunes) installer from: http://www.apple.com/quicktime/download/
  or a version that doesn't include iTunes from here:
  http://www.apple.com/quicktime/download/standalone.html
  As of QuickTime 7 (iTunes 6), QuickTime for Java is mercifully
  included by default. 

* QuickTime 6 is no longer supported. QuickTime Alternative has 
  never been supported. Just use QuickTime 7.


4. BUILD IT

# now to build for the first time:
cd /path/to/processing/build/windows

# or if you're on linux
cd /path/to/processing/build/linux

# let's say you're into black turtlenecks and jeans
cd /path/to/processing/build/macosx

# and then..
./make.sh

# 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
./run.sh

# each time you make a change, use make to build the thing 
# and run to get it up and running. 


////////////////////////////////////////////////////////////////////

//// Updating to the Latest Version


5a. Each time you want to update to latest version:

cd /path/to/processing
svn update


5b. If you're getting strange errors when you try to build, especially
    if new folders have been added to the Processing repository, remove
    your 'work' folder and rebuild. Generally, this is a good idea to 
    do whenever a new release has been made, since that will involve
    files that may have been changed (or folders that have been moved).

# get to the processing folder
cd /path/to/processing

# remove the work directory
cd build/yourplatform
rm -rf work

# and try again
./make.sh

Unfortunately there isn't a way to know if new folders have
since been added. but if you're getting "class not found" errors
while building, then that's a good indicator that something is
missing from a subfolder.


////////////////////////////////////////////////////////////////////

//// The Frequently Asked Question

- What about Eclipse? What about Ant? Command line sucks.

The command line stuff isn't as scary as it might initially
seem. Hopefully it's just a matter of following the instructions above
(and being patient). If not, let us know (via the discourse board)
where you have trouble so we can fix things.

We're slowly moving development over to Eclipse, which will probably
include Ant because of cross-platform dependencies. As of release 0140,
major changes are being implemented to simplify the build process, 
which should mean that we're pretty close. The environment and all
the libraries build properly with Eclipse, however we won't be 
documenting it until the dust has settled.

Some progress has been made by John Houck to get the scripts working
under ANT, progress can be tracked here:
http://dev.processing.org/bugs/show_bug.cgi?id=151


////////////////////////////////////////////////////////////////////


Ben Fry - Updated 10 June 2008