Fsu0413 / openssl-externalCMake

A totally external CMake project for building OpenSSL.
http://openssl.org
The Unlicense
12 stars 3 forks source link

Windows builds with LLVM (MSVC and MinGW builds), with ASM #13

Open Fsu0413 opened 8 months ago

Fsu0413 commented 8 months ago

Currently all our builds are targeting pure MSVC / MinGW with GCC. No builds are targeting LLVM.

There is VC-WIN64-CLANGASM-ARM configuration in OpenSSL since 3.1, where it supports ASM compile using clang-cl, and C code compile using MSVC cl and link the final executable together. Another thing is VC-CLANG-WIN64-CLANGASM-ARM, also available since 3.1, support whole program compile and link using clang-cl.

Things which should be tried on each branch:

NumberConfigurationToolchainCCASMperlasm scheme
1VC-CLANG-WIN32MSVCclang-cl<none>N/A
2nasmwin32n
3VC-CLANG-WIN64A<none>N/A
4nasmnasm
5VC-CLANG-WIN64-ARM<none>N/A
6VC-CLANG-WIN64-CLANGASM-ARMclang-clwin64
7VC-WIN32-CLANGASMclclang-clcoff
8VC-WIN64-CLANGASMAmingw64
9VC-WIN64-CLANGASM-ARMwin64
10mingwMinGWclang<none>N/A
11clangcoff
12mingw64<none>N/A
13clangmingw64
14mingwarm64<none>N/A
15clangwin64

Notes about above toolchains:

  1. clang-cl with MSVC toolchain should be built using official LLVM distribution
  2. VC-CLANG-* configuration may be some extension of my project
  3. clang with MinGW should be built using llvm-mingw from mstorsjo
  4. mingwarm64 exists as MSYS2 downstream patch, so we just use the configuration name.

3.2:

Other branches should be same as 3.2 but there is possibility that ASM can't be supported

Fsu0413 commented 8 months ago

CLANG ASM of Windows on ARM is currently broken