Uploaded image for project: 'C++ Driver'
  1. C++ Driver
  2. CXX-23

Create a config.h header that captures the values of preprocessor defines to avoid ABI inconsistencies

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Critical - P2 Critical - P2
    • legacy-0.8.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      Right now, we pass options like -DMONGO_SSL when building the mongo client library. However, we don't record those in a config.h header that is included by the headers or installed.

      Some of these defines, like MONGO_SSL or _DEBUG, can affect the size and layout of objects.

      This means that clients of the library must pass the same definitions on their compilation line or risk subtle crashes and memory corruption.

      We should generate a config.h header that captures the relevant defines and ensures that they are visible to the mongoclient headers when used by clients of the library.

            Assignee:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Reporter:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: