Currently libbson is in a separate repository from libmongoc; libmongoc includes it as a Git submodule. This causes various problems. It's difficult to build libmongoc with a bundled checkout of libbson using CMake (CDRIVER-1948). It's confusing to develop new libbson features that libmongoc depends on. Common logic in the test suite and build systems must be duplicated across the two repositories, and inevitably the common logic diverges.
Replace the git submodule in libmongoc with the contents of the libbson repository and retire the libbson repository. Do this as a fake author to avoid biasing the GitHub contributor stats.
Merge the two test suites into one: no more test-libbson executable, test-libmongoc should now run all the tests for both libraries.
Factor the common build logic. If we haven't yet deleted the Autotools scripts (CDRIVER-1349) don't bother factoring the duplicated Autotools logic, only do so for CMake scripts.
Continue to ship libbson and libmongoc as distinct libraries; only the repositories are merged.
- causes
-
CDRIVER-2695 Share threading config checks between libbson and libmongoc
- Closed
- is depended on by
-
CDRIVER-2509 Check that spec tests are up to date
- Closed