This PR re-enables std.sdk() invocations with host !== target. It also includes a number of reactors and fixes to facilitate this change, ensuring consistent interfaces are in use throughout all targets including injection and workspace, with adequate toggles to avoid bootstrapping loops.
It also adds a new option for optimizing library paths. Previously, tgld would crawl the available paths, fully resolve all tg::Files it can find, and construct a new directory. The filter mode instead just drops paths that do not contain transitively needed libraries and resolves symlinks with paths, but does not aggregate them.
Leaving as a draft for the time being, pending these issues:
[x] Rebase against main Tangram. The current Cargo.toml points to an out-of-tree rev, pending changes.
[ ] Address bug in optimize_library_path where some needed libraries aren't selected, and re-enable optimization in affected packages
[ ] More thorough testing of all supported cross-combinations
This PR re-enables
std.sdk()
invocations withhost !== target
. It also includes a number of reactors and fixes to facilitate this change, ensuring consistent interfaces are in use throughout all targets includinginjection
andworkspace
, with adequate toggles to avoid bootstrapping loops.It also adds a new option for optimizing library paths. Previously,
tgld
would crawl the available paths, fully resolve alltg::File
s it can find, and construct a new directory. Thefilter
mode instead just drops paths that do not contain transitively needed libraries and resolves symlinks with paths, but does not aggregate them.Leaving as a draft for the time being, pending these issues:
main
Tangram. The currentCargo.toml
points to an out-of-tree rev, pending changes.optimize_library_path
where some needed libraries aren't selected, and re-enable optimization in affected packagesllvm
feature support still pendinglinker
feature support still pending