1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 10:57:35 +00:00

Ports: Compile OpenSSL with threads and as a shared library

By defining our own target platform in the OpenSSL compilation
configuration we can now compile an OpenSSL shared library. We need to
avoid symbol versioning though, as serenity's LibELF doesn't support
this yet.

We are now also compiling with threading support to allow using this
from Python.
This commit is contained in:
Rodrigo Tobar 2021-09-26 00:07:31 +08:00 committed by Linus Groh
parent 80e70f95ab
commit dc03c559df
3 changed files with 50 additions and 1 deletions

View file

@ -0,0 +1,16 @@
--- openssl-1.1.1k/Configurations/shared-info.pl 2021-03-25 21:28:38.000000000 +0800
+++ openssl-1.1.1k/Configurations/shared-info.pl 2021-09-26 00:05:04.340004623 +0800
@@ -34,6 +34,13 @@
shared_defflag => '-Wl,--version-script=',
};
},
+ 'serenity-shared' => {
+ shared_ldflag => '-shared',
+ shared_sonameflag => '-Wl,-soname=',
+ # -Map is not really what should be used here, but we need a flag that
+ # accepts a filename and that it's '-version-map'
+ shared_defflag => "-Wl,-Map=",
+ },
'bsd-gcc-shared' => sub { return $shared_info{'linux-shared'}; },
'bsd-shared' => sub {
return $shared_info{'gnu-shared'} if detect_gnu_ld();