0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-11-14 07:18:40 +00:00
Commit Graph

64 Commits

Author SHA1 Message Date
Joshua Behrens
66d155679b
Restructure code so an always false condition is moved to skimming loop 2024-09-07 23:43:20 +02:00
Joshua Behrens
be6e1a809a
Add opinionated checks for installations on debian 12 and different architectures 2024-09-07 16:43:30 +02:00
Joshua Behrens
c01f24f5e4
Split include and lib directory variables
Solves #522
Solves #529
2024-09-07 16:09:53 +02:00
Stefan Siegl
26de750e8e auto-detect V8 sandbox and call InitializeSandbox if needed 2022-06-27 18:00:49 +02:00
Stefan Siegl
225c8cde63 test compiler for c++17 support 2022-06-24 21:27:33 +02:00
Stefan Siegl
7247e9fee0 change minimum v8 version to 9.0 2022-06-01 08:07:49 +02:00
Stefan Siegl
acd9431ec9 increase minimum V8 version to 7.5 2022-05-31 09:10:55 +02:00
waqasbelushi
e648f431ac
all test passed v8 8.9 2021-04-05 17:36:59 +02:00
Stefan Siegl
0eec3bd764
use C++ standard c++14 2020-10-02 09:04:35 +02:00
Stefan Siegl
6f08b4da1b
fix configure check to require at least V8 6.9 2020-10-02 08:00:01 +02:00
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