Hi,

Well the purpose is a bit convoluted, but here it goes:

Basically, we want to know which `ghc` version `cabal-install` is going to pick for compiling the project in a platform independent way without resorting to linking to `Cabal`.

You can execute `cabal exec -- ghc` which launches the correct `ghc` version, but as far as we found out, there is no programmatic way of finding the path to the `ghc` executable itself (`cabal exec -- where ghc` or `cabal exec -- which ghc` fails on windows). What we really want is `cabal-install` to tell us, e.g. with `cabal show-build-info` which is a command not implemented yet[0].

As long as this command is not implemented, we have to monkey patch it in order to satisfy our goals. You can execute `cabal exec -- ghc --print-libdir`, which gives you the `$libdir`, which brings us back to the original question: can we find the `ghc` executable given `$libdir` in a platform independent way?

[0] https://github.com/haskell/cabal/pull/6241

Best regards,
Fendor

On 2/8/21 7:48 PM, Daniel Gröber wrote:
Hi Fendor,

On Mon, Feb 08, 2021 at 07:35:12PM +0100, Fendor wrote:
I want to find out the location of the `ghc` (and `ghc-pkg`) executable
given the `$libdir` (obtained by `ghc --print-libdir`).
Is there a platform independent way of doing that, which we can rely on?
Are you aware of the `ghc --print-libdir` option? I think you'd be much
better off going from ghc binary to libdir instead of the other way around.

Could you explain why you're trying to do it your way?

(P. S. first time using a mailing list, hope I am doing it correctly)
Seems fine to me :)

--Daniel
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to