diff options
-rw-r--r-- | HACKING.md | 11 | ||||
-rw-r--r-- | README.md | 31 | ||||
-rwxr-xr-x | boot | 2 | ||||
-rw-r--r-- | packages | 14 |
4 files changed, 22 insertions, 36 deletions
diff --git a/HACKING.md b/HACKING.md index edd1d127f1..b59e747700 100644 --- a/HACKING.md +++ b/HACKING.md @@ -30,9 +30,14 @@ find an overview here: Next, clone the repository and all the associated libraries: ``` -$ git clone http://git.haskell.org/ghc.git -$ cd ghc -$ ./sync-all get +$ git clone --recursive git://git.haskell.org/ghc.git +``` + +On Windows, you need an extra repository containing some build tools: + +``` +$ cd ghc/ +$ git clone git://git.haskell.org/ghc-tarballs.git ``` First copy `mk/build.mk.sample` to `mk/build.mk` and ensure it has @@ -26,21 +26,18 @@ There are two ways to get a source tree: 2. *Check out the source code from git* - The official mirror for GHC on GitHub is located at https://github.com/ghc/ghc. + $ git clone --recursive git://git.haskell.org/ghc.git - $ git clone git://github.com/ghc/ghc.git - $ cd ghc - $ ./sync-all get + On Windows, you need an extra repository containing some build tools: - If you want to clone your own fork instead, add an argument to `sync-all` to - tell it where it can find the other repositories it needs. + $ cd ghc/ + $ git clone git://git.haskell.org/ghc-tarballs.git - $ git clone <your preferred github.com GHC fork URL> ghc - $ cd ghc - $ ./sync-all -r git://github.com/ghc get + Note: cloning GHC from Github requires a special setup. See [Getting a GHC + repository from Github] [7]. **DO NOT submit pull request directly to the github repo.** - *See the GHC developer team's working conventions re [contributing patches](http://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git#Contributingpatches "ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git#Contributingpatches").* + *See the GHC team's working conventions re [how to contribute a patch to GHC](http://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/FixingBugs "ghc.haskell.org/trac/ghc/wiki/WorkingConventions/FixingBug").* Building & Installing @@ -64,7 +61,7 @@ dblatex. **Quick start**: the following gives you a default build: - $ perl boot + $ ./boot $ ./configure $ make # can also say 'make -jX' for X number of jobs $ make install @@ -74,7 +71,7 @@ save you hours of build time depending on your system configuration, and is 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.) -The `perl boot` step is only necessary if this is a tree checked out +The `./boot` step is only necessary if this is a tree checked out from git. For source distributions downloaded from [GHC's web site] [1], this step has already been performed. @@ -82,12 +79,6 @@ These steps give you the default build, which includes everything optimised and built in various ways (eg. profiling libs are built). It can take a long time. To customise the build, see the file `HACKING`. -Once you have a build you need to keep it going. You need to keep all -repos in sync with the [sync-all script] [7]. To get the latest changes: - - $ ./sync-all pull - $ ./sync-all get - Filing bugs and feature requests ================================ @@ -125,8 +116,8 @@ you to join! [4]: http://www.haskell.org/happy/ "www.haskell.org/happy/" [5]: http://www.haskell.org/alex/ "www.haskell.org/alex/" [6]: http://www.haskell.org/haddock/ "www.haskell.org/haddock/" - [7]: http://ghc.haskell.org/trac/ghc/wiki/Building/SyncAll - "http://ghc.haskell.org/trac/ghc/wiki/Building/SyncAll" + [7]: https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#GettingaGHCrepositoryfromGitHub + "https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#GettingaGHCrepositoryfromGitHub" [8]: http://ghc.haskell.org/trac/ghc/wiki/Building/Preparation "http://ghc.haskell.org/trac/ghc/wiki/Building/Preparation" [9]: http://www.haskell.org/cabal/ "http://www.haskell.org/cabal/" @@ -72,7 +72,7 @@ sub sanity_check_tree { # has a LICENSE file instead. if (! -f "$dir/LICENSE") { print STDERR "Error: $dir/LICENSE doesn't exist.\n"; - die "Maybe you haven't done './sync-all get'?"; + die "Maybe you haven't done 'git submodule update --init'?"; } } } @@ -1,7 +1,6 @@ # Despite the name "package", this file contains the master list of # the *repositories* that make up GHC. It is parsed by # * boot -# * sync-all # * rules/foreachLibrary.mk # # Some of this information is duplicated elsewhere in the build system: @@ -30,17 +29,8 @@ # GitHub and GHC developers are granted push-rights for are denoted by # being specified with the `ssh://` scheme. Thus, `https://` # repo urls denote read-only access. -# -# * The 'tag' determines when "sync-all get" will get the -# repo. If the tag is "-" then it will always get it, but if there -# is a tag then a corresponding flag must be given to "sync-all", e.g. -# if you want to get the packages with an "extralibs" -# tag then you need to use "sync-all --extra get". -# Support for new tags must be manually added to the "sync-all" script. -# -# 'tag' is also used to determine which packages the build system -# deems to have the EXTRA_PACKAGE property: tags 'dph' and 'extra' -# both give this property +# * 'tag', in combination with the variables BUILD_DPH and BUILD_EXTRA_PKGS, +# determines which packages are build by default. # # Lines that start with a '#' are comments. # |