@@ -24,31 +24,78 @@ if test "$PHP_V8JS" != "no"; then
24
24
25
25
AC_MSG_CHECKING ( [ for V8 files in default path] )
26
26
ARCH=$(uname -m)
27
-
27
+
28
+ AC_MSG_NOTICE ( [ Searching for V8 in: $SEARCH_PATH] )
29
+ AC_MSG_NOTICE ( [ Looking for library: $SEARCH_FOR] )
30
+ AC_MSG_NOTICE ( [ System architecture: $ARCH] )
31
+ AC_MSG_NOTICE ( [ PHP library directory: $PHP_LIBDIR] )
32
+
33
+ found_v8=no
34
+
28
35
for i in $SEARCH_PATH ; do
29
- if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR" -a -r "$i/include/$libname/v8.h"; then
30
- V8_INCLUDE_DIR="$i/include/$libname"
31
- V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
32
- AC_MSG_RESULT ( found in $i )
33
- break 2
36
+ AC_MSG_NOTICE ( [ Checking path: $i] )
37
+
38
+ # Check for standard installation
39
+ if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR"; then
40
+ AC_MSG_NOTICE ( [ Found library: $i/$PHP_LIBDIR/$SEARCH_FOR] )
41
+
42
+ if test -r "$i/include/$libname/v8.h"; then
43
+ AC_MSG_NOTICE ( [ Found include file: $i/include/$libname/v8.h] )
44
+ V8_INCLUDE_DIR="$i/include/$libname"
45
+ V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
46
+ AC_MSG_RESULT ( [ found standard installation in $i] )
47
+ found_v8=yes
48
+ break 2
49
+ else
50
+ AC_MSG_NOTICE ( [ Missing include file: $i/include/$libname/v8.h] )
51
+ fi
52
+ else
53
+ AC_MSG_NOTICE ( [ Missing library: $i/$PHP_LIBDIR/$SEARCH_FOR] )
34
54
fi
35
55
36
- # Debian installations
37
- if test -r "$i/$PHP_LIBDIR/$ARCH-linux-gnu/$SEARCH_FOR"; then
38
- V8_INCLUDE_DIR="$i/include/$libname"
39
- V8_LIBRARY_DIR="$i/$PHP_LIBDIR/$ARCH-linux-gnu"
40
- AC_MSG_RESULT ( found in $i )
41
- break 2
56
+ # Check for Debian installations
57
+ DEBIAN_PATH="$i/$PHP_LIBDIR/$ARCH-linux-gnu"
58
+ if test -r "$DEBIAN_PATH/$SEARCH_FOR"; then
59
+ AC_MSG_NOTICE ( [ Found Debian library: $DEBIAN_PATH/$SEARCH_FOR] )
60
+
61
+ if test -r "$i/include/$libname/v8.h"; then
62
+ AC_MSG_NOTICE ( [ Found include file: $i/include/$libname/v8.h] )
63
+ V8_INCLUDE_DIR="$i/include/$libname"
64
+ V8_LIBRARY_DIR="$DEBIAN_PATH"
65
+ AC_MSG_RESULT ( [ found Debian installation in $i] )
66
+ found_v8=yes
67
+ break 2
68
+ else
69
+ AC_MSG_NOTICE ( [ Missing Debian include file: $i/include/$libname/v8.h] )
70
+ fi
71
+ else
72
+ AC_MSG_NOTICE ( [ Missing Debian library: $DEBIAN_PATH/$SEARCH_FOR] )
42
73
fi
43
74
44
- # Manual installations
45
- if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR" -a -r "$i/include/libplatform/libplatform.h"; then
46
- V8_INCLUDE_DIR="$i/include"
47
- V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
48
- AC_MSG_RESULT ( found in $i )
49
- break 2
75
+ # Check for manual installations
76
+ if test -r "$i/$PHP_LIBDIR/$SEARCH_FOR"; then
77
+ AC_MSG_NOTICE ( [ Found manual library: $i/$PHP_LIBDIR/$SEARCH_FOR] )
78
+
79
+ if test -r "$i/include/libplatform/libplatform.h"; then
80
+ AC_MSG_NOTICE ( [ Found manual include file: $i/include/libplatform/libplatform.h] )
81
+ V8_INCLUDE_DIR="$i/include"
82
+ V8_LIBRARY_DIR="$i/$PHP_LIBDIR"
83
+ AC_MSG_RESULT ( [ found manual installation in $i] )
84
+ found_v8=yes
85
+ break 2
86
+ else
87
+ AC_MSG_NOTICE ( [ Missing manual include file: $i/include/libplatform/libplatform.h] )
88
+ fi
50
89
fi
90
+
91
+ AC_MSG_NOTICE ( [ No V8 found in $i] )
51
92
done
93
+
94
+ if test "$found_v8" = "no"; then
95
+ AC_MSG_NOTICE ( [ V8 not found in any search path] )
96
+ AC_MSG_NOTICE ( [ Searched for library: $SEARCH_FOR] )
97
+ AC_MSG_NOTICE ( [ Searched paths: $SEARCH_PATH] )
98
+ fi
52
99
done
53
100
54
101
AC_DEFINE_UNQUOTED ( [ PHP_V8_EXEC_PATH] , "$V8_LIBRARY_DIR/$SEARCH_FOR" , [ Full path to libv8 library file] )
@@ -117,8 +164,13 @@ if test "$PHP_V8JS" != "no"; then
117
164
AC_LANG_PUSH ( [ C++] )
118
165
119
166
CPPFLAGS="$CPPFLAGS -I$V8_INCLUDE_DIR -std=$ac_cv_v8_cstd"
120
- LDFLAGS="$LDFLAGS -L$V8_LIBRARY_DIR"
121
- LIBS="-L$V8_LIBRARY_DIR $LIBS"
167
+ LDFLAGS="-L$V8_LIBRARY_DIR -Wl,-rpath,$V8_LIBRARY_DIR $LDFLAGS"
168
+ # Try both libc++ and libstdc++
169
+ LIBS="-L$V8_LIBRARY_DIR -lv8_libbase -lc++ -lstdc++ -lpthread -ldl $LIBS"
170
+
171
+ AC_MSG_NOTICE ( [ LIBS for v8_libplatform check: $LIBS] )
172
+ AC_MSG_NOTICE ( [ LDFLAGS for v8_libplatform check: $LDFLAGS] )
173
+ AC_MSG_NOTICE ( [ CPPFLAGS for v8_libplatform check: $CPPFLAGS] )
122
174
123
175
if test "$libname" = "v8"; then
124
176
AC_MSG_CHECKING ( [ for libv8_libplatform] )
@@ -137,7 +189,7 @@ if test "$PHP_V8JS" != "no"; then
137
189
] )
138
190
139
191
V8_CHECK_LINK([ ] , [ ] , [ ] , [
140
- V8_CHECK_LINK([ -lv8_libbase] , [ ] , [ ] , [
192
+ V8_CHECK_LINK([ -lv8_libbase -lc++ -lstdc++ -lpthread -ldl ] , [ ] , [ ] , [
141
193
AC_MSG_ERROR ( [ could not find libv8_libplatform library] )
142
194
] )
143
195
] )
0 commit comments