build .so from boot libraries

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

build .so from boot libraries

Németh Boldizsár
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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: build .so from boot libraries

Matthew Pickering
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 <[hidden email]> 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
> [hidden email]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs