@@ -24,31 +24,78 @@ if test "$PHP_V8JS" != "no"; then
2424
2525 AC_MSG_CHECKING ( [ for V8 files in default path] )
2626 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+
2835 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] )
3454 fi
3555
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] )
4273 fi
4374
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
5089 fi
90+
91+ AC_MSG_NOTICE ( [ No V8 found in $i] )
5192 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
5299 done
53100
54101 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
117164 AC_LANG_PUSH ( [ C++] )
118165
119166 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] )
122174
123175 if test "$libname" = "v8"; then
124176 AC_MSG_CHECKING ( [ for libv8_libplatform] )
@@ -137,7 +189,7 @@ if test "$PHP_V8JS" != "no"; then
137189 ] )
138190
139191 V8_CHECK_LINK([ ] , [ ] , [ ] , [
140- V8_CHECK_LINK([ -lv8_libbase] , [ ] , [ ] , [
192+ V8_CHECK_LINK([ -lv8_libbase -lc++ -lstdc++ -lpthread -ldl ] , [ ] , [ ] , [
141193 AC_MSG_ERROR ( [ could not find libv8_libplatform library] )
142194 ] )
143195 ] )
0 commit comments