-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake for OpenSSL 3.0 Support? #21
Comments
Would also love that |
For now it is not possible, as the build system of openssl-3 uses lot of perl scripts to generate headers depending of input args. So a pure cmake project as it is here cannot configure properly the project. |
How about "using Perl in CMakeLists.txt"? Details as follows:
If it is not possible to create a pure CMake project, I think the senod best option is to just use How about that? Is it possible/feasible? |
I had the same issue about building OpenSSL and linking it in CMake. |
Why not creating a repo with an action pregenerating the files for all the targets ? |
(Following investigation is done on OpenSSL 3.0.9 and 1.1.1u) According to my investigation, most of the files in the
... with the exception of following files:
Other files may be just generated in the way where 1.1.1 did. I hope the above investigation result will help with OpenSSL 3.0 support of this repository. (Edit 2023/6/11) https://github.com/Fsu0413/openssl-externalCMake/blob/3.0/crypto/stackhash.cmake Br. |
2023/6/11 Update: Another set of files is generated in
https://github.com/Fsu0413/openssl-externalCMake/blob/3.0/providers/generateder.cmake Br. |
@Fsu0413 wow seems very nice work. If you can succeeded to make it compile without perl it would be so nice 😊 |
Perl is needed for ASM so a build without Perl can only be no asm. My project (Fsu0413/openssl-externalCMake) may be currently able to build without Perl on 1.0.2 and 1.1.1 branch. |
@Fsu0413 why we need asm? |
It is a feature of OpenSSL, instead of something "we need". It should be always up to the user choosing whether the build is using ASM (i.e. whether the ASM feature is used), even when using OpenSSL original Perl-based Br. |
asm is assembly, most likely to hardware accelerate a lot of operations. Without it some things might be pretty slow, like AES encryption/decryption. |
@bsergean you are right assembly can improve performance, but they say it improves safety too. The thing here is maybe asm is necessary for good performance/safety, using perl to generate asm is purely developper choice and I wonder if they are some ways (easy ones) to avoid to have perl. One could be to pregenerate the asm |
My guess, from reading a few github PR in openssl, is that perl has been used for many, many years in OpenSSL for all sort of things, so switching from perl to something else would be a non trivial effort. But I never really look in details in the openssl code base ... so that doesn't mean much. |
@bsergean yes is what it seems to be. This makes it more diffucult to compile on windows etc. On linux perl is mainly available so it's not a big problem. Openssl is not cross-platform friendly |
At openssl/openssl#10902 there is a CMake generator for their new perl Makefile generator. But failed to get support and is not merged. On Windows you can have perl from the git package ( Having a CMake port of OpenSSL would help people which try to build for QNX like here openssl/openssl#22257 🤷🏻♂️ |
2023/12/10 Update OpenSSL 3.2.0 introduces https://github.com/Fsu0413/openssl-externalCMake/blob/3.2/crypto/paramnames.cmake Also OpenSSL 3.1 series introduces nothing to the build process. |
2024/3/24 Update
There is nothing new in the progress though. |
No description provided.
The text was updated successfully, but these errors were encountered: