• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

bindisttest/H26-Aug-2021-15690

compiler/H26-Aug-2021-404,946218,787

distrib/H03-May-2022-1,140878

docs/H03-May-2022-69,15953,500

driver/H03-May-2022-835555

ghc/H26-Aug-2021-6,8264,864

includes/H26-Aug-2021-12,7206,744

libffi/H26-Aug-2021-15483

libffi-tarballs/H03-May-2022-3024

libraries/H03-May-2022-691,777480,055

m4/H26-Aug-2021-178166

mk/H26-Aug-2021-2,9382,153

rts/H26-Aug-2021-92,42160,629

rules/H26-Aug-2021-2,8221,289

utils/H26-Aug-2021-64,04146,645

GIT_COMMIT_IDH A D26-Aug-202140 11

HACKING.mdH A D21-Jun-20214.8 KiB14597

INSTALL.mdH A D18-Oct-20201.7 KiB4935

LICENSEH A D17-May-20191.6 KiB3225

MAKEHELP.mdH A D18-Oct-20202.4 KiB9761

MakefileH A D21-Jun-20217 KiB234123

README.mdH A D21-Jun-20215.4 KiB12992

VERSIONH A D26-Aug-20217 21

aclocal.m4H A D03-May-202285.3 KiB2,7162,476

ax_compare_version.m4H A D24-May-20216.4 KiB178166

bootH A D21-Jun-20218.2 KiB213158

config.guessH A D21-Jun-202148.4 KiB1,7031,490

config.subH A D21-Jun-202133.8 KiB1,8651,687

configureH A D03-May-2022504.2 KiB18,13514,875

configure.acH A D26-Aug-202151 KiB1,5951,373

ghc.mkH A D17-Aug-202157.8 KiB1,5671,024

install-shH A D17-May-201913.7 KiB528351

llvm-passesH A D21-Jun-202166 65

llvm-targetsH A D03-May-20225.9 KiB5251

packagesH A D18-Oct-20205 KiB7170

README.md

1The Glasgow Haskell Compiler
2============================
3
4[![pipeline status](https://gitlab.haskell.org/ghc/ghc/badges/master/pipeline.svg?style=flat)](https://gitlab.haskell.org/ghc/ghc/commits/master)
5
6This is the source tree for [GHC][1], a compiler and interactive
7environment for the Haskell functional programming language.
8
9For more information, visit [GHC's web site][1].
10
11Information for developers of GHC can be found on the [GHC issue tracker][2].
12
13
14Getting the Source
15==================
16
17There are two ways to get a source tree:
18
19 1. *Download source tarballs*
20
21    Download the GHC source distribution:
22
23        ghc-<version>-src.tar.xz
24
25    which contains GHC itself and the "boot" libraries.
26
27 2. *Check out the source code from git*
28
29        $ git clone --recursive git@gitlab.haskell.org:ghc/ghc.git
30
31    Note: cloning GHC from Github requires a special setup. See [Getting a GHC
32    repository from Github][7].
33
34  *See the GHC team's working conventions regarding [how to contribute a patch to GHC](https://gitlab.haskell.org/ghc/ghc/wikis/working-conventions/fixing-bugs).* First time contributors are encouraged to get started by just sending a Merge Request.
35
36
37Building & Installing
38=====================
39
40For full information on building GHC, see the [GHC Building Guide][3].
41Here follows a summary - if you get into trouble, the Building Guide
42has all the answers.
43
44Before building GHC you may need to install some other tools and
45libraries.  See, [Setting up your system for building GHC][8].
46
47*NB.* In particular, you need [GHC][1] installed in order to build GHC,
48because the compiler is itself written in Haskell.  You also need
49[Happy][4], [Alex][5], and [Cabal][9].  For instructions on how
50to port GHC to a new platform, see the [GHC Building Guide][3].
51
52For building library documentation, you'll need [Haddock][6].  To build
53the compiler documentation, you need [Sphinx](http://www.sphinx-doc.org/)
54and Xelatex (only for PDF output).
55
56**Quick start**: the following gives you a default build:
57
58    $ ./boot
59    $ ./configure
60    $ make         # can also say 'make -jX' for X number of jobs
61    $ make install
62
63  On Windows, you need an extra repository containing some build tools.
64  These can be downloaded for you by configure. This only needs to be done once by running:
65
66    $ ./configure --enable-tarballs-autodownload
67
68(NB: **Do you have multiple cores? Be sure to tell that to `make`!** This can
69save you hours of build time depending on your system configuration, and is
70almost always a win regardless of how many cores you have. As a simple rule,
71you should have about N+1 jobs, where `N` is the amount of cores you have.)
72
73The `./boot` step is only necessary if this is a tree checked out
74from git.  For source distributions downloaded from [GHC's web site][1],
75this step has already been performed.
76
77These steps give you the default build, which includes everything
78optimised and built in various ways (eg. profiling libs are built).
79It can take a long time.  To customise the build, see the file `HACKING.md`.
80
81Filing bugs and feature requests
82================================
83
84If you've encountered what you believe is a bug in GHC, or you'd like
85to propose a feature request, please let us know! Submit an [issue][10] and we'll be sure to look into it. Remember:
86**Filing a bug is the best way to make sure your issue isn't lost over
87time**, so please feel free.
88
89If you're an active user of GHC, you may also be interested in joining
90the [glasgow-haskell-users][11] mailing list, where developers and
91GHC users discuss various topics and hang out.
92
93Hacking & Developing GHC
94========================
95
96Once you've filed a bug, maybe you'd like to fix it yourself? That
97would be great, and we'd surely love your company! If you're looking
98to hack on GHC, check out the guidelines in the `HACKING.md` file in
99this directory - they'll get you up to speed quickly.
100
101Contributors & Acknowledgements
102===============================
103
104GHC in its current form wouldn't exist without the hard work of
105[its many contributors][12]. Over time, it has grown to include the
106efforts and research of many institutions, highly talented people, and
107groups from around the world. We'd like to thank them all, and invite
108you to join!
109
110  [1]:  http://www.haskell.org/ghc/            "www.haskell.org/ghc/"
111  [2]:  https://gitlab.haskell.org/ghc/ghc/issues
112          "gitlab.haskell.org/ghc/ghc/issues"
113  [3]:  https://gitlab.haskell.org/ghc/ghc/wikis/building
114          "https://gitlab.haskell.org/ghc/ghc/wikis/building"
115  [4]:  http://www.haskell.org/happy/          "www.haskell.org/happy/"
116  [5]:  http://www.haskell.org/alex/           "www.haskell.org/alex/"
117  [6]:  http://www.haskell.org/haddock/        "www.haskell.org/haddock/"
118  [7]: https://gitlab.haskell.org/ghc/ghc/wikis/building/getting-the-sources#cloning-from-github
119          "https://gitlab.haskell.org/ghc/ghc/wikis/building/getting-the-sources#cloning-from-github"
120  [8]:  https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation
121          "https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation"
122  [9]:  http://www.haskell.org/cabal/          "http://www.haskell.org/cabal/"
123  [10]: https://gitlab.haskell.org/ghc/ghc/issues
124          "https://gitlab.haskell.org/ghc/ghc/issues"
125  [11]: http://www.haskell.org/pipermail/glasgow-haskell-users/
126          "http://www.haskell.org/pipermail/glasgow-haskell-users/"
127  [12]: https://gitlab.haskell.org/ghc/ghc/wikis/team-ghc
128          "https://gitlab.haskell.org/ghc/ghc/wikis/team-ghc"
129