Skip to content

Commit f4b0bf6

Browse files
committed
Limit supported configurations to node >= 2.4.0.
We use C++11 features, which versions of node before 1.8.4 don't seem to support (at least not with their default compiler options). We also use `v8::NativeWeakMap`, which was introduced in the 2.4.0 ABI. This could probably be worked around (see the node-1.8.4 branch in github), but it doesn't seem worth it right now.
1 parent d7f323f commit f4b0bf6

File tree

3 files changed

+6
-24
lines changed

3 files changed

+6
-24
lines changed

.travis.yml

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,11 @@ matrix:
4949
env: NODE_VERSION="iojs-2.4.0" PUBLISHABLE=false
5050
- os: linux
5151
env: NODE_VERSION="iojs-2.4.0" BUILD_X86=true # node abi 44
52-
- os: linux
53-
compiler: clang
54-
env: NODE_VERSION="iojs-1.8.4" PUBLISHABLE=false
55-
- os: linux
56-
env: NODE_VERSION="iojs-1.8.4" BUILD_X86=true # node abi 43
57-
- os: linux
58-
env: NODE_VERSION="0.12.7" BUILD_X86=true # node abi 14
59-
- os: linux
60-
env: NODE_VERSION="0.10.40" BUILD_X86=true # node abi 11
61-
- os: linux
62-
env: NODE_VERSION="0.8.28" BUILD_X86=true # node abi 1
6352
# disabled because libphp5-embed package is not on whitelist yet
6453
# https://github.com/travis-ci/apt-package-whitelist#package-approval-process
6554
# # test building against external libphp5
6655
# - os: linux
67-
# env: NODE_VERSION="4.1.1" EXTERNAL_LIBPHP=true PUBLISHABLE=false
56+
# env: NODE_VERSION="4.1.2" EXTERNAL_LIBPHP=true PUBLISHABLE=false
6857
# addons:
6958
# apt:
7059
# sources: [ 'libphp5-embed:i386', 'php5-dev:i386' ]
@@ -79,18 +68,6 @@ matrix:
7968
- os: osx
8069
compiler: clang
8170
env: NODE_VERSION="iojs-2.4.0" # node abi 44
82-
- os: osx
83-
compiler: clang
84-
env: NODE_VERSION="iojs-1.8.4" # node abi 43
85-
- os: osx
86-
compiler: clang
87-
env: NODE_VERSION="0.12.7" # node abi 14
88-
- os: osx
89-
compiler: clang
90-
env: NODE_VERSION="0.10.40" # node abi 11
91-
- os: osx
92-
compiler: clang
93-
env: NODE_VERSION="0.8.28" # node abi 1
9471

9572
before_install:
9673
- export PUBLISHABLE=${PUBLISHABLE:-true}

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
The node `php-embed` package binds to PHP's "embed SAPI" in order to
77
provide interoperability between PHP and JavaScript code.
88

9+
Node/iojs >= 2.4.0 is currently required, since we use `NativeWeakMap`s
10+
in the implementation. This could probably be worked around using
11+
v8 hidden properties, but it doesn't seem worth it right now.
12+
913
# USAGE
1014

1115
```js

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"host": "https://github.com",
3030
"remote_path": "/cscott/node-php-embed/releases/download/{version}/"
3131
},
32+
"engines" : { "node" : ">=2.4.0" },
3233
"dependencies": {
3334
"nan": "~2.1.0",
3435
"node-pre-gyp": "~0.6.11",

0 commit comments

Comments
 (0)