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 b447184

Browse files
authored
Merge pull request #532 from JoshuaBehrens/feature/hassle-free-installation
Improve configureless installation on debian and redhat machines
2 parents ccf94d8 + 32aa913 commit b447184

File tree

1 file changed

+46
-28
lines changed

1 file changed

+46
-28
lines changed

‎config.m4

Lines changed: 46 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,55 @@ 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="$PHP_LIBDIR/libv8.$SHLIB_SUFFIX_NAME"
7-
8-
if test -r $PHP_V8JS/$SEARCH_FOR; then
9-
case $host_os in
10-
darwin* )
11-
# MacOS does not support --rpath
12-
;;
13-
* )
14-
LDFLAGS="$LDFLAGS -Wl,--rpath=$PHP_V8JS/$PHP_LIBDIR"
15-
;;
16-
esac
17-
V8_DIR=$PHP_V8JS
18-
else
19-
AC_MSG_CHECKING([for V8 files in default path])
20-
for i in $SEARCH_PATH ; do
21-
if test -r $i/$SEARCH_FOR; then
22-
V8_DIR=$i
23-
AC_MSG_RESULT(found in $i)
24-
fi
25-
done
6+
SEARCH_FOR="libv8.$SHLIB_SUFFIX_NAME"
7+
8+
if test -d "$PHP_V8JS"; then
9+
SEARCH_PATH="$PHP_V8JS $SEARCH_PATH"
2610
fi
2711

28-
AC_DEFINE_UNQUOTED([PHP_V8_EXEC_PATH], "$V8_DIR/$SEARCH_FOR", [Full path to libv8 library file])
12+
case $host_os in
13+
darwin* )
14+
# MacOS does not support --rpath
15+
;;
16+
* )
17+
LDFLAGS="$LDFLAGS -Wl,--rpath=$PHP_V8JS/$PHP_LIBDIR"
18+
;;
19+
esac
20+
21+
AC_MSG_CHECKING([for V8 files in default path])
22+
ARCH=$(uname -m)
23+
24+
for i in $SEARCH_PATH ; do
25+
if test -r $i/$PHP_LIBDIR/$SEARCH_FOR; then
26+
V8_INCLUDE_DIR=$i/include/v8
27+
V8_LIBRARY_DIR=$i/$PHP_LIBDIR
28+
AC_MSG_RESULT(found in $i)
29+
fi
30+
31+
# Debian installations
32+
if test -r $i/$PHP_LIBDIR/$ARCH-linux-gnu/$SEARCH_FOR; then
33+
V8_INCLUDE_DIR=$i/include/v8
34+
V8_LIBRARY_DIR=$i/$PHP_LIBDIR/$ARCH-linux-gnu
35+
AC_MSG_RESULT(found in $i)
36+
fi
37+
38+
# Manual installations
39+
if test -r $i/$PHP_LIBDIR/$SEARCH_FOR && test -r $i/include/libplatform/libplatform.h; then
40+
V8_INCLUDE_DIR=$i/include
41+
V8_LIBRARY_DIR=$i/$PHP_LIBDIR
42+
AC_MSG_RESULT(found in $i)
43+
fi
44+
done
45+
46+
AC_DEFINE_UNQUOTED([PHP_V8_EXEC_PATH], "$V8_LIBRARY_DIR/$SEARCH_FOR", [Full path to libv8 library file])
2947

30-
if test -z "$V8_DIR"; then
48+
if test -z "$V8_INCLUDE_DIR" || test -z "$V8_LIBRARY_DIR"; then
3149
AC_MSG_RESULT([not found])
3250
AC_MSG_ERROR([Please reinstall the v8 distribution])
3351
fi
3452

35-
PHP_ADD_INCLUDE($V8_DIR/include)
36-
PHP_ADD_LIBRARY_WITH_PATH(v8, $V8_DIR/$PHP_LIBDIR, V8JS_SHARED_LIBADD)
53+
PHP_ADD_INCLUDE($V8_INCLUDE_DIR)
54+
PHP_ADD_LIBRARY_WITH_PATH(v8, $V8_LIBRARY_DIR, V8JS_SHARED_LIBADD)
3755
PHP_SUBST(V8JS_SHARED_LIBADD)
3856
PHP_REQUIRE_CXX()
3957

@@ -89,8 +107,8 @@ if test "$PHP_V8JS" != "no"; then
89107

90108
AC_LANG_PUSH([C++])
91109

92-
CPPFLAGS="$CPPFLAGS -I$V8_DIR/include -std=$ac_cv_v8_cstd"
93-
LDFLAGS="$LDFLAGS -L$V8_DIR/$PHP_LIBDIR"
110+
CPPFLAGS="$CPPFLAGS -I$V8_INCLUDE_DIR -std=$ac_cv_v8_cstd"
111+
LDFLAGS="$LDFLAGS -L$V8_LIBRARY_DIR"
94112

95113
AC_MSG_CHECKING([for libv8_libplatform])
96114
AC_DEFUN([V8_CHECK_LINK], [
@@ -161,7 +179,7 @@ int main ()
161179
AC_MSG_CHECKING([for 1ドル])
162180
blob_found=0
163181
164-
for i in "$V8_DIR/$PHP_LIBDIR" "$V8_DIR/share/v8"; do
182+
for i in "$V8_LIBRARY_DIR" "$V8_INCLUDE_DIR/../share/v8"; do
165183
if test -r "$i/1ドル"; then
166184
AC_MSG_RESULT([found ($i/1ドル)])
167185
AC_DEFINE_UNQUOTED([2ドル], "$i/1ドル", [Full path to 1ドル file])
@@ -219,7 +237,7 @@ int main ()
219237

220238
AC_DEFINE([V8_DEPRECATION_WARNINGS], [1], [Enable compiler warnings when using V8_DEPRECATED apis.])
221239

222-
PHP_ADD_INCLUDE($V8_DIR)
240+
PHP_ADD_INCLUDE($V8_INCLUDE_DIR)
223241
PHP_NEW_EXTENSION(v8js, [ \
224242
v8js_array_access.cc \
225243
v8js_class.cc \

0 commit comments

Comments
(0)

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