-
Notifications
You must be signed in to change notification settings - Fork 1
docs(readme): consolidate building and contributing guides into README #107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: stable-ghc-9.14-rebased
Are you sure you want to change the base?
Conversation
- Delete separate HACKING.md and INSTALL.md files, consolidating their content into README.md for a unified reference - Update README to reflect Stable Haskell Edition fork with GitHub issue tracker at stable-haskell/ghc - Revise clone instructions to point to GitHub stable-haskell/ghc repository instead of GitLab - Simplify build instructions to use make-based build system with clearer GHCup setup steps - Integrate developer contribution guidelines and communication channels directly into README - Update dependency references and remove outdated tool links (Happy, Alex) - Add test suite running instructions to building section - Reorganize content with clearer section headers for Getting Started, Useful Resources, and communication channels
da46c19 to
e96697c
Compare
| ### IRC | ||
|
|
||
| If you're an IRC user, be sure to drop by the official `#ghc` channel | ||
| on [Libera.Chat](https://libera.chat). Many (but not all) of the | ||
| developers and committers are actively there during a variety of | ||
| hours. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be discord.
| In the event IRC does not work or if you'd like a bigger audience, GHC | ||
| has several mailing lists for this purpose. The most important one is | ||
| [ghc-devs](http://www.haskell.org/pipermail/ghc-devs/), which is where | ||
| the developers actively hang out and discuss incoming changes and | ||
| problems. | ||
|
|
||
| There is no strict standard about where you post patches - either in | ||
| `ghc-devs` or in the bug tracker. Ideally, please put it in the bug | ||
| tracker with test cases or relevant information in a ticket, and set | ||
| the ticket status to `patch`. By doing this, we'll see the patch | ||
| quickly and be able to review. This will also ensure it doesn't get | ||
| lost. But if the change is small and self contained, feel free to | ||
| attach it to your email, and send it to `ghc-devs`. | ||
|
|
||
| Furthermore, if you're a developer (or want to become one!) you're | ||
| undoubtedly also interested in the other mailing lists: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For upstream ghc development, you can follow the following two mailing lists if you are interested.
(or we just completely drop this from our README)
|
|
||
| Hacking & Developing GHC | ||
| ======================== | ||
| Contributing to GHC | ||
| =================== | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure we need this section at all, other than for "ask questions on discord".
| Both the bootstrap compiler and cabal-install can be easily installed with | ||
| [GHCup](https://www.haskell.org/ghcup/): | ||
|
|
||
| $ ghcup install ghc 9.8.4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| $ ghcup install ghc 9.8.4 | |
| $ ghcup install ghc --set 9.8.4 |
Then we can remove the explicit line 55
| $ ./boot | ||
| $ ./configure | ||
| $ hadrian/build # can also say '-jX' for X number of jobs | ||
| $ make CABAL=$PWD/_build/stage0/bin/cabal |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find the CABAL=foo part ridiculous tbh. Can we get rid of this?
| On Windows, you need an extra repository containing some build tools. | ||
| These can be downloaded for you by configure. This only needs to be done once by running: | ||
| On Windows, you should run the build command from an appropriate | ||
| environment (e.g., MSYS2). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That can actually cause more problems, because msys2 doesn't understand single backslash, causing issues with cabal.
I'm currently testing whether something like ghcup run -m -- make CABAL=_build/stage0/bin/cabal works better.
But it might not matter and we need to fix the cabal side either way.
| almost always a win regardless of how many cores you have. As a simple rule, | ||
| you should have about N+1 jobs, where `N` is the amount of cores you have.) | ||
| This gives you the default build, which includes everything | ||
| optimised and built in various ways (eg. profiling libs are built). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we building profiling?
Uh oh!
There was an error while loading. Please reload this page.