Skip to content

Build system circular dependency

Currently bootstrapping the MMTk binding induces a dependency cycle:

  • The rust bits (rts/mmtk/mmtk) requires _build/stage1/rts/build/include/ghcautoconf.h due to bindgen
  • _build/stage1/rts/build/include/ghcautoconf.h requires that rts be configured, due to hadrian/src/Rules/Generate.hs:159
  • configuring rts requires libCmmtk_ghc.a due to the dependency declared in rts/rts.cabal.in

This can be manually broken by running rts/configure but this is a horrible hack.

Edited by Ben Gamari