Skip to content

Commit 56eb76b

Browse files
committed
Check for libnode (additional/instead of libv8)
1 parent 9f854c5 commit 56eb76b

File tree

1 file changed

+66
-56
lines changed

1 file changed

+66
-56
lines changed

config.m4

+66-56
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,53 @@ PHP_ARG_WITH(v8js, for V8 Javascript Engine,
33

44
if test "$PHP_V8JS" != "no"; then
55
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
326

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
3823
fi
3924

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
4653
done
4754

4855
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
5360
fi
5461

5562
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)
5764
PHP_SUBST(V8JS_SHARED_LIBADD)
65+
5866
PHP_REQUIRE_CXX()
5967

6068

@@ -112,26 +120,28 @@ if test "$PHP_V8JS" != "no"; then
112120
CPPFLAGS="$CPPFLAGS -I$V8_INCLUDE_DIR -std=$ac_cv_v8_cstd"
113121
LDFLAGS="$LDFLAGS -L$V8_LIBRARY_DIR"
114122

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+
])
129138

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+
])
133143
])
134-
])
144+
fi
135145

136146

137147
dnl

0 commit comments

Comments
 (0)