Splits longish v8js.cc file into pieces. It used to contain the
definitions of all V8Js exception classes, the V8Js class itself as
well as the V8Object/V8Function classes... besides the module setup
code itself.
This change factors out all exception class definitions into a
seperate pair of files (v8js_exceptions.*).
The V8Js class definition itself is moved to v8js_class.* pair,
with the v8 init & call code moved to v8js_v8.* pair
and the watchdog timer to v8js_timer.* pair.
The V8Object/V8Function code was moved to v8js_v8object_class.*
pair, not differentiating between the two like before.
gcc 4.6 doesn't have the -std=c++11 option, it uses the not-yet-finalized
-std=c++0x option. Use whichever is found to be appropriate at configure
time.
The latest versions of v8 build libicu as well. If this isn't copied to
the lib directory, then the v8 version check fails (with a link error).
Ensure that this is caught at configuration time.
If you don't want to overwrite the system copy of v8 in /usr/lib/libv8.so,
you can use the --with-v8=<path> option to have php-v8js use its own
copy of libv8.
Note that threads are implemented using std::thread which is only available in C++0x. The relevant compile flags have been added but compiler support has not been tested and is therefore not guaranteed.