Merge branch 'master' of git://github.com/openscenegraph/osg
From Ulrich Hertlein, "fixes a typo and adds support for OS X 10.8"
Added GL_RGBA8 and GL_RGBA16 entries to the Image::computePixelFormat() and improved he readability of the method by inserting line spacing.
Updated SO version number to avoid collision with new additions to serializers
From Nico Kruithof, "There is a small typo in the ShapeDrawable code for a sphere. There was a gl.Begin(GL_QUAD_STRIP) that was never closed, nor used.

"
From Andreas Ekstrand, The attached ESRIShape.cpp contains fixes for comparing calculated byte sizes with the content length from the record header. According to the ESRI Shape documentation (http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf), the content length is specified in 16 bit words, which is why I have multiplied it by 2 when comparing to byte sizes. Note that the comparison in line 813 is made with a fix number of 16-bit words so it hasn't been changed.

This fixes problems with PolygonZ records where the previous code was reading past the end of the record since it thought it had M values even if it didn't. I suspect the problem that James McGlone had back in 2006 was the same but reversed, when he tried to simply comment out the check, which was a (correctly) refused submission.""
From Thomas Hogarth, "I submitted a change for the IOS CMake system a few weeks back which hasn't made it into the trunk. I've just made the modifications again against the latest trunk and have attached the file

It basically accounts for the fact that XCode has changed it's default install location.

"
Moved the OSG_INIT_SINGLETON_PROXY macro into include/osg/Object to make it more generally useful and added it's usage into the RenderBinPrototypeList initialization.
Fixed inappropriate comment
From Colin McDonald and Robert Osfield, converted Traits::sharedContext from GraphicsContext* to osg:observer_ptr<GraphicsContext> to prevent dangling pointer issues.
From Fredric Bouvier, fix to CMake build selection of FLTK
From Piotr Domagalski, "Currently, code using OpenSceneGraph doesn't build with clang due to the way __sync_bool_compare_and_swap() is used in OpenThreads/Atomic header file.

I tested it with clang 3.1 and it seems that clang is enforcing the use of the same type for all parameters in this builtin. Looking at the function declaration [1]

bool __sync_bool_compare_and_swap (type *ptr, type oldval type newval, ...)

it seems to be doing the right thing: here the same type is used for *ptr, oldval and newval.

[1] http://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins
"
From Piotr Domagalski, "I've rewritten some bits of the STL plugin in order to support ASCII STL files with multiple named solids (reading and writing). The names are also used as OSG nodes names.

- Also, a 'dontSaveNormals' was added. It allows to ignore normals when writing an STL file. For example, it is useful for me when writing an STL file for CFD simulations.

- Some comments and code formatting were improved (to be consistent with the formatting already used in the plugin).

- With 'separateFiles' option files are now named fooX.stl instead of foo.stlX

The changes have been tested on various STL, both ASCII and binary found on the net. The change was based on the trunk branch."

From Robert Osfield, changed assert in Piotr's code to a runtime check warning report.
From Piotr Domagalski, "I've added reading of node names ('DEF' element) to the VRML reading plugin. The changes were based on trunk's version of the plugin."
Added check so not intialization is down when you select the current camera manipulator
Added setting of the input range of the event state based on the master cameras viewport.
From Wojciech Lewandowski, "With current trunk I had an error while compiling osg/Image.cpp for IOS simulator / GLES2. Symbol GL_RGBA16 was missing. Adding #define GL_RGBA16 0x805B to Image header solves the problem. "
Updated ChangeLog for 3.1.3 dev release
Updated version after 3.1.3 dev release
Converted sorting of directory contents across to use the new osgDB::FileNameComparator and osgDB::getSortedDirectoryContents()