From 342b7de4a96d8b54be22d2c77e85bd9b751d7a3d Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Mon, 7 Nov 2016 16:20:03 -0500 Subject: [PATCH] PHPC-718: Define extension dependencies --- config.m4 | 3 +++ config.w32 | 8 ++++++++ php_phongo.c | 12 +++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/config.m4 b/config.m4 index 9dd6ff5c..d14ea40a 100644 --- a/config.m4 +++ b/config.m4 @@ -523,7 +523,10 @@ fi dnl }}} PHP_NEW_EXTENSION(mongodb, $MONGODB_ROOT, $ext_shared,, [$STD_CFLAGS $MAINTAINER_CFLAGS $COVERAGE_CFLAGS]) + PHP_ADD_EXTENSION_DEP(mongodb, date) + PHP_ADD_EXTENSION_DEP(mongodb, json) PHP_ADD_EXTENSION_DEP(mongodb, spl) + PHP_ADD_EXTENSION_DEP(mongodb, standard) PHP_ADD_INCLUDE([$ext_srcdir/src/BSON/]) PHP_ADD_INCLUDE([$ext_srcdir/src/MongoDB/]) diff --git a/config.w32 b/config.w32 index 2da36b70..212d94f5 100644 --- a/config.w32 +++ b/config.w32 @@ -46,6 +46,14 @@ ARG_ENABLE("mongodb", "MongoDB support", "no"); ARG_WITH("mongodb-sasl", "MongoDB: Build against Cyrus-SASL", "yes"); if (PHP_MONGODB != "no") { + ADD_EXTENSION_DEP("mongodb", "date", false); + ADD_EXTENSION_DEP("mongodb", "json", false); + ADD_EXTENSION_DEP("mongodb", "spl", false); + ADD_EXTENSION_DEP("mongodb", "standard", false); + + /* MongoDB does not actually depend on PHP's OpenSSL extension, but this is in + * place to ensure that later SSL library checks succeed. This can be removed + * once we support building with Secure Channel. */ ADD_EXTENSION_DEP("mongodb", "openssl", false); ADD_FLAG("CFLAGS_MONGODB", " /D BSON_COMPILATION /D MONGOC_COMPILATION /D MONGOC_TRACE /I" + configure_module_dirname + " /I" + configure_module_dirname + "/src/libmongoc/src/mongoc" + " /I" + configure_module_dirname + "/src/libbson/src/bson/ /I" + configure_module_dirname + "/src/libbson/src /I" + configure_module_dirname + "/src/contrib"); diff --git a/php_phongo.c b/php_phongo.c index dfe8ab12..ece495bf 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -2189,10 +2189,20 @@ const zend_function_entry mongodb_functions[] = { }; /* }}} */ +static const zend_module_dep mongodb_deps[] = { + ZEND_MOD_REQUIRED("date") + ZEND_MOD_REQUIRED("json") + ZEND_MOD_REQUIRED("spl") + ZEND_MOD_REQUIRED("standard") + ZEND_MOD_END +}; + /* {{{ mongodb_module_entry */ zend_module_entry mongodb_module_entry = { - STANDARD_MODULE_HEADER, + STANDARD_MODULE_HEADER_EX, + NULL, + mongodb_deps, "mongodb", mongodb_functions, PHP_MINIT(mongodb),