haskell-jp / questions #103 at 2023-03-06 00:49:04 +0900

ふと思ったのですが,GHCの compiler backend (LLVMとかNCGとか)って機械語吐くのに必要なんだから,ライブラリだけビルドする時って無関係,なんでしたっけ…? こういう時どういう資料を漁ればいいかよくわからなくなってしまって.
資料があるかはわかりませんが、結論としてはライブラリだけビルドする際もネイティブコードは出力されるはずです。前に私がNCGの問題を修正する際、NCGでビルドしたbaseとLLVMでビルドしたbaseで(プログラム側をどちらでビルドするかは関わりなく)動作が違うということがありました。
おやまあ、なるほど、びっくりです。ありがとうございます! ということは、"dependencyだけbuildする"みたいな時も --ghc-options -fllvm つけるかつけないかで有意な差が出る可能性があるんですね。
(ghcupの GHC インストール時 って なんか ghc-make が走ってますけど,ひょっとして GHC_OPTIONS="-fllvm" とかやると違うものができたりして)