build .so from boot libraries

Matthew Pickering matthewtpickering at gmail.com
Tue Apr 16 14:51:07 UTC 2019


Boldi,

I have tried to do this but the more ambitious goal of running the
plugins on `base` as well. If you want to run plugins on base you have
to build a stage3 compiler as stage1 doesn't have GHCi support so you
can't run plugins whilst building stage2. After getting stage3 working
I got blocked by another issue

https://gitlab.haskell.org/ghc/ghc/issues/16561

So I will assume you are trying to run plugins whilst building stage1
with the stage0 compiler. Which indeed sounds possible.

I added support to Hadrian to allow building shared objects for
libraries built with stage0. I think you can enable it by just setting
`libraryWays = pure [vanilla, dynamic] ` in a hadrian flavour.

Otherwise you can try running the `./hadrian/build.sh tool-args`
target which should build them for you. That's the target I use to
load GHC into haskell-ide-engine and for ./hadrian/ghci.sh script
which ran into similar issues with shared objects.

Cheers,

Matt

On Tue, Apr 16, 2019 at 3:12 PM Németh Boldizsár <nboldi at elte.hu> wrote:
>
> Hi,
>
> I'm trying to run compiler plugins on the source code of GHC itself.
> (Has anyone done this before?) Somehow this forces the loading of .so
> files of boot libraries (like libHSterminfo-0.4.1.3.so and
> libHSghc-boot-th-8.9.so) during GHC's compilation. The .so files are not
> built at this stage (only in later stages) by default.
>
> Is there an option to create dynamically linked libraries from the boot
> libraries in stage 0?
>
> BR,
> Boldizsár
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list