Skip to content

Conversation

@eramongodb
Copy link
Contributor

@eramongodb eramongodb commented Oct 6, 2023

Resolves CXX-2750. (Excuse the ticket/branch number confusion; this PR does not address CXX-2745, although it makes preparations for it.)

To accomodate the presence of multiple ABI namespaces, the BSONCXX_ABI_VERSION and MONGOCXX_ABI_VERSION CMake variables are no longer suitable, as they imply the presence of only a single definitive ABI version. This PR substitutes all current references to these variables with an explicit _noabi (the current and only supported ABI version). This includes the following changes to derivative variables:

  • ${<NAME>_ABI_NAMESPACE} -> _noabi
  • ${<NAME>_HEADER_INSTALL_DIR} -> ${CMAKE_INSTALL_INCLUDEDIR}/<name>/v_noabi
  • ${<NAME>_INLINE_NAMESPACE} -> v_noabi

These changes are primarily concerned with CMake project configuration variables and corresponding package config files. These changes should NOT affect the source or binary compatibility of the v_noabi libraries (verified by this compat report), and they should not affect downstream users of the CXX Driver using any of the primary supported package import methods.

There is one benign exception: the bsoncxx::v_noabi::k_silence_doxygen symbol in bsoncxx/json.hpp (which has no definition) is removed (identified by the mention of the inline namespace macro in the corresponding documentation comment). It is no longer relevant or necessary due to the ExtendedJsonMode enumeration being placed between the inline namespace macro and to_json(). This symbol appears to be solely for documentation-purposes. It's removal is technically a source compatibility break (as indicated by the compat report linked above), but I do not expect this should affect any downstream users (it really shouldn't).

@eramongodb eramongodb requested a review from kevinAlbs October 6, 2023 14:38
@eramongodb eramongodb self-assigned this Oct 6, 2023
@eramongodb eramongodb changed the title CXX-2745 Remove references to BSONCXX_ABI_VERSION and MONGOCXX_ABI_VERSION CXX-2750 Remove references to BSONCXX_ABI_VERSION and MONGOCXX_ABI_VERSION Oct 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants