Currently hsc2hs calls cc directly when it needs to compile C. However, in general it doesn't have enough information about the build context to do so robustly, especially when GHC becomes runtime-retargetable (since the choice of which C compiler is used is going to depend upon the GHC profile). This is already starting to affect us as hsc2hs isn't benefitting from upstream GHC changes like https://gitlab.haskell.org/ghc/ghc/-/issues/20162.
I propose that hsc2hs should consistently rely on ghc to invoke the C compiler, centralizing build configuration in GHC.
Currently
hsc2hs
callscc
directly when it needs to compile C. However, in general it doesn't have enough information about the build context to do so robustly, especially when GHC becomes runtime-retargetable (since the choice of which C compiler is used is going to depend upon the GHC profile). This is already starting to affect us ashsc2hs
isn't benefitting from upstream GHC changes like https://gitlab.haskell.org/ghc/ghc/-/issues/20162.I propose that hsc2hs should consistently rely on
ghc
to invoke the C compiler, centralizing build configuration in GHC.