@@ -3,46 +3,53 @@ PHP_ARG_WITH(v8js, for V8 Javascript Engine,
3
3
4
4
if test "$PHP_V8JS" != "no"; then
5
5
SEARCH_PATH="/usr/local /usr"
6
- SEARCH_FOR="libv8.$SHLIB_SUFFIX_NAME"
7
-
8
- if test -d "$PHP_V8JS"; then
9
- SEARCH_PATH="$PHP_V8JS"
10
-
11
- # set rpath, so library loader picks up libv8 even if it's not on the
12
- # system's library search path
13
- case $host_os in
14
- darwin* )
15
- # MacOS does not support --rpath
16
- ;;
17
- * )
18
- LDFLAGS="$LDFLAGS -Wl,--rpath=$PHP_V8JS/$PHP_LIBDIR"
19
- ;;
20
- esac
21
- fi
22
-
23
- AC_MSG_CHECKING ( [ for V8 files in default path] )
24
- ARCH=$(uname -m)
25
-
26
- for i in $SEARCH_PATH ; do
27
- if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR" -a -r "$i/include/v8/v8.h"; then
28
- V8_INCLUDE_DIR="$i/include/v8"
29
- V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
30
- AC_MSG_RESULT ( found in $i )
31
- fi
32
6
33
- # Debian installations
34
- if test -r "$i/$PHP_LIBDIR/$ARCH-linux-gnu/$SEARCH_FOR"; then
35
- V8_INCLUDE_DIR="$i/include/v8"
36
- V8_LIBRARY_DIR="$i/$PHP_LIBDIR/$ARCH-linux-gnu"
37
- AC_MSG_RESULT ( found in $i )
7
+ for libname in v8 node; do
8
+ SEARCH_FOR="lib$libname.$SHLIB_SUFFIX_NAME"
9
+
10
+ if test -d "$PHP_V8JS"; then
11
+ SEARCH_PATH="$PHP_V8JS"
12
+
13
+ # set rpath, so library loader picks up libv8 even if it's not on the
14
+ # system's library search path
15
+ case $host_os in
16
+ darwin* )
17
+ # MacOS does not support --rpath
18
+ ;;
19
+ * )
20
+ LDFLAGS="$LDFLAGS -Wl,--rpath=$PHP_V8JS/$PHP_LIBDIR"
21
+ ;;
22
+ esac
38
23
fi
39
24
40
- # Manual installations
41
- if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR" -a -r "$i/include/libplatform/libplatform.h"; then
42
- V8_INCLUDE_DIR="$i/include"
43
- V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
44
- AC_MSG_RESULT ( found in $i )
45
- fi
25
+ AC_MSG_CHECKING ( [ for V8 files in default path] )
26
+ ARCH=$(uname -m)
27
+
28
+ for i in $SEARCH_PATH ; do
29
+ echo checking "$i/$PHP_LIBDIR/$SEARCH_FOR" -a -r "$i/include/$libname/v8.h"
30
+ if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR" -a -r "$i/include/$libname/v8.h"; then
31
+ V8_INCLUDE_DIR="$i/include/$libname"
32
+ V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
33
+ AC_MSG_RESULT ( found in $i )
34
+ break 2
35
+ fi
36
+
37
+ # Debian installations
38
+ if test -r "$i/$PHP_LIBDIR/$ARCH-linux-gnu/$SEARCH_FOR"; then
39
+ V8_INCLUDE_DIR="$i/include/$libname"
40
+ V8_LIBRARY_DIR="$i/$PHP_LIBDIR/$ARCH-linux-gnu"
41
+ AC_MSG_RESULT ( found in $i )
42
+ break 2
43
+ fi
44
+
45
+ # Manual installations
46
+ if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR" -a -r "$i/include/libplatform/libplatform.h"; then
47
+ V8_INCLUDE_DIR="$i/include"
48
+ V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
49
+ AC_MSG_RESULT ( found in $i )
50
+ break 2
51
+ fi
52
+ done
46
53
done
47
54
48
55
AC_DEFINE_UNQUOTED ( [ PHP_V8_EXEC_PATH] , "$V8_LIBRARY_DIR/$SEARCH_FOR" , [ Full path to libv8 library file] )
@@ -53,8 +60,9 @@ if test "$PHP_V8JS" != "no"; then
53
60
fi
54
61
55
62
PHP_ADD_INCLUDE($V8_INCLUDE_DIR)
56
- PHP_ADD_LIBRARY_WITH_PATH(v8 , $V8_LIBRARY_DIR, V8JS_SHARED_LIBADD)
63
+ PHP_ADD_LIBRARY_WITH_PATH($libname , $V8_LIBRARY_DIR, V8JS_SHARED_LIBADD)
57
64
PHP_SUBST(V8JS_SHARED_LIBADD)
65
+
58
66
PHP_REQUIRE_CXX()
59
67
60
68
@@ -112,26 +120,28 @@ if test "$PHP_V8JS" != "no"; then
112
120
CPPFLAGS="$CPPFLAGS -I$V8_INCLUDE_DIR -std=$ac_cv_v8_cstd"
113
121
LDFLAGS="$LDFLAGS -L$V8_LIBRARY_DIR"
114
122
115
- AC_MSG_CHECKING ( [ for libv8_libplatform] )
116
- AC_DEFUN ( [ V8_CHECK_LINK] , [
117
- save_LIBS="$LIBS"
118
- LIBS="$LIBS $1 -lv8_libplatform -lv8"
119
- AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [
120
- #include <libplatform/libplatform.h>
121
- ] , [ v8::platform::NewDefaultPlatform(); ] ) ] , [
122
- dnl libv8_libplatform.so found
123
- AC_MSG_RESULT ( found )
124
- V8JS_SHARED_LIBADD="$1 -lv8_libplatform $V8JS_SHARED_LIBADD"
125
- $3
126
- ] , [ $4 ] )
127
- LIBS="$save_LIBS"
128
- ] )
123
+ if test "$libname" = "v8"; then
124
+ AC_MSG_CHECKING ( [ for libv8_libplatform] )
125
+ AC_DEFUN ( [ V8_CHECK_LINK] , [
126
+ save_LIBS="$LIBS"
127
+ LIBS="$LIBS $1 -lv8_libplatform -lv8"
128
+ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [
129
+ #include <libplatform/libplatform.h>
130
+ ] , [ v8::platform::NewDefaultPlatform(); ] ) ] , [
131
+ dnl libv8_libplatform.so found
132
+ AC_MSG_RESULT ( found )
133
+ V8JS_SHARED_LIBADD="$1 -lv8_libplatform $V8JS_SHARED_LIBADD"
134
+ $3
135
+ ] , [ $4 ] )
136
+ LIBS="$save_LIBS"
137
+ ] )
129
138
130
- V8_CHECK_LINK([ ] , [ ] , [ ] , [
131
- V8_CHECK_LINK([ -lv8_libbase] , [ ] , [ ] , [
132
- AC_MSG_ERROR ( [ could not find libv8_libplatform library] )
139
+ V8_CHECK_LINK([ ] , [ ] , [ ] , [
140
+ V8_CHECK_LINK([ -lv8_libbase] , [ ] , [ ] , [
141
+ AC_MSG_ERROR ( [ could not find libv8_libplatform library] )
142
+ ] )
133
143
] )
134
- ] )
144
+ fi
135
145
136
146
137
147
dnl
0 commit comments