Uploaded image for project: 'PHP Driver: Extension'
  1. PHP Driver: Extension
  2. PHPC-2256

Build configuration improvements

    • Type: Icon: Epic Epic
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 1.17.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Done
    • Build configuration improvements
    • 4
    • 3
    • 4
    • 100
    • Hide

      Engineer: Jeremy Mikola

      2023-10-27: Setting end date to 2023-11-03

      • Cleaned up m4 includes
      • Expanded PECL package config to allow changing build configuration
      Show
      Engineer: Jeremy Mikola 2023-10-27: Setting end date to 2023-11-03 Cleaned up m4 includes Expanded PECL package config to allow changing build configuration

      Summary

      When building with bundled libmongoc, the PHP driver supports various dependencies. Some of these are optional and can be disabled, but other optional dependencies are always used when available. For example, PHPC-2236 only recently made compression libraries configurable.

      We should expose all dependencies as configure options. After new configure options have been added, they can then be exposed to PECL (PHPC-1017).

      This will also present an opportunity to clean up our Autoconf scripts (PHPC-2194, PHPC-2225) and add test coverage (PHPC-1187).

      Motivation

      Who is the affected end user?

      Users that install the driver with PECL or compile from source.

      Note: Windows users are not impacted by this since they use pre-built DLLs.

      How does this affect the end user?

      In some cases, the user's environment is incompatible with the driver and they may have no way to disable an optional dependency.

      How likely is it that this problem or use case will occur?

      Relatively rare, but we do get reports from time to time.

      If the problem does occur, what are the consequences and how severe are they?

      In some cases, a dependency issue can make the driver unusable. However, this is usually something faced when starting a project so it's unlikely to block applications that are already using the driver.

      Is this ticket required by a downstream team?

      No.

      Cast of Characters

      Engineering Lead: jmikola@mongodb.com
      Document Author:
      POCers:
      Product Owner:
      Program Manager:
      Stakeholders:

      Channels & Docs

      [Scope Document|some.url]

      [Technical Design Document|some.url]

            Assignee:
            jmikola@mongodb.com Jeremy Mikola
            Reporter:
            jmikola@mongodb.com Jeremy Mikola
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              1 week, 2 days