Add Windows instructions
[ghc.git] / README.md
1 Shaking up GHC
2 ==============
3
4 As part of my 6-month research secondment to Microsoft Research in Cambridge I am taking up the challenge of migrating the current [GHC](https://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler) build system based on standard `make` into a new and (hopefully) better one based on [Shake](https://github.com/ndmitchell/shake/blob/master/README.md). If you are curious about the project you can find more details on the [wiki page](https://ghc.haskell.org/trac/ghc/wiki/Building/Shake) and in this [blog post](https://blogs.ncl.ac.uk/andreymokhov/shaking-up-ghc/).
5
6 This is supposed to go into the `shake-build` directory of the GHC source tree.
7
8 Trying it
9 ---------
10
11 On Linux,
12 ```
13 $ git clone git://git.haskell.org/ghc
14 $ cd ghc
15 $ git submodule update --init
16 $ git clone git://github.com/snowleopard/shaking-up-ghc shake-build
17 $ ./boot
18 $ ./configure
19 $ make inplace/bin/ghc-cabal   # This needs to be fixed
20 $ shake-build/build.sh
21 ```
22
23 On Windows,
24 ```
25 $ git clone --recursive git://git.haskell.org/ghc.git
26 $ cd ghc
27 $ git clone git://github.com/snowleopard/shaking-up-ghc shake-build
28 $ ./boot
29 $ ./configure --enable-tarballs-autodownload
30 $ make inplace/bin/ghc-cabal   # This needs to be fixed
31 $ shake-build/build.bat
32 ```
33 Also see the Building GHC on Windows guide: https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows.