Simon, If you want to see all command lines, you can pass '--verbose' or '-V' flag to Hadrian and it will then print out everything it does. But you can also choose which particular command lines to print in UserSettings, see: https://github.com/snowleopard/hadrian/blob/master/doc/user-settings.md#verb... So, you can do: verboseCommand = input "//GHC/Real.hs" Or, alternatively, verboseCommand = output "//GHC/Real.hi" Both should produce the same result (in theory). In general, we have the following documents on Hadrian: The README: https://github.com/snowleopard/hadrian/blob/master/README.md How to use UserSettings: https://github.com/snowleopard/hadrian/blob/master/doc/user-settings.md An overview of build flavours: https://github.com/snowleopard/hadrian/blob/master/doc/flavours.md I hope the more Hadrian gets used, the more complete the documentation will become. Cheers, Andrey From: Simon Peyton Jones [mailto:simonpj@microsoft.com] Sent: 30 August 2018 12:19 To: Simon Peyton Jones <simonpj@microsoft.com>; Alp Mestanogullari <alp@well-typed.com>; Andrey Mokhov <andrey.mokhov@newcastle.ac.uk> Cc: ghc-devs <ghc-devs@haskell.org> Subject: RE: Hadrian Sigh. As an inconvenient workaround, I tried adding {-# OPTIONS_GHC -dverbose-core2core #-} to GHC.Real, and then doing cabal new-run hadrian -- -c -j4 --flavour=quick --directory=".." in hadrian/ That did recompile GHC.Real - but all the debug output disappeared! I tried adding {-# OPTIONS_GHC -ddebug-output #-} as well, but that didn't work. I'm stuck - any ideas? Simon From: ghc-devs <ghc-devs-bounces@haskell.org> On Behalf Of Simon Peyton Jones via ghc-devs Sent: 30 August 2018 12:12 To: Alp Mestanogullari <alp@well-typed.com>; Andrey Mokhov <andrey.mokhov@newcastle.ac.uk> Cc: ghc-devs <ghc-devs@haskell.org> Subject: Hadrian Alp, Andrey The old build system printed out every command line; and I often copy-paste that info to build single modules. Eg currently, when trying to understand #15570 I see a suspicious GHC.Real.hi. So I want to manually recompile GHC.Real (from base), adding some debug flags. How can I get the right command line to do that from the build log? Where is the "how to use Hadrian" wiki page? I know you've been writing one. Simon
Hello Simon, Andrey, For “How to use Hadrian wikipage”, maybe Simon wanted this one from the GHC Wiki: https://ghc.haskell.org/trac/ghc/wiki/Building/Hadrian/QuickStart It does mention the verbose flag, but does not really explain that you can get what Simon wants, I believe. -- Best wishes, Artem чт, 30 авг. 2018 г. в 7:25, Andrey Mokhov <andrey.mokhov@newcastle.ac.uk>:
Simon,
If you want to see all command lines, you can pass '--verbose' or '-V' flag to Hadrian and it will then print out everything it does.
But you can also choose which particular command lines to print in UserSettings, see:
https://github.com/snowleopard/hadrian/blob/master/doc/user-settings.md#verb...
So, you can do:
verboseCommand = input "//GHC/Real.hs"
Or, alternatively,
verboseCommand = output "//GHC/Real.hi"
Both should produce the same result (in theory).
In general, we have the following documents on Hadrian:
The README: https://github.com/snowleopard/hadrian/blob/master/README.md How to use UserSettings: https://github.com/snowleopard/hadrian/blob/master/doc/user-settings.md An overview of build flavours: https://github.com/snowleopard/hadrian/blob/master/doc/flavours.md
I hope the more Hadrian gets used, the more complete the documentation will become.
Cheers, Andrey
From: Simon Peyton Jones [mailto:simonpj@microsoft.com] Sent: 30 August 2018 12:19 To: Simon Peyton Jones <simonpj@microsoft.com>; Alp Mestanogullari < alp@well-typed.com>; Andrey Mokhov <andrey.mokhov@newcastle.ac.uk> Cc: ghc-devs <ghc-devs@haskell.org> Subject: RE: Hadrian
Sigh. As an inconvenient workaround, I tried adding {-# OPTIONS_GHC -dverbose-core2core #-} to GHC.Real, and then doing cabal new-run hadrian -- -c -j4 --flavour=quick --directory=".." in hadrian/ That did recompile GHC.Real - but all the debug output disappeared! I tried adding {-# OPTIONS_GHC -ddebug-output #-} as well, but that didn't work. I'm stuck - any ideas? Simon
From: ghc-devs <ghc-devs-bounces@haskell.org> On Behalf Of Simon Peyton Jones via ghc-devs Sent: 30 August 2018 12:12 To: Alp Mestanogullari <alp@well-typed.com>; Andrey Mokhov < andrey.mokhov@newcastle.ac.uk> Cc: ghc-devs <ghc-devs@haskell.org> Subject: Hadrian
Alp, Andrey The old build system printed out every command line; and I often copy-paste that info to build single modules. Eg currently, when trying to understand #15570 I see a suspicious GHC.Real.hi. So I want to manually recompile GHC.Real (from base), adding some debug flags. How can I get the right command line to do that from the build log? Where is the "how to use Hadrian" wiki page? I know you've been writing one. Simon _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
| If you want to see all command lines, you can pass '--verbose' or '-V' | flag to Hadrian and it will then print out everything it does. But I am not invoking Hadrian. I am saying (on your instructions) cabal new-run hadrian -- -c -j4 --flavour=quick --directory=".." How do I "pass --verbose to Hadrian"? | -----Original Message----- | From: Andrey Mokhov <andrey.mokhov@newcastle.ac.uk> | Sent: 30 August 2018 12:26 | To: Simon Peyton Jones <simonpj@microsoft.com>; Alp Mestanogullari | <alp@well-typed.com> | Cc: ghc-devs <ghc-devs@haskell.org> | Subject: RE: Hadrian | | Simon, | | If you want to see all command lines, you can pass '--verbose' or '-V' | flag to Hadrian and it will then print out everything it does. | | But you can also choose which particular command lines to print in | UserSettings, see: | | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser- | settings.md%23verbose-command- | lines&data=02%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269efd508 | d60e6b4fe7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63671225140342623 | 1&sdata=tMYhmIGMeVbBYjAtxWQTY5%2F4Kyfc4m981N4OTowGkbQ%3D&reserved | =0 | | So, you can do: | | verboseCommand = input "//GHC/Real.hs" | | Or, alternatively, | | verboseCommand = output "//GHC/Real.hi" | | Both should produce the same result (in theory). | | In general, we have the following documents on Hadrian: | | The README: | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2FREADME.md&data=02%7C01%7 | Csimonpj%40microsoft.com%7C0c6118a504f74269efd508d60e6b4fe7%7C72f988bf86f | 141af91ab2d7cd011db47%7C1%7C0%7C636712251403426231&sdata=7WigmQG7lbDd | eyhYCSaKOQEb0eeZcn0iXAbAKdwZ5A4%3D&reserved=0 | How to use UserSettings: | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser- | settings.md&data=02%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269 | efd508d60e6b4fe7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63671225140 | 3426231&sdata=tRu2lO%2F6TNV3ao5tzNKO%2FAHJMWsxKX%2BqExHn78nuCvU%3D&am | p;reserved=0 | An overview of build flavours: | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fflavours.md&data=0 | 2%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269efd508d60e6b4fe7%7C72f | 988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636712251403426231&sdata=Esye | DdAKLV9DC3PUwkqsuQ4zGoOYKcaJeEov1BAH8lU%3D&reserved=0 | | I hope the more Hadrian gets used, the more complete the documentation | will become. | | Cheers, | Andrey | | From: Simon Peyton Jones [mailto:simonpj@microsoft.com] | Sent: 30 August 2018 12:19 | To: Simon Peyton Jones <simonpj@microsoft.com>; Alp Mestanogullari | <alp@well-typed.com>; Andrey Mokhov <andrey.mokhov@newcastle.ac.uk> | Cc: ghc-devs <ghc-devs@haskell.org> | Subject: RE: Hadrian | | Sigh. As an inconvenient workaround, I tried adding {-# OPTIONS_GHC - | dverbose-core2core #-} to GHC.Real, and then doing | cabal new-run hadrian -- -c -j4 --flavour=quick --directory=".." | in hadrian/ | That did recompile GHC.Real - but all the debug output disappeared! | I tried adding {-# OPTIONS_GHC -ddebug-output #-} as well, but that | didn't work. | I'm stuck - any ideas? | Simon | | From: ghc-devs <ghc-devs-bounces@haskell.org> On Behalf Of Simon Peyton | Jones via ghc-devs | Sent: 30 August 2018 12:12 | To: Alp Mestanogullari <alp@well-typed.com>; Andrey Mokhov | <andrey.mokhov@newcastle.ac.uk> | Cc: ghc-devs <ghc-devs@haskell.org> | Subject: Hadrian | | Alp, Andrey | The old build system printed out every command line; and I often copy- | paste that info to build single modules. | Eg currently, when trying to understand #15570 I see a suspicious | GHC.Real.hi. So I want to manually recompile GHC.Real (from base), | adding some debug flags. How can I get the right command line to do that | from the build log? | Where is the "how to use Hadrian" wiki page? I know you've been writing | one. | Simon
Very confusingly https://github.com/snowleopard/hadrian/blob/master/doc/user-settings.md#verb... speaks about verboseCommmands PLURAL, whereas it should say verboseCommand SINGLUAR. Moreover, what is the language things you can say (i.e. where is it documented). The "//" business, and what patterns can occur. What things other than "//" can you have? What about 'input' etc? Simon | -----Original Message----- | From: Andrey Mokhov <andrey.mokhov@newcastle.ac.uk> | Sent: 30 August 2018 12:26 | To: Simon Peyton Jones <simonpj@microsoft.com>; Alp Mestanogullari | <alp@well-typed.com> | Cc: ghc-devs <ghc-devs@haskell.org> | Subject: RE: Hadrian | | Simon, | | If you want to see all command lines, you can pass '--verbose' or '-V' | flag to Hadrian and it will then print out everything it does. | | But you can also choose which particular command lines to print in | UserSettings, see: | | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser- | settings.md%23verbose-command- | lines&data=02%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269efd508 | d60e6b4fe7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63671225140342623 | 1&sdata=tMYhmIGMeVbBYjAtxWQTY5%2F4Kyfc4m981N4OTowGkbQ%3D&reserved | =0 | | So, you can do: | | verboseCommand = input "//GHC/Real.hs" | | Or, alternatively, | | verboseCommand = output "//GHC/Real.hi" | | Both should produce the same result (in theory). | | In general, we have the following documents on Hadrian: | | The README: | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2FREADME.md&data=02%7C01%7 | Csimonpj%40microsoft.com%7C0c6118a504f74269efd508d60e6b4fe7%7C72f988bf86f | 141af91ab2d7cd011db47%7C1%7C0%7C636712251403426231&sdata=7WigmQG7lbDd | eyhYCSaKOQEb0eeZcn0iXAbAKdwZ5A4%3D&reserved=0 | How to use UserSettings: | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser- | settings.md&data=02%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269 | efd508d60e6b4fe7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63671225140 | 3426231&sdata=tRu2lO%2F6TNV3ao5tzNKO%2FAHJMWsxKX%2BqExHn78nuCvU%3D&am | p;reserved=0 | An overview of build flavours: | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fflavours.md&data=0 | 2%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269efd508d60e6b4fe7%7C72f | 988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636712251403426231&sdata=Esye | DdAKLV9DC3PUwkqsuQ4zGoOYKcaJeEov1BAH8lU%3D&reserved=0 | | I hope the more Hadrian gets used, the more complete the documentation | will become. | | Cheers, | Andrey | | From: Simon Peyton Jones [mailto:simonpj@microsoft.com] | Sent: 30 August 2018 12:19 | To: Simon Peyton Jones <simonpj@microsoft.com>; Alp Mestanogullari | <alp@well-typed.com>; Andrey Mokhov <andrey.mokhov@newcastle.ac.uk> | Cc: ghc-devs <ghc-devs@haskell.org> | Subject: RE: Hadrian | | Sigh. As an inconvenient workaround, I tried adding {-# OPTIONS_GHC - | dverbose-core2core #-} to GHC.Real, and then doing | cabal new-run hadrian -- -c -j4 --flavour=quick --directory=".." | in hadrian/ | That did recompile GHC.Real - but all the debug output disappeared! | I tried adding {-# OPTIONS_GHC -ddebug-output #-} as well, but that | didn't work. | I'm stuck - any ideas? | Simon | | From: ghc-devs <ghc-devs-bounces@haskell.org> On Behalf Of Simon Peyton | Jones via ghc-devs | Sent: 30 August 2018 12:12 | To: Alp Mestanogullari <alp@well-typed.com>; Andrey Mokhov | <andrey.mokhov@newcastle.ac.uk> | Cc: ghc-devs <ghc-devs@haskell.org> | Subject: Hadrian | | Alp, Andrey | The old build system printed out every command line; and I often copy- | paste that info to build single modules. | Eg currently, when trying to understand #15570 I see a suspicious | GHC.Real.hi. So I want to manually recompile GHC.Real (from base), | adding some debug flags. How can I get the right command line to do that | from the build log? | Where is the "how to use Hadrian" wiki page? I know you've been writing | one. | Simon
participants (3)
-
Andrey Mokhov -
Artem Pelenitsyn -
Simon Peyton Jones