You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, we vendor in our modified copies of the Rust standard libraries (as well as the associated translate_libs.sh script, which runs mir-json on these modified standard libraries to compile them) as a subdirectory in crux-mir. Historically, this made sense, as crux-mir was the sole consumer of these files. It is unclear if this arrangement makes as much sense nowadays, however, for the following reasons:
Both crux-mir and SAW (the latter of which now has a MIR backend) need to make use of translate_libs.sh. Telling SAW users to download crux-mir for the sole purpose of running translate_libs.sh doesn't make much sense, given that crux-mir is otherwise unrelated to SAW.
The vendored-in copies of the Rust standard libraries are actually quite large (on the order of several megabytes), which substantially increases the amount of time it takes to clone the crucible repo. This is a bit of a shame, considering that many crucible developers aren't going to be using the MIR-related parts.
To address both of these concerns, I propose that we factor out the modified Rust standard libraries (and translate_libs.sh) into a separate repo. I'll tentatively call this repo "mir-json-libs" until I can think of something better. That way, mir-json-libs development can live outside of crucible (thereby avoiding further bloating of the crucible repo), and there is now a central location for further standard library modifications needed to support crux-mir and SAW.
The text was updated successfully, but these errors were encountered:
Won't it still need to be a submodule of crucible (or at least want to be, for the same reasons we just added mir-json in saw)? That kind of defeats point 2. Not that this matters, since point 1 is ample reason to do this :-)
Won't it still need to be a submodule of crucible (or at least want to be, for the same reasons we just added mir-json in saw)? That kind of defeats point 2.
Yes, that is fair. Let me revise point (2), then: one disadvantage of versioning the crux-mir standard libraries in the same repo as crucible is that the git history for the crux-mir standard libraries is very large and messy, and it would be better to keep it as separate as possible. (For an example of what I'm taking about, check out the sheer number of commits from the last time we updated these standard libraries: GaloisInc/mir-json#49)
Currently, we vendor in our modified copies of the Rust standard libraries (as well as the associated
translate_libs.sh
script, which runsmir-json
on these modified standard libraries to compile them) as a subdirectory incrux-mir
. Historically, this made sense, ascrux-mir
was the sole consumer of these files. It is unclear if this arrangement makes as much sense nowadays, however, for the following reasons:crux-mir
and SAW (the latter of which now has a MIR backend) need to make use oftranslate_libs.sh
. Telling SAW users to downloadcrux-mir
for the sole purpose of runningtranslate_libs.sh
doesn't make much sense, given thatcrux-mir
is otherwise unrelated to SAW.crucible
repo. This is a bit of a shame, considering that manycrucible
developers aren't going to be using the MIR-related parts.To address both of these concerns, I propose that we factor out the modified Rust standard libraries (and
translate_libs.sh
) into a separate repo. I'll tentatively call this repo "mir-json-libs
" until I can think of something better. That way,mir-json-libs
development can live outside ofcrucible
(thereby avoiding further bloating of thecrucible
repo), and there is now a central location for further standard library modifications needed to supportcrux-mir
and SAW.The text was updated successfully, but these errors were encountered: