Changes between Version 54 and Version 55 of Building/GettingTheSources


Ignore:
Timestamp:
Mar 31, 2011 5:23:26 PM (3 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