@@ -267,31 +267,51 @@ if test "$PHP_CASSANDRA" != "no"; then
267
267
PHP_ADD_LIBRARY(uv,, CASSANDRA_SHARED_LIBADD)
268
268
PHP_ADD_LIBRARY(m,, CASSANDRA_SHARED_LIBADD)
269
269
270
- if test "$PHP_CASSANDRA" != "yes"; then
271
- if test -f $PHP_CASSANDRA/include/cassandra.h; then
272
- CPP_DRIVER_DIR=$PHP_CASSANDRA
270
+ AC_PATH_PROG ( PKG_CONFIG , pkg-config , no )
271
+
272
+ AC_MSG_CHECKING ( [ for supported DataStax C/C++ driver version] )
273
+ if test "$PHP_CASSANDRA" = "yes" -a -x $PKG_CONFIG; then
274
+ CPP_DRIVER_VERSION=`$PKG_CONFIG cassandra --modversion`
275
+ if $PKG_CONFIG cassandra --atleast-version 2.7.0; then
276
+ CPP_DRIVER_INCDIR=`$PKG_CONFIG cassandra --variable=includedir`
277
+ CPP_DRIVER_LIBDIR=`$PKG_CONFIG cassandra --variable=libdir`
278
+ AC_MSG_RESULT ( [ supported ($CPP_DRIVER_VERSION from pkg-config)] )
279
+ else
280
+ AC_MSG_ERROR ( [ not supported. Driver version 2.7.0+ required (found $CPP_DRIVER_VERSION)] )
273
281
fi
282
+
274
283
else
275
- for i in /usr/local /usr; do
276
- if test -f $i/include/cassandra.h; then
277
- CPP_DRIVER_DIR=$i
284
+ if test "$PHP_CASSANDRA" != "yes"; then
285
+ if test -f $PHP_CASSANDRA/include/cassandra.h; then
286
+ CPP_DRIVER_INCDIR=$PHP_CASSANDRA/include
287
+ CPP_DRIVER_LIBDIR=$PHP_CASSANDRA/$PHP_LIBDIR
278
288
fi
279
- done
280
- fi
289
+ if test -f $PHP_CASSANDRA/include/cassandra/cassandra.h; then
290
+ CPP_DRIVER_INCDIR=$PHP_CASSANDRA/include/cassandra
291
+ CPP_DRIVER_LIBDIR=$PHP_CASSANDRA/$PHP_LIBDIR
292
+ fi
293
+ else
294
+ for i in /usr/local /usr; do
295
+ if test -f $i/include/cassandra.h; then
296
+ CPP_DRIVER_INCDIR=$i/include
297
+ CPP_DRIVER_LIBDIR=$i/$PHP_LIBDIR
298
+ fi
299
+ done
300
+ fi
281
301
282
- AC_MSG_CHECKING ( [ for supported DataStax C/C++ driver version ] )
283
- PHP_CASSANDRA_FOUND_CASSANDRA_VERSION=`$ AWK '/CASS_VERSION_MAJOR/ {printf $3 "."} /CASS_VERSION_MINOR/ { printf $3"."} /CASS_VERSION_PATCH/ {printf $3}' $CPP_DRIVER_DIR/include/cassandra.h `
284
- PHP_CASSANDRA_FOUND_CASSANDRA_VERSION_NUMBER=`echo "${PHP_CASSANDRA_FOUND_CASSANDRA_VERSION}" | $AWK 'BEGIN { FS = "."; } { printf "%d", ( [ $ ] 1 * 100 + [ $ ] 2) * 100 + [ $ ] 3;}'`
285
- if test "$PHP_CASSANDRA_FOUND_CASSANDRA_VERSION_NUMBER" -lt "20700"; then
286
- AC_MSG_ERROR ( [ not supported. Driver version 2.7.0+ required (found $PHP_CASSANDRA_FOUND_CASSANDRA_VERSION) ] )
287
- else
288
- AC_MSG_RESULT ( [ supported ($PHP_CASSANDRA_FOUND_CASSANDRA_VERSION) ] )
302
+ PHP_CASSANDRA_FOUND_CASSANDRA_VERSION=`$AWK '/CASS_VERSION_MAJOR/ {printf $3"."} /CASS_VERSION_MINOR/ {printf $3"."} /CASS_VERSION_PATCH/ {printf $3}' $CPP_DRIVER_INCDIR/cassandra.h`
303
+ PHP_CASSANDRA_FOUND_CASSANDRA_VERSION_NUMBER=`echo "${PHP_CASSANDRA_FOUND_CASSANDRA_VERSION}" | $ AWK 'BEGIN { FS = "."; } { printf "%d", ( [ $ ] 1 * 100 + [ $ ] 2) * 100 + [ $ ] 3;}' `
304
+ if test "$PHP_CASSANDRA_FOUND_CASSANDRA_VERSION_NUMBER" -lt "20700"; then
305
+ AC_MSG_ERROR ( [ not supported. Driver version 2.7.0+ required (found $PHP_CASSANDRA_FOUND_CASSANDRA_VERSION) ] )
306
+ else
307
+ AC_MSG_RESULT ( [ supported ($PHP_CASSANDRA_FOUND_CASSANDRA_VERSION) ] )
308
+ fi
289
309
fi
290
310
291
- if test -z "$CPP_DRIVER_DIR "; then
311
+ if test -z "$CPP_DRIVER_LIBDIR "; then
292
312
ac_extra=
293
313
else
294
- ac_extra=-L$CPP_DRIVER_DIR /$PHP_LIBDIR
314
+ ac_extra=-L$CPP_DRIVER_LIBDIR /$PHP_LIBDIR
295
315
fi
296
316
297
317
PHP_CHECK_LIBRARY(cassandra, cass_cluster_new,
@@ -306,9 +326,9 @@ if test "$PHP_CASSANDRA" != "no"; then
306
326
]
307
327
)
308
328
309
- if test -n "$CPP_DRIVER_DIR "; then
310
- PHP_ADD_LIBPATH($CPP_DRIVER_DIR/$PHP_LIBDIR , CASSANDRA_SHARED_LIBADD)
311
- PHP_ADD_INCLUDE($CPP_DRIVER_DIR/include )
329
+ if test -n "$CPP_DRIVER_INCDIR "; then
330
+ PHP_ADD_LIBPATH($CPP_DRIVER_LIBDIR , CASSANDRA_SHARED_LIBADD)
331
+ PHP_ADD_INCLUDE($CPP_DRIVER_INCDIR )
312
332
fi
313
333
314
334
PHP_ADD_LIBRARY(cassandra,, CASSANDRA_SHARED_LIBADD)
0 commit comments