Creating a multiplatform Boost application
Boost is a powerfull suite of C++ libraries and a multiplatform replacement for make called boost.build or bjam.
The makefile is replace by a Jamfile(.v2) which provides equivalent information to the makefile for controlling the build, with the compilation being able to be performed by a wide variety of different compilers (gcc, darwin, cl from MS Visual Studio etc).
Boost.build does a very good job of hiding the differences and idiosyncracies of the various compilers, but there are neverthelsee some stiituations where compiler specific sections of the Jamfile are needed. Sometimes these have to be conditional statements, and soetimes they are generic, which are unecessary but do not cause problems for some compilers, but essential for others.