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.
I am mostly using GNU make at the moment, so I eventually found a few other things I thought might be worth changing. Feel free to disagree, e.g. if you think some of the changes could make maintaining the file problematic in the future.
An overview of the commits:
test_cxx_flag
) to allow checking an arbitrary flag of the GCC C++ compiler. AVX512-FP16 can be disabled without immediately falling back tomarch=icelake-client
..o
files that are found in prerequisites in order to reduce the number of rules and custom recipes. This mostly relies on stuffing all the options intoCXXFLAGS
instead..hpp
and.h
files in their respective folders, too. This is in addition to their dependence on the files in the src and utils directories. This fits within the new approach by using rules to modify the compiler flags depending on which folder the target resides in.CXXFLAGS
, the critical changes are now made in an override clause. I also swapped the variables from recursively expanded to simple where it was possible.CXX
holdsg++
by default.CXX
variable when the user hasn't already done so. The detected version will also propagate to meson when that is the target.which
will print to stderr when an argument can't be found. This will now be suppressed.basename
to more gracefully handle the situation whereg++
is not on the path.