Changes between Version 54 and Version 55 of Building/GettingTheSources


Ignore:
Timestamp:
Mar 31, 2011 5:23:26 PM (4 years ago)
Author:
igloo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/GettingTheSources

    v54 v55  
    11
     2NOTE: The below is not fully updated yet.
    23
    34[http://video.google.com/videoplay?docid=7166458546326012899  Video: Getting and Building], layout of the source tree, how to set up build.mk (23'43")
     
    56= Getting the GHC Sources =
    67
    7 There are two ways to get sources to GHC: download a source distribution, or get the sources directly from our repository using [http://darcs.net/ darcs].
     8There are two ways to get sources to GHC: download a source distribution, or get the sources directly from our repository using [http://git-scm.com/ git].
    89
    910== Source distributions ==
     
    1516Source distributions are easier to build, because we also include the output from running certain external tools like [http://haskell.org/happy Happy], so you don't need to install these tools.  See [wiki:Building/Preparation] for details.
    1617
    17 == Getting a GHC repository using darcs ==
     18== Getting a GHC repository using git ==
    1819
    19 The first thing to do is install [http://darcs.net/ darcs].
     20The first thing to do is install [http://git-scm.com/ git].
    2021
    21 A source tree consists of more than one repository: at the top level there is the main GHC repository, and certain subdirectories contain separate darcs repositories (the full list of darcs repositories relating to GHC is at DarcsRepositories).  To get a complete repository tree using darcs:
     22A source tree consists of more than one repository: at the top level there is the main GHC repository, and certain subdirectories contain separate git repositories (the full list of git repositories relating to GHC is at [wiki:Repositories]).  To get a complete repository tree using darcs:
    2223
    2324{{{
    24   $ darcs get --lazy http://darcs.haskell.org/ghc
     25  $ git clone http://darcs.haskell.org/ghc-git/ghc.git/
    2526  $ cd ghc
    26   $ chmod +x darcs-all
    27   $ ./darcs-all --testsuite get
     27  $ chmod +x sync-all
     28  $ ./sync-all --testsuite get
    2829}}}
    29 
    30 Note that we use the `--lazy` flag: this tells darcs not to download the entire repository history, which can take rather a long time, but to download it on demand if you later use a darcs command that needs access to the history, such as `darcs changes`.  The [wiki:Building/DarcsAll darcs-all script] adds the `--lazy` flag by default when getting the other repositories.
    31 
    32 Darcs has a sophisticated system of caching, which means that if you have already downloaded a GHC repository in the past, then most of the contents will probably be cached locally, so darcs won't have to download so much.  Furthermore, all the history and content will be shared with your other local repositories, saving disk space.
    3330
    3431== Making a local branch ==
     
    10198after doing {{{darcs pull -a}}}, then use newest darcs. Version 2.0.2 is broken, version 2.3.1 works.
    10299
    103 == Getting a GHC source tree using git ==
    104 
    105 NOTE: This is not yet supported. We currently recommend you use darcs to get a source tree.
    106 
    107 The first thing to do is install [http://darcs.net/ darcs] and [http://git.or.cz/ git].
    108 
    109 {{{
    110 git clone http://darcs.haskell.org/ghc.git ghc
    111 cd ghc
    112 ./sync-all --complete get
    113 perl boot
    114 ./configure && make
    115 }}}
     100== Windows ==
    116101
    117102Note, on Windows you may have to change git's line-ending behaviour first:
     
    122107
    123108since this is a global setting, you probably want to change it back after cloning ghc, and then set it locally for the GHC repo(s).
    124