| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Here we at long last remove the `make`-based build system, it having
been replaced with the Shake-based Hadrian build system. Users are
encouraged to refer to the documentation in `hadrian/doc` and this [1]
blog post for details on using Hadrian.
Closes #17527.
[1] https://www.haskell.org/ghc/blog/20220805-make-to-hadrian.html
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves all URL references to Trac Wiki to their corresponding
GitLab counterparts.
This substitution is classified as follows:
1. Automated substitution using sed with Ben's mapping rule [1]
Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...
New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...
2. Manual substitution for URLs containing `#` index
Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz
New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz
3. Manual substitution for strings starting with `Commentary`
Old: Commentary/XxxYyy...
New: commentary/xxx-yyy...
See also !539
[1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
|
|
|
|
|
| |
This moves all URL references to Trac tickets to their corresponding
GitLab counterparts.
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5113
|
|
|
|
|
|
|
|
| |
Unfortunately this (ironically) ended up breaking bindist testing since
we didn't have a package-data.mk. Unfortunately there is no easy way to
fix this.
This reverts commit 1e9f90af7311c33de0f7f5b7dba594725596d675.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are needed by the testsuite and consequently must be shipped in
the testsuite tarball to ensure that we can test binary distributions.
See #13897.
Test Plan: Validate
Reviewers: austin
Subscribers: snowleopard, rwbarton, thomie
GHC Trac Issues: #13897
Differential Revision: https://phabricator.haskell.org/D4039
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to customize the location where binary distributions are
placed with `make binary-dist`.
E.g. using:
```
BINARY_DIST_DIR=/path/to/bindists make binary-dist
```
will place binary dists outside of the source tree into the given
folder.
This change falls back to ".", which is the old behaviour.
Test Plan: build binary-dist
Reviewers: bgamari, austin
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D3798
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug #9439 only affects some ghc 7.8 versions of the compiler and since
git HEAD no longer builds with ghc-7.8 we can drop this check.
Test Plan: Works here!
Reviewers: hvr, austin, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2427
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: GREP_OPTIONS=--blah ./validate
Reviewers: austin, thomie
Reviewed By: thomie
Differential Revision: https://phabricator.haskell.org/D1887
GHC Trac Issues: #11530
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The INSTALL_PROGRAM variable is set in mk/config.mk, so we have to
include that file before using it.
Running 'make install' before './configure' in a bindist will now also
display a nice message.
Reviewers: hvr, austin, bgamari
Reviewed By: bgamari
Differential Revision: https://phabricator.haskell.org/D1604
GHC Trac Issues: #1851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To keep validates fast, we only one run one way. But I think that
it's important for some tests to run them a few ways, just to
make sure functionality, e.g. the profiler, is working. This commit
changes the logic so that any way specified in extra_ways is always
run for fast. The big changes is now profiling tests are run on
validate.
I also made it so the G1 garbage collector tests only run on slow.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate
Reviewers: austin, thomie, bgamari
Reviewed By: austin, thomie, bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1251
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that SRC_HC_OPTS are added to every Haskell compilation. So
there isn't any need to also add `-fllvm` to GhcStage1HcOpts,
GhcStage2HcOpts and GhcLibHcOpts.
Small bug fix: make sure we test for -fllvm in SRC_HC_OPTS, to check
whether the bootstrap compiler is affected by bug #9439.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1188
|
|
|
|
|
|
| |
Reviewed by: bgamari
Differential Revision: https://phabricator.haskell.org/D1209
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`make test` now runs all tests for a single way only. Use `make slowtest` to
get the previous behaviour (i.e. run all tests for all ways).
The intention is to use this new `make test` setting for Phabricator, as
a reasonable compromise between `make fasttest` (what it previously
used) and a fullblown `make slowtest` (which runs all tests for all
ways).
See Note [validate and testsuite speed] in toplevel Makefile.
Differential Revision: https://phabricator.haskell.org/D1178
|
|
|
|
|
|
|
|
| |
A normal `make show` starts a build of the ghc-stage1 compiler, to
create package-data.mk files. This version doesn't read those, so it
will work right after ./configure.
Differential Revision: https://phabricator.haskell.org/D1064
|
|
|
|
|
| |
...to prevent accidental use of `make bindist`, when `make binary-dist`
is called for.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* By default use V=0, and call the testsuite with VERBOSE=2, which we
did before only with validate --quiet. This disables printing the
test commands it runs.
* When --quiet is used, call the testsuite with VERBOSE=1. This
disables printing the '====> Scanning' lines, and doesn't print
which test is being run. So it only prints something when a test
accidentally prints to stdout or when it fails.
Don't set this option on Travis, as Travis will cancel a build if it
doesn't see any output for more than 10 minutes.
* When --quiet is used, set the new test option NO_PRINT_SUMMARY,
which skips printing the test summary. Only the list of unexpected
failures is printed, if there are any. Note that the full summary
can still be found in testsuite_summary.txt
* When --quiet is used, don't pass the `-v` flag to `ghc-pkg check`
* When --quiet is used, don't print the Oops! header. It shoud be
clear from the list of failing tests that something is wrong.
This is all done to get the most out of 30 lines of logfile. These changes can
be disabled later by simply not passing the --quiet flag to validate.
Differential Revision: https://phabricator.haskell.org/D942
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make it possible to run `make sdist` right after configure, without completing
a complete build first.
Test Plan:
I compared the contents of the created `.tar.bz2` files in the `sdistprep`
directory, after running `make sdist` both before and after completing a full
build, using `diff -r`. There weren't any differences (after applying the
patches from D914).
Note that the `.tar.bz2` files were not exactly the same size, but they aren't
either when tarring and bzipping the same directory twice. It seems tarring
and bzipping is not deterministic (on my system).
Differential Revision: https://phabricator.haskell.org/D917
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do what this comment was suggesting:
"Ideally we'd like to have 'make -r' turned on by default, because
that disables all the implicit rules, but there doesn't seem to be a
good way to do that."
This change doesn't seem to have much effect on the time it takes to run
make. Apparently clearing .SUFFIXES was enough for that. But it does
make the output of `make -d` quite a bit shorter, which is nice.
Note: ghc.mk is always called indirectly, so no need to set .SUFFIXES or
MAKEFLAGS there again.
Differential Revision: https://phabricator.haskell.org/D915
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
| |
Remove the recently introduced `fast` synonym for `fasttest`, because in
the subdirectories `make fast` already means `make all FAST=YES`.
[skip ci]
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This fixes the usage of `make help` in the top-level and subdirectories.
Signed-off-by: Austin Seipp <austin@well-typed.com>
Test Plan: It worked now and didn't before.
Reviewers: hvr
Reviewed By: hvr
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D692
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently, running `make test` in:
/ runs fast testsuite
/testsuite doesn't work
/testsuite/tests runs slow testsuite
This commit:
* changes `make test` in the ghc root directory to run the slow testsuite,
just like it already does in `testsuite/tests`
* adds some simple targets to `/testsuite`, that all delegate to
`/testsuite/tests`
* adds a new target `fasttest` to the toplevel Makefile, with a shorthand
name `fast` (for consistency with /testsuite and /testsuite/tests)
* declares some more targets PHONY for safety
Wiki pages that need updating:
* Building/StandardTargets
* Buliding/RunningTests
Reviewers: austin
Reviewed By: austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D685
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Bug #9439 will cause miscompilation of GHC's LLVM backend. Here we
ensure that an affected compiler isn't used to bootstrap.
Test Plan: Attempt to bootstrap GHC with an affected stage 0 compiler.
Reviewers: rwbarton, austin
Reviewed By: austin
Subscribers: simonmar, relrod, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D159
|
|
|
|
|
|
|
|
| |
`make clean` did already ignore a missing mk/config.mk,
but `make distclean` and `make maintainer-clean` didn't.
This commit rectifies this oversight.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
| |
This was harmless but annoying: we forgot to take the compression
extention into account when copying the binary dist out of bindistprep
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
| |
I'm not entirely sure what the intention of this code was, but it was
quite old, and the binary distribution for Windows seems to work OK
nonetheless.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
|
| |
|
|
|
|
| |
It was removed in 9e4e2c24d1895ae81c92e4432b91026505827c96.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The logic is now in mk/compiler-ghc.mk rather than being duplicated in
ghc/Makefile and compiler/Makefile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From
http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering
Phase 0:
Includes: package-data.mk files for things built by the
bootstrapping compiler.
Builds: the dependency files for hsc2hs and genprimopcode. We need
to do this now, as hsc2hs needs to be buildable in phase 1's
includes (so that we can make the hpc library's .hs source
files, which in turn is necessary for making its dependency
files), and genprimopcode needs to be buildable in phase 1's
includes (so that we can make the primop-*.hs-incl files,
which are sources for the stage1 compiler library, and thus
necessary for making its dependency files).
Phase 1:
Includes: dependency files for things built by the bootstrapping
compiler.
Builds: package-data.mk files for everything else. Note that this
requires configuring the packages, which means telling cabal
which ghc to use, and thus the stage1 compiler gets built
during this phase.
Phase "":
Includes: dependency files for everything else.
Builds: Everything else.
|
|
|
|
| |
now that cross-package deps are tracked correctly.
|
|
|
|
|
|
|
|
|
| |
We no longer use dummy-ghc; instead we don't configure most packages
until the stage1 compiler is available.
We also now use Cabal for building the ghc-bin package.
There are a couple more sanity checks too.
|
|
|
|
|
|
| |
You can now run "make test" in the root, and the fast testsuite will be
run with cleaning enabled. It will also put the summary in
testsuite_summary.txt.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
We now do all the hard work in a bindistprep subdirectory, and just move
the result to the root directory. This way we can delete anything in
bindistprep/ without worrying about deleting anything important.
|
| |
|
| |
|
| |
|