Support native compilation on non-GNU Unix systems #5237
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Currently only tested on OpenBSD, but the hope is to more easily support non-GNU systems. Two main changes:
libb2
for all blake2 related functions. This is because blake2 is not supported at the moment by LibreSSLsh
injit-tests.sh
. This ensures it can run on systems where bash isn't installed by default.(cc @dolio as I think you've been quite involved in the native compilation? Curious to hear your thoughts on this!)
Interesting/controversial decisions
One could argue that the vast majority of users will be on Windows/Linux/Mac. However, I think it's important in general to strive for portable software. The more systems software can run on, the less chances of system/implementation-specific issues cropping up.
Test coverage
Relying mostly on CI . Manually ran
jit-tests.sh
locally on Mac.Loose ends
I've also updated the README for the scheme-libs here #5238
Tests are currently failing because of outdated scripts. That is fixed in #5236