build: Add support to build against LibreSSL#439
Conversation
5df8d62 to
8b717fc
Compare
Codecov Report
@@ Coverage Diff @@
## master #439 +/- ##
=======================================
Coverage 18.19% 18.19%
=======================================
Files 31 31
Lines 5206 5206
Branches 997 997
=======================================
Hits 947 947
Misses 3988 3988
Partials 271 271 Continue to review full report at Codecov.
|
LibreSSL ships with the same API but has a different version number scheme. That is LibreSSL 3.x is not providing the OpenSSL 3.x APIs. Hence we need to test if the OpenSSL 3 APIs are available if LibreSSL is present. Reported-by: Ismael Luceno <ismael@linux.com> Signed-off-by: Daniel Wagner <dwagner@suse.de>
8b717fc to
8a7cf44
Compare
|
|
|
And how so? The pkg-config step should add the right path, no? Without |
|
pkg-config will by default filter out system include/library directories, but can be told not to. However it seems weird that having the standard includes would break anything, because that would also mean that programs which compile with the libressl dependency and also with a dependency that is installed to /usr/include would have compilation errors. Libressl's -I directory should be overriding that, though. What's the actual error? |
|
Right, I forgot that pkg-config is not adding the default paths. So on my system I installed libressl under /tmp/libressl: $ export PKG_CONFIG_PATH=/tmp/libressl/lib64/pkgconfig
$ pkg-config --cflags openssl
-I/tmp/libressl/include without So the first test finds LibreSSL |
|
I suppose we can drop the |
|
Ah yeah, because header includes are the union of all include paths. The header does exist in at least one place, and just because its parent directory is shadowed by another include path, doesn't mean that individual header is. Maybe that test could be gated on the openssl API version as well as whether the header exists? |
|
Usually only one library is present and only if you have both libraries in the include path things will break. So my test is a bit artificial. Let's just drop the |
|
The problem with using |
LibreSSL ships with the same API but has a different version number
scheme. That is LibreSSL 3.x is not providing the OpenSSL 3.x
APIs. Hence we need to test if the OpenSSL 3 APIs are available if
LibreSSL is present.
Reported-by: Ismael Luceno ismael@linux.com
Signed-off-by: Daniel Wagner dwagner@suse.de
Fixes: #434