TODO:
* Test sibling library dependency checking (in the presence of the cache)
* Make "project name" a variable for ice.txt files
* Update ice.txt and manual.html documentation
* Explicit dependencies (uses)
* When a library dependency is added, re-check to see if that makes something else out of date
* When compiling an up-to-date library, only print "X.lib is up to date"
* When a dependency fails to build, stop the compilation process
* Check dependencies before building docs/data so that the output for each icompile module is
  grouped together (right now libraries build after documentation and before the binary.)
  See buildBinary()
* Test universal binary support for OS X
* Extract icns automatically for --deploy on OS X

0.5.7

* support for the Box2D library
* tuned --opt defaults for performance on gcc for "most recent" machines:
  Linux: -ffast-math -O3 -mtune=native -march=pentium4 -msse2 -fpmath=sse -finline-limit=1100
  OS X:  -ffast-math -O3 -mtune=native -march=core2,ppc -finline-limit=1100

0.5.6

* icons are now added to the binary on OS X
* can link against dylib files contained in data-files on OS X
* uses install_name_tool on OS X when dylibs are in data-files
* support for fmod, ffmpeg, and irrklang
* gdb command file now correctly placed inside tmp directory
* temp dir parent removed if empty on icompile --clean
* fixed ics-stats.csv formatting
* icompile can now be launched from within the 'source' subdirectory
* sibling dependencies now properly handle absolute build and temp paths
* sibling libraries now cached correctly

0.5.5

* Removed '-' between compiler and version number
* Now requires Python 2.4 (for Popen)
* Uses as many threads as available processors for compilation
* Dependency information is cached (with verification) between executions
* Cache retains discovered linker settings
* Fix: dependencies are correctly checked for sibling libraries on incremental builds
* --doc no longer builds the binary as well

0.5.4

* Added .git to the list of ignored directories
* Added linking for IOKit library on OS X
* Write out ice-stats.csv history for graphing purposes
* Added comment line count to statistics output
* Added --deploy that creates .tar.gz for Linux and .dmg with a bundle for OS X
* Bundles contain all required frameworks
* OS X Intel machines now build universal binaries
* Added FMOD link instructions
* Library and include paths can now contain spaces
* Made OpenGL not depend on X11 on OS X

0.5.3

* Added Apple OpenGL (AGL) framework linking
* Changed g++ nicknaming to better match gcc-latest and other patterns
* Print line count at the end of the program
* Updaged G3D starter files

0.5.2
* --template flag for GUI front ends
* --info flag, for use with GUI front ends
* build clean now obeys .icompile build/temp paths
* Ignore directories named 'test' or 'tests'
* Ignore (emacs) files of the form .#*
* Fixed a bug where several ignored filetypes were still being compiled
* Don't print data files section if data files are up to date
* Complain if illegal --config file is specified
* Added library rule for ANN.h (http://www.cs.umd.edu/~mount/ANN/)

0.5.1
* Use the platform name instead of "install" for the distribution directory
* Remove the platform name from the library build directory
* Added --config option for changing user configuration file

0.5.0
* Optionally generate starter files for a new project when run in an empty directory
* Expand ~/ and ~user/ in ice.txt paths
* Warn about ice.txt files from previous versions of icompile that appear to be obsolete.
* Other iCompile projects that are dependencies can be up to two directories up the file system tree
* Dependencies that are iCompile projects are automatically built when out of date
* Dependency libraries do not have to have ice.txt files anymore
* "compileroptions" and "linkeroptions" now always include the ones generated by icompile for simplicity (incompatible change)
* Always store temp files in a subdirectory of tempdir named after the project (allows a global temp dir)


0.4.6
* Support for FreeBSD
* Added 'builddir' option in the global ice.txt section
* Added 'tempdir' option in the global ice.txt section
* Reduced initial disk access when processing ice.txt
* Four verbosity levels now available through the --verbosity flag
* Changed default temp directory to .ice-tmp/
* Versioned (e.g., libSDL-1.1.a) libraries are now automatically detected
* Projects can now depend on one another.  See the 'uses:' line in ice.txt
* Automatic dependency determination for sibling projects
* Support for OS X frameworks
* build subdirectories now include platform and compiler name
* When building a library, include/ and include/projectname are automatically on the include list
* Removed double slashes that previously printed when copying datafiles
* Object file arguments to the linker now passed through a text file (helps with huge projects on certain shells)
* Fixed several bugs in the library topological sort logic including an off-by-one and an unstable sort in the presence of libraries without dependencies
* Added i, ii, m, mm, mi, mii to the list of legal C extensions (m versions only on OS X)


0.4.5
* Added '^.' and '^#' to the file ignore list
* Added '.svn' to the ignore list
* Compiler options under --verbose now show all options
* removed xmmintrin.h triggering -msse2
* Added color support for OS X via xterm-color
* -fasm-blocks now default on OS X


0.4.4
* Changed 'docfiles' to 'doc-files' to match Javadoc 1.4
* Changed 'datafiles' to 'data-files'
* Changed '_build' to BUILDDIR = 'build'
* Changed 'distrib' to DISTRIBDIR = 'install'
* Libraries now compile into sub-directories
* Added /usr/X11R6/lib to library path by default
* Platform name is added to install lib directory name when building libs


0.4.3
* Added X11 linking
* Recognize latest g++ version without a dash in the name
* Add -msse2 flag if xmmintrin.h is in the dependency list


0.4.2
* Removed '-fno-finite-math-only' because it is not supported by g++3.2
* More clearly documented .icompile in the manual
* Added ice.txt and .icompile as dependencies of every file


0.4.1
* Qt support (untested)
* wxWindows/wxWidgets support.  Automatically calls wx-config
* $(shell cmds...) format allowed in ice.txt and .icompile


0.4.0
* Tracks recursive dependencies of static libraries
* Topologically sorts libraries based on interdependencies


0.3.1
* Made .icompile quiet settings actually work
* Dependency information only prints in verbose mode
* Swapped link order as a poor-man's topological sort.


0.3.0
* Added --quiet mode
* Changed special directory names to _build, datafiles, and docfiles
* Added include 
* Added ice.txt file-- prevents you from accidentally running iCompile
  in the wrong directory.  Prints especially dire warnings when you
  attempt to run in your home directory.
* Detects shared and static libraries from project directory name
* Rewrote manual from scratch
* Added folder icons to manual
* Configuration can be controlled through ice.txt file instead of
  environment variables
* Added user-configurable exclude variable in ice.txt
* Launch Python with /usr/bin/env instead of /usr/bin/python
* Added ~/.icompile master configuration file


0.2.3
* Added .icompile-temp to exclude dirs


0.2.2
* 'old' is ignored as a directory name
* Dirnames printed by --help are from global variables
* --verbose prints out all header files from the dependency check
* Dependencies are now parsed correctly even in --verbose mode
* Slashes on deep recursive paths now correct
* C files in excluded directories no longer compiled 


0.2.1
* Removed --fno-math-errno from --opt settings because it crashed g++ on 
  occasion
* Updated manual.html
* Don't descend into subdirectories of excluded directories during copying


0.2.0
* Public release of 0.1.29


0.1.29
* default colors are more likely to be visible on both light and dark 
  backgrounds
* beeps when compilation finishes
* temp dir is now '.icompile-temp'
* icompile --help no longer writes cache
* Building messages indicate where the executable is being written 
  (i.e. distrib/)


0.1.28
* glu.h and the symbol "gluBuild2DMipmaps" trigger -lGLU
* color printing


0.1.27
* --gdb flag runs the program under gdb
* doesn't descend into tmp directories for compilation or copying


0.1.26
* doesn't descend into CVS, Debug, Release, graveyard, distrib
  doxygen, temp, res, or docres directories for compilation.
* prepends './' to the executable name when running it (in case
  the user doesn't have '.' in their PATH)


0.1.25
* support for .C files


0.1.24
* copyIfNewer does nothing on non-existent source
* changed link argument order to avoid warnings
* Subdirectories of res now copied correctly ([ 885870 ] distribCVS issue)


0.1.23
* icompile --clean no longer tries to write a cache
* icompile --clean no longer deletes entire distrib dir


0.1.22
* Environment warnings only printed once every two days
* Added change log
