Skip to content

CXXCBC-386: Allow option to statically link against BoringSSL#458

Merged
thejcfactor merged 11 commits intocouchbase:mainfrom
thejcfactor:CXXCBC-386
Oct 23, 2023
Merged

CXXCBC-386: Allow option to statically link against BoringSSL#458
thejcfactor merged 11 commits intocouchbase:mainfrom
thejcfactor:CXXCBC-386

Conversation

@thejcfactor
Copy link
Copy Markdown
Contributor

Motivation

Primarily a change to hlep the wrapper SDKs remove the OpenSSL dependency. Replacing OpenSSL with BoringSSL will help to provide a better user experience as users will not need to worry about how their particular OS uses OpenSSL in conjunction with a particular language (Node.js, Python, Ruby, etc.).

Changes

Update build system to provide option that lets C++ client know BoringSSL will be statically linked. A few changes for linux builds where there are some differences between OpenSSL and BoringSSL.

@thejcfactor thejcfactor force-pushed the CXXCBC-386 branch 2 times, most recently from 158810c to c699d17 Compare October 9, 2023 17:08
@thejcfactor thejcfactor force-pushed the CXXCBC-386 branch 2 times, most recently from 9885d7e to 17c23d6 Compare October 10, 2023 16:15
Motivation
----------
Primarily a change to help the wrapper SDKs remove the OpenSSL
dependency from their respective built binaries.  This will help to
provide a better user experience as users will not need to worry about
how their particular OS uses OpenSSL in conjuction with a particular
language (Node.js, Python, Ruby, etc.). Users of the C++ SDK will have
access to using BoringSSL as well.

Changes
-------
Update build system to provide options to enable the C++ SDK to
statically link against BoringSSL (utilizing the symbol prefixing
boringssl allows) instead of linking against OpenSSL. BoringSSL options
are not on by default (i.e. by default the C++ SDK will continue to use
OpenSSL).  Update portions of code to handle slight differences between
BoringSSL and OpenSSL.
avsej and others added 10 commits October 17, 2023 16:11
* do not assume makefiles for unix systems
* always do verbose build
* allow to pass extra cmake options
Helps with MinGW toolchain, which uses Unix style of the names
libXXX.a instead of XXX.lib.

Also adds the patch for MinGW and third_party/fiat/curve25519_64_adx.h
@thejcfactor thejcfactor merged commit a0af618 into couchbase:main Oct 23, 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