* PHPC-2049: Bump libmongoc and libmongocrypt submodules
libmongoc master (1.22-dev) now depends on libmongocrypt master (1.5-dev).
libmongoc's bundled zlib library was updated to 1.2.12.
* PHPC-2049: BulkWrite and Query support comment option of any type
MongoDB 4.4+ allows a comment option of any type on most commands. Previously, find required a string type and write commands did not support comment at all. The driver does not validate the option and relies on the server to raise an error.
* Fix title and variable access in BulkWrite and Query let option tests
* Fix grammar in php_phongo_bulkwrite_delete_apply_options comment
* Undefine additional Query option macros
This allows PHPC to defer entirely to libmongoc for cross-option URI validation
Bump libmongoc to 1.21-dev
Build changes are ported from upstream CMake changes (see: CDRIVER-4249)
On AIX, the resolver functions are in libc, so trying libresolv
will cause the checks to fail. The behaviour should be instead
like AC_SEARCH_LIBS.
This hardcodes a check not to use libresolv on AIX. Better than
nothing, but it may not compensate for other systems without a
libresolv.
Per src/libmongoc/doc/installing.rst, the VERSION_CURRENT and VERSION_RELEASED files must now be generated. This requires Python and the GitPython pip module to run src/libmongoc/build/calc_release_version.py. A new libmongoc-version-current Makefile target has been added.
The AC_CHECK_FUNC macro has only the following form:
AC_CHECK_FUNC(function, [action-if-found], [action-if-not-found])
In most cases adding more arguments to macro call don't cause errors,
but it also doesn't have any functionality either.
The AC_COMPILE_CHECK_SIZEOF is from the GNU Autoconf Archive and was
renamed to AX_COMPILE_CHECK_SIZEOF. However this macro is not used in
current MongoDB PHP extension nor in the mongo-c-driver dependency
anymore.
The AC_HELP_STRING has been made obsolete since Autoconf 2.58 somewhere
in 2003. The new AS_HELP_STRING macro has been since recommended to be
used and should be today supported on most systems out there. The phpize
script for PHP 7.2+ requires Autoconf 2.59 and PHP requires 2.64.
This patch has been made with the help of the autoupdate script.
Autoconf changelog:
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/ChangeLog.3
The output path for this file was left incorrect in the previous PR for PHPC-1174, but the file isn't actually even used anymore per mongodb/mongo-c-driver@abc882dec9 (CDRIVER-2473).
The check for sasl_client_done was inadvertently removed by aab92e1d3e. This ensures that we check for the symbol regardless of whether SASL was found with pgk-config or PHP_CHECK_LIBRARY.
libmongoc does not actually support GSSAPI (CDRIVER-2170), so we should not allow building with it. This also reverts preference for the GSS framework on macOS (PHPC-1142).
GitHub's file finder filters out "build/" directories, among others, which can make it difficult to quickly access these files. Also, the "build/" directory doesn't provide much value here, since it only contains "autotools/".