Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Lines changed: 66 additions & 56 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /