[mmtk-julia] Allow building Julia with variations of the binding #57176
+108
−35
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 PR enables building the mmtk-julia binding with different configurations other than non-moving Immix. While it was already possible to do so when building from source, this should enable using the binaries generated via the latest version from BinaryBuilder (JuliaPackaging/Yggdrasil#10357).
I have also decoupled MMTk from the code, such that it should be an option for a third-party heap. This should be set using
WITH_THIRD_PARTY_GC=mmtk
(inMake.user
or as an environment variable).The different configurations of MMTk can be achieved by setting the variables below (set in
Make.user
, for example):MMTK_PLAN
MMTK_MOVING
MMTK_BUILD
Note that the actual code to support building with moving and sticky immix will be added in future PRs.
I've also added some preliminary documentation in
doc/gc.md
about building Julia with MMTk, including a link to the binding and an small FAQ on what to do if you break the build of Julia+MMTk.