Commit Graph

7 Commits

Author SHA1 Message Date
Jeremy Mikola 8dfe6c31ec PHPC-2256: Build configuration improvements (#1483)
* PHPC-2311: Note that with-libbson and with-libmongoc are deprecated

* PHPC-2312: MONGOC_ENABLE_SASL_GSSAPI is obsolete

* PHPC-1218: Use m4_include with base path for including m4 scripts

This removes the custom _include macro, which used sinclude on two different paths in order to support both shared and static builds. Unlike m4_sinclude, m4_include reports an error if the file is not found, so this also addresses the validation that was disabled to support PECL installs.

* PHPC-2300 and PHPC-2302: Fix configure output for bundled libbson/libmongoc versions

This was missed in 7ccb0949ba and 1c533ffa2d.

* PHPC-2225: Validate PHP_ARG_ENABLE and PHP_ARG_WITH configure options

Introduce a PHP_MONGODB_VALIDATE_ARG macro, which is called after processing a configure option.

PHP may still assign "yes" as a value during parsing, so map that to another value when necessary (e.g. selecting a crypto/TLS library).

* Add deprecation notice for --enable-system-ciphers in shared builds

* PHPC-2155: Remove prefixes for quoted shell variable references

* PHPC-1017: Allow configure options to be specified with PECL install

Introducing <configureoption> tags in package.xml means that PECL installs will now prompt for input. Non-interactive installs can still be achieved by either piping input (e.g. `yes '' | pecl install mongodb`) or explicitly specifying configure options (--configureoptions option for pecl install).

* Refer to update-submodule-sources.php in config.m4/w32 and fix macOS compatibility

* PHPC-2314: Require OpenSSL 1.0.1+ for libmongoc 1.24+

* PHPC-2315: Use PKG_CHECK_MODULES for detecting libmongoc system libs

* Remove superfluous AC_MSG_NOTICE output in CheckSSL.m4
2023-11-01 21:41:56 -04:00
Jeremy Mikola c4d1951f97 PHPC-2236: Allow compression libraries to be configured at build time (#1438)
This introduces several configure options:

  --with-mongodb-snappy=[auto/yes/no]
  --with-mongodb-zlib=[auto/yes/system/bundled/no]
  --with-mongodb-zstd=[auto/yes/no]

The "auto", "yes", and "no" options behave like existing options: "auto" attempts to use a library but allows it to not be found; "yes" requires a library and errors if it's not found; "no" disables a library.

The "system" and "bundled" options for zlib function like "yes", but for using the system library or bundled zlib sources in libmongoc, respectively. Since bundled sources are always available, configuring zlib with "auto", "yes", or "bundled" should never fail.
2023-06-22 09:35:48 +02:00
Jeremy Mikola ab44b0cbeb PHPC-1647: Use mongoc_client_new_from_uri_with_error
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)
2022-01-05 13:10:45 -05:00
Jeremy Mikola d97a66a545 PHPC-1313: Support Zstandard compression 2020-05-13 10:56:14 -04:00
Andreas Braun ea7489bf72 PHPC-1369: Update libmongoc to latest 1.15-dev 2019-08-12 07:49:29 +02:00
Jeremy Mikola b9f1a1fcf8 PHPC-1198: Use PHP_MONGODB_BUNDLED_CFLAGS in bundled m4 scripts
This was missed in ce45de41fa.
2018-05-30 12:22:47 -04:00
Jeremy Mikola 4d9dd87c2c Remove "build/" from autotools scripts path
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/".
2018-05-16 11:03:46 -04:00