WIP: Replace Autotools build system with an equivalent CMake build system. #10
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.
This is a major change that I do not expect to be accepted anytime soon, if ever. Still, I wanted to share it with you in case you have any interest.
The Autotools-based build system has been completely removed and replaced with an approximately equivalent CMake-based build system. With CMake, it is possible to use a variety of backends, including make, Ninja, and XCode, among others. The original Autotools generated make-based build takes ~25s on my 10-core (8 performance + 2 efficiency) M1 MacBook with
make -j8
. The CMake generated Ninja build takes ~15s with the same settings, a 40% improvement.There are code paths in the build system I have not exercised, and some that, as far as I know, I am unable to exercise. I have not yet ported the
install
target.This PR includes the following changes.
NO_ASSERT
, as otherwise the code doesn't compile.LOCAL_INLINES
until I understand why it should be disablable.This is a work in progress. If you give it a try and find issues, let me know.