torque e68d5f484b
build: handle architecture include more gracefully
The "openssl/opensslconf.h" header is copied from an
architecture-specific source file, which means that specific path is
not valid within the source tree. I previously hacked around this by
copying the file within the source tree, but that had the major
downside of invalidating various cache layers after the copy was
performed.

Since we install this header with the right name, a slightly better
solution, hopefully, is to add the header install path as an include
directory. In theory, this will not invalidate any caching and improve
the build process slightly.
2024-01-15 15:28:44 -08:00
2023-09-02 04:02:03 -06:00
2023-11-01 20:49:34 -05:00
2023-09-29 10:57:53 -06:00
2023-11-01 20:49:34 -05:00
2023-07-16 01:58:35 -06:00
2023-11-02 04:41:13 -05:00
2023-11-01 20:49:49 -05:00
2023-05-26 21:51:56 -05:00
2022-05-09 01:33:25 -05:00
2021-06-09 19:40:56 +09:00
2020-04-09 08:29:34 -05:00
2021-06-09 19:40:56 +09:00
2021-06-09 19:40:56 +09:00
2023-10-18 04:08:21 -05:00
2023-11-06 22:36:24 -08:00
2023-11-06 22:36:24 -08:00
2023-07-07 15:25:50 +03:00
2022-09-26 07:28:30 -05:00

LibreSSL with a Zig build system

This is a somewhat hacky port of the LibreSSL build system to Zig. It builds LibreSSL exclusively as static libraries. It does not (currently) build the LibreSSL command-line executables, like openssl.

Notes:

  1. In order for this to work, .\update.sh must have first been run to bring in the LibreSSL OpenBSD sources. (Or, if you trust me, you may use the zig-3.8.1 branch which has the upstream sources committed to the repository, for ease of use with the Zig package manager).

  2. I don't know if this causes LibreSSL to be compiled in a way that Compromises Its Cryptographic Integrity. Hopefully it is not even possible to do such a thing in the first place. But I am not an expert, and I ain't looking to port the tests.

  3. This does not (currently) compile the assembly routines, only the C versions, which may cause reduced performance on some platforms.

  4. Only the "big 3" platforms are supported (namely: macOS, Linux, and Windows), and they may be poorly supported, at that. I can cross compile to them from my computer but I have not tried natively compiling on all platforms.

  5. Why LibreSSL? It has a CMake-based build system rather than the insane hand-rolled perl mess that OpenSSL does, so it was very straightforward to follow the build process for the purposes of porting it. In theory, its OpenSSL compatibility layer makes it possible to use with a variety of other programs that want to link OpenSSL.

Description
No description provided
Readme 18 MiB
Languages
C 39.7%
CMake 18.4%
Makefile 13.3%
Shell 10.9%
Zig 9.5%
Other 8.2%