diff --git a/config.m4 b/config.m4 index 55b96c79..127f3e64 100644 --- a/config.m4 +++ b/config.m4 @@ -314,6 +314,7 @@ PHP_ARG_WITH(libbson, Use system libbson, fi PHP_EVAL_INCLINE($LIBBSON_INC) PHP_EVAL_LIBLINE($LIBBSON_LIB, MONGODB_SHARED_LIBADD) + AC_DEFINE(HAVE_SYSTEM_LIBBSON, 1, [Use system libbson]) else PHP_ADD_SOURCES_X(PHP_EXT_DIR(mongodb)[src/libbson/src/yajl], $YAJL_SOURCES, [$STD_CFLAGS $MAINTAINER_CFLAGS], shared_objects_mongodb, yes) PHP_ADD_SOURCES_X(PHP_EXT_DIR(mongodb)[src/libbson/src/bson], $BSON_SOURCES, [$STD_CFLAGS $MAINTAINER_CFLAGS], shared_objects_mongodb, yes) @@ -332,7 +333,7 @@ PHP_ARG_WITH(libmongoc, Use system libmongoc, AC_PATH_PROG(PKG_CONFIG, pkg-config, no) AC_MSG_CHECKING(for libmongoc) if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libmongoc-1.0 && $PKG_CONFIG --exists libmongoc-priv; then - if $PKG_CONFIG libmongoc-1.0 --atleast-version 1.1.5; then + if $PKG_CONFIG libmongoc-1.0 --atleast-version 1.2.0; then LIBMONGOC_INC=`$PKG_CONFIG libmongoc-priv --cflags` LIBMONGOC_LIB=`$PKG_CONFIG libmongoc-priv --libs` LIBMONGOC_VER=`$PKG_CONFIG libmongoc-priv --modversion` @@ -340,13 +341,14 @@ PHP_ARG_WITH(libmongoc, Use system libmongoc, CFLAGS="$CFLAGS -DMONGOC_I_AM_A_DRIVER" else - AC_MSG_ERROR(system libmongoc must be upgraded to version >= 1.1.6) + AC_MSG_ERROR(system libmongoc must be upgraded to version >= 1.2.0) fi else AC_MSG_ERROR(pkgconfig and mongoc must be installed) fi PHP_EVAL_INCLINE($LIBMONGOC_INC) PHP_EVAL_LIBLINE($LIBMONGOC_LIB, MONGODB_SHARED_LIBADD) + AC_DEFINE(HAVE_SYSTEM_LIBMONGOC, 1, [Use system libmongoc]) else CPPFLAGS="$CPPFLAGS -DBSON_COMPILATION -DMONGOC_COMPILATION -DMONGOC_TRACE" diff --git a/php_phongo.c b/php_phongo.c index 7ea3b89b..bfae9e18 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -1883,7 +1883,23 @@ mongoc_client_t *php_phongo_make_mongo_client(const mongoc_uri_t *uri, zval *dri php_phongo_populate_default_ssl_ctx(ctx, driverOptions); } - MONGOC_DEBUG("Creating Manager, phongo-%s[%s] - mongoc-%s, libbson-%s", MONGODB_VERSION_S, MONGODB_STABILITY_S, MONGOC_VERSION_S, BSON_VERSION_S); + MONGOC_DEBUG("Creating Manager, phongo-%s[%s] - mongoc-%s(%s), libbson-%s(%s), php-%s", + MONGODB_VERSION_S, + MONGODB_STABILITY_S, + MONGOC_VERSION_S, +#ifdef HAVE_SYSTEM_LIBMONGOC + mongoc_get_version(), +#else + "bundled", +#endif + BSON_VERSION_S, +#ifdef HAVE_SYSTEM_LIBBSON + bson_get_version(), +#else + "bundled", +#endif + PHP_VERSION + ); client = mongoc_client_new_from_uri(uri); if (!client) { @@ -2393,8 +2409,19 @@ PHP_MINFO_FUNCTION(mongodb) php_info_print_table_header(2, "mongodb support", "enabled"); php_info_print_table_row(2, "mongodb version", MONGODB_VERSION_S); php_info_print_table_row(2, "mongodb stability", MONGODB_STABILITY_S); +#ifdef HAVE_SYSTEM_LIBMONGOC + php_info_print_table_row(2, "libmongoc headers version", MONGOC_VERSION_S); + php_info_print_table_row(2, "libmongoc library version", mongoc_get_version()); +#else + /* Bundled libraries, buildtime = runtime */ php_info_print_table_row(2, "libmongoc version", MONGOC_VERSION_S); +#endif +#ifdef HAVE_SYSTEM_LIBBSON + php_info_print_table_row(2, "libbson headers version", BSON_VERSION_S); + php_info_print_table_row(2, "libbson library version", bson_get_version()); +#else php_info_print_table_row(2, "libbson version", BSON_VERSION_S); +#endif php_info_print_table_end(); DISPLAY_INI_ENTRIES(); diff --git a/tests/manager/manager-debug-001.phpt b/tests/manager/manager-debug-001.phpt index 425e74f9..e1ac403d 100644 --- a/tests/manager/manager-debug-001.phpt +++ b/tests/manager/manager-debug-001.phpt @@ -30,7 +30,7 @@ foreach($content as $line) { ===DONE=== --EXPECTF-- -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s, libbson-1.%s +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s), php-%s [%s] mongoc: TRACE > ENTRY: mongoc_bulk_operation_execute():%d [%s] mongoc: TRACE > EXIT: mongoc_bulk_operation_execute():%d ===DONE=== diff --git a/tests/manager/manager-debug-002.phpt b/tests/manager/manager-debug-002.phpt index 45c6479b..e80c2b06 100644 --- a/tests/manager/manager-debug-002.phpt +++ b/tests/manager/manager-debug-002.phpt @@ -20,7 +20,7 @@ ini_set("mongodb.debug", "off"); --EXPECTF-- %a -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s, libbson-1.%s +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s), php-%s %a [%s] PHONGO: DEBUG > Connecting to '%s:%d[mongodb://%s:%d]' %a diff --git a/tests/manager/manager-debug-003.phpt b/tests/manager/manager-debug-003.phpt index 4d04bd1a..2ec2a2b4 100644 --- a/tests/manager/manager-debug-003.phpt +++ b/tests/manager/manager-debug-003.phpt @@ -21,6 +21,6 @@ ini_set("mongodb.debug", "off"); --EXPECTF-- %a [%s] PHONGO: TRACE > ENTRY: php_phongo_make_mongo_client():%d -[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s, libbson-1.%s +[%s] PHONGO: DEBUG > Creating Manager, phongo-1.%d.%d%S[%s] - mongoc-1.%s(%s), libbson-1.%s(%s), php-%s %a ===DONE===