Timothy Pace
68d2274297
Handle API removal of CreateDefaultPlatform
2019-02-11 12:16:35 -08:00
Stefan Siegl
1c4a2b9a8c
Merge branch 'patch-autoconf-ac-lang' of https://github.com/petk/v8js into issue-374
2018-11-06 13:34:22 +01:00
Peter Kokot
06234e56c3
Replace AC_LANG_SAVE, AC_LANG_CPLUSPLUS and AC_LANG_RESTORE
...
Autoconf 2.50 in 2001 made several macros obsolete. These include also
macros for temporary changing the language. Instead of these the
AC_LANG_PUSH and AC_LANG_POP macros should be used with later Autoconf
versions.
Since PHP 5.4 to 7.1 require to have Autoconf 2.59+ and PHP 7.2 and
later require Autoconf 2.64+ the upgrade is fairly safe and most
systems should already be supported.
Refs:
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Language-Choice.html
2018-07-21 04:48:23 +02:00
Peter Kokot
59c2aaad98
Replace obsolete AC_TRY_FOO with AC_FOO_IFELSE
...
Autoconf made several macros obsolete including the AC_TRY_RUN in 2000
and since Autoconf 2.50:
http://git.savannah.gnu.org/cgit/autoconf.git/tree/ChangeLog.2
These macros should be replaced with the current AC_FOO_IFELSE instead.
It is fairly safe to upgrade and take the recommendation advice of autoconf
upgrade manual since the upgrade should be compatible at least with PHP
versions 5.4 and up, on some systems even with PHP 5.3. PHP versions
from 5.4 to 7.1 require Autoconf 2.59+ and PHP 7.2+ require Autoconf
2.64+.
This patch was created with the help of the autoupdate script:
autoupdate config.m4
Reference docs:
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
- https://www.gnu.org/software/autoconf/manual/autoconf-2.59/autoconf.pdf
2018-07-21 03:03:40 +02:00
Stefan Siegl
4e8251730f
emit warnings on V8 < 6.5.143 also
2018-01-07 12:43:20 +01:00
Stefan Siegl
52b9aa4521
emit warning if using V8 version < 6.4.388
2018-01-06 16:52:08 +01:00
Stefan Siegl
ba256d4bc5
Merge pull request #314 from stesie/issue-313
...
Fix build against recent V8 6.0 versions
2017-05-29 23:00:34 +02:00
Stefan Siegl
4baf9e93b2
Use v8::ArrayBuffer::Allocator::NewDefaultAllocator if available
...
It isn't provided by older (still supported) versions of V8, keep using the shim in that case.
2017-05-29 21:44:49 +02:00
Stefan Siegl
262707a97b
fix check for CreateDefaultPlatform, fixes #313
...
Include libplatform.h, as meanwhile all supported V8 versions have that file.
2017-05-29 21:44:49 +02:00
Stefan Siegl
338fa52aa9
Enable deprecation warnings
2017-04-23 22:49:15 +02:00
Stefan Siegl
6723ff2d34
fix check for libv8.dylib (on macOS)
2017-04-14 21:00:31 +02:00
Stefan Siegl
c957be8b2a
Initialize ICU as (meanwhile) needed
2017-04-14 21:00:31 +02:00
Stefan Siegl
cc1e14034b
search for CreateDefaultPlatform with 2nd arg, closes #301
2017-03-13 22:45:55 +01:00
Stefan Siegl
5073111829
Rename v8js.cc -> v8js_main.cc
...
This eases coverage generation as linking of v8js.so would
otherwise clobber results of v8js.cc compilation.
2017-03-12 17:26:39 +01:00
Stefan Siegl
77e7338018
Don't try to guess if blob.bin files are needed
...
Search for them, if they exist, provide them to V8. Otherwise
try to go without them.
2016-12-05 16:29:03 +00:00
Stefan Siegl
09f98e7cb1
Use linker to detect libv8_libplatform & libv8_libbase
2016-12-05 16:18:16 +00:00
Remi Collet
2b9d37672c
honours --with-libdir option, instead of harcoding lib or lib64
2016-09-29 16:05:46 +02:00
Stefan Siegl
90ca5cb142
Fix libv8_libbase.a detection, closes #264
2016-09-22 20:03:44 +02:00
Stefan Siegl
956a21743d
Optionally link in libv8_libbase.a on Linux as well
2016-09-04 14:58:40 +02:00
Stefan Siegl
e9e90bac65
Merge remote-tracking branch 'origin/master' into php7
...
Conflicts:
config.w32
package.xml
php_v8js_macros.h
v8js.cc
v8js_array_access.cc
v8js_class.cc
v8js_convert.cc
v8js_exceptions.cc
v8js_object_export.cc
v8js_timer.cc
v8js_v8.cc
v8js_v8object_class.cc
2016-05-22 22:30:19 +02:00
Stefan Siegl
ed8e88e11d
Search libv8_libplatform.a in V8_DIR only
...
Otherwise config.m4 will find another libv8_libplatform.a (e.g. in
/usr/lib) as well ... and then use the wrong one.
2016-05-22 15:17:24 +02:00
Stefan Siegl
4fea8f4fb9
Require V8 4.6.76 or higher
...
... and hence remove all #ifdef hell. Those versions didn't have
security support by Google anyhow, and it helps to drastically
shrink the test matrix.
2016-05-11 16:50:37 +02:00
Stefan Siegl
28a5832f23
Fix configuration on MacOS platform
2016-03-23 10:25:32 +01:00
Stefan Siegl
bf6effba63
Merge remote-tracking branch 'origin/master' into php7
2016-03-05 22:21:42 +01:00
Stefan Siegl
de0b8e2aa8
Check V8_DIR/share/v8 for snapshot images as well
2016-03-05 17:12:36 +01:00
Stefan Siegl
52ebdc28ed
Simply v8::Isolate::New to test if snapshot blob needed
...
The test on internal symbols seems too fragile, e.g. with V8
version 4.5.90 it is false positive.
2016-02-28 19:52:46 +01:00
Stefan Siegl
39062b4248
Test for snapshot support in V8
...
Looks like we have to test for internal functions unfortunately
since the public V8 snapshot API is available no matter whether
the library really supports it or not.
2016-02-28 17:48:44 +01:00
Stefan Siegl
a18ae9e853
Implement JS-side wrapper around PHP Generator objects
2016-01-09 12:50:40 +01:00
Stefan Siegl
7805abfb18
Improve -Wno-c++11-narrowing/-Wno-narrowing detection
2015-10-18 18:03:04 +02:00
Stefan Siegl
b38c31b521
Remove v8::Debug agent stuff
...
Debug Agent support was removed from V8 with 3.28 line which
is pretty old meanwhile.
2015-10-11 19:47:22 +02:00
Taneli Leppa
9f082a057b
Check lib64 dir for libplatform as well.
2015-08-12 18:26:23 +03:00
Stefan Siegl
b30ee1e09b
auto-add CXXFLAG -Wno-c++11-narrowing if possible
2015-07-25 21:36:34 +02:00
Stefan Siegl
0e76b675d2
Require v8 3.24.6 or higher
...
Just tested it, v8js builds correctly with 3.24.6 and fails to build
against 3.24.5 due to `RequestInterrupt' being undefined.
Syncing the check in config.m4 (used to test 3.21.12 or newer) against
README.md file (which stated 3.24.10 or newer).
2015-03-11 15:00:01 +01:00
Stefan Siegl
90c3b9db5f
Fix debug build; move debug stuff into seperate files
2015-03-11 14:06:21 +01:00
Stefan Siegl
ddc6a46049
Set c++ -std version on v8 version test
2015-03-10 14:16:37 +01:00
Stefan Siegl
453a95826b
On MacOS/Darwin link against libv8_libbase.a as well, refs #97
2015-03-09 04:48:09 -07:00
Stefan Siegl
37e3e001c5
Don't --rpath link on MacOS/Darwin, refs #97
2015-03-08 16:07:54 -07:00
Stefan Siegl
3efec8d428
Remove CVS $Id$ comment lines
2014-12-13 00:45:05 +01:00
Stefan Siegl
5ea36016fe
code cleanup, part 1
...
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.
2014-12-13 00:11:02 +01:00
Stefan Siegl
fc583a8ec6
Move PHP to JS object wrapping into seperate file
2014-11-29 15:42:41 +01:00
Stefan Siegl
ddcaee47d6
Refactor array access code into seperate files
2014-11-25 21:06:11 +01:00
Stefan Siegl
3843fc1b5c
Remove stray debug-echo
2014-09-17 16:33:03 +02:00
Stefan Siegl
14600d3be3
Initialize v8 platform as needed
...
See http://comments.gmane.org/gmane.comp.lang.javascript.v8.general/8029
for more information.
2014-09-17 00:45:24 +02:00
Stefan Siegl
d69f2be50a
Add v8 debug support
2013-10-13 11:36:57 +02:00
C. Scott Ananian
d416d9b59b
Support g++-4.6 in configuration script.
...
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.
2013-10-12 01:19:14 -04:00
C. Scott Ananian
91393faca3
Ensure all v8 libraries are copied in README; sanity check in config.m4.
...
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.
2013-10-03 17:59:27 -04:00
Stefan Siegl
619231913c
Adapt to new v8::Persistent API, support V8 >= 3.21.12
2013-10-03 16:27:04 +02:00
C. Scott Ananian
1f2eefdbea
Support compiling v8js with v8 in a custom path.
...
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.
2013-10-01 18:05:36 -04:00
C. Scott Ananian
e508410a79
Ensure libv8 is >= 3.17.11 (fixes issue #12 ).
2013-09-28 02:48:59 -04:00
Patrick Reilly
4a82311b4d
fix mutex issue and c++11 support on Ubuntu — remove stray EOL marker
2013-05-15 12:21:38 -07:00