Initial commit of the SpiderMonkey upgrade.
This version was successfully tested on Linux and Windows and also includes Windows binaries of SpiderMonkey and NSPR.
Merge https://github.com/0ad/0ad
Fixes error compiling tests
Add build adjustments for Mac OS X by historic_bruno (http://trac.wildfiregames.com/ticket/2442).
He confirms that the both release and debug builds work on his Mac, but there's an issue at runtime in the debug build.
Thanks very much, Ben!
Merge remote-tracking branch 'upstream/master'
Fixes crash after random map generation.
Merge remote-tracking branch 'upstream/master'
Some style and error handing improvements.
Also adds a first attempt to do proper stack rooting in the function EnumeratePropertyNamesWithPrefix.
Improvements related to JS::RootedT types.

Avoids passing JS::RootedT as argument for some templated functions because that should/must not be done according to the rooting guide.
Changes some (but not yet all) JS conversions to the new syntax because the old one is deprecated.
Avoids some .get() calls for the rooted types because they actually support the functions directly.
Additional style improvements and replacement of deprecated API.

Adds some more rooting, but there's a lot missing (I'm going to leave that for the moment).
Replaces some deprecated API.
Reverts some unrelated changes.
Merge remote-tracking branch 'upstream/master'
Fixes a commit that broke the tests.

JS_ValueToObject also converts non-object values like strings or booleans to objects.
This behaviour was intended and needed here, so my change was wrong.
The other places where I've replaced this function should be right with the strict toObject() conversion.
Second patch for the Mac OS X build by historic_bruno (check http://trac.wildfiregames.com/ticket/2442).

I've kept the differences with line endings as they were.
That shouldn't be a problem when it's moved to svn anyway.
I forgot this file in the last commit.
Changes for SpiderMonkey build on BSD-systems.

I haven't tested it and I don't know if it works. It probably has a higher chance of success than the previous version... ;)
Implements the --with-system-mozjs24 flag for update-workspaces.sh/premake.

I've tested this on the Ubuntu 14.04 beta with the libmozjs-24-dev package.
Merge remote-tracking branch 'origin/master' into SpiderMonkey
Merge branch 'master' into SpiderMonkey
Improved documentation and build script style fix.

Adds more detailed documentation how to build on Windows.
Fixes incorrect information how to build on Mac OS X.
Removes the special section for BSD suffixes from build.sh because the suffixes are currently the same.
If we figure out it needs different suffixes, we can add that again with the correct suffixes.
Makes the use of integer types more consistent.

Uses the integer types like i16 or u32 when an API takes integers with defined size (e.g. int32_t or i32).
For unsigned int it uses uint. I've moved that typedef to a more suitable location.
Also changes the conversion for long and unsigned long because SpiderMonkey now has conversion functions for 64 bit integers.
It's still not quite consistent from the perspective of just looking at a file and seeing that some loops use int and some u32 as counter, but casts for the function calls wouldn't be better.