| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Cleanup legacy boot script args, following removal of the legacy make
build system.
|
|
|
|
|
|
|
|
|
|
|
| |
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 is a set of forward ports (cherry-picks) from 8.10
- a7d22795ed [ci] Add support for building on aarch64-darwin
- 5109e87e13 [testlib/driver] denoise
- 307d34945b [ci] default value for CONFIGURE_ARGS
- 10a18cb4e0 [testsuite] mark ghci056 as fragile
- 16c13d5acf [ci] Default value for MAKE_ARGS
- ab571457b9 [ci/build] Copy config.sub around
- 251892b98f [ci/darwin] bump nixpkgs rev
- 5a6c36ecb4 [testsuite/darwin] fix conc059
- aae95ef0c9 [ci] add timing info
- 3592d1104c [Aarch64] No div-by-zero; disable test.
- 57671071ad [Darwin] mark stdc++ tests as broken
- 33c4d49754 [testsuite] filter out superfluous dylib warnings
- 4bea83afec [ci/nix-shell] Add Foundation and Security
- 6345530062 [testsuite/json2] Fix failure with LLVM backends
- c3944bc89d [ci/nix-shell] [Darwin] Stop the ld warnings about libiconv.
- b821fcc714 [testsuite] static001 is not broken anymore.
- f7062e1b0c [testsuite/arm64] fix section_alignment
- 820b076698 [darwin] stop the DYLD_LIBRARY_PATH madness
- 07b1af0362 [ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}
As well as a few additional fixups needed to make this block compile:
- Fixup all.T
- Set CROSS_TARGET, BROKEN_TESTS, XZ, RUNTEST_ARGS, default value.
- [ci] shell.nix bump happy
|
|
|
|
|
|
| |
Previously, we used relative paths in submodules. When cloning from
GitHub, they had to be manually tweaked.
Since a76b233d we use absolute paths, so this workaround can be removed.
|
|
|
|
|
|
| |
The code, including the generated module with the version, is now in
ghc-boot. Config.hs reexports stuff as needed, ghc-pkg doesn't need any
tricks at all.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove dph from validate; dph was removed
- The required-tag argument to boot was used only for dph, remove
- check_boot_packages() was not called at all, and didn't work.
I fixed it based on previous Perl version.
Test Plan: Harbormaster
Reviewers: bgamari, thomie
Reviewed By: bgamari
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5129
|
| |
|
|
|
|
|
|
|
|
|
| |
Test Plan: Run `./boot`, check to make sure that
`libraries/ghc-prim/GNUmakefile` is sane
Subscribers: thomie, carter, sjakobi
Differential Revision: https://phabricator.haskell.org/D4580
|
|
|
|
| |
D3918 neglected to implement this when it rewrote boot in python.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The boot script generates lots of .mk files
for the make based build system. This change adds
a `--hadrian` flag to `boot`, which skips the `.mk`
file generation.
Reviewers: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One step closer to being able to drop the Windows Perl tarball. We
previously attempted to do this in D3567 but were forced to revert due
to Windows problems.
Acknowledgements:
* @Phyx kindly contributed the codepath allowing this to work on
Windows.
Test Plan: Validate
Reviewers: hvr, austin, Phyx
Subscribers: erikd, thomie, rwbarton
Differential Revision: https://phabricator.haskell.org/D3918
|
|
|
|
|
|
| |
This reverts commit 0440af6abe592c2366d302d603664fe763ad0828.
Unfortunately this breaks on Windows for tiresome reasons. I'll need to
reevaluate this.
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: Validate
Reviewers: hvr, austin
Subscribers: rwbarton, thomie, erikd
Differential Revision: https://phabricator.haskell.org/D3567
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: GREP_OPTIONS=--blah ./validate
Reviewers: austin, thomie
Reviewed By: thomie
Differential Revision: https://phabricator.haskell.org/D1887
GHC Trac Issues: #11530
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to simplify the task, the version munging logic has
been radically simplified:
Previously, in cases where the version contained dates as version components,
the build-system would munge the version of the stage1 ghc package before
registering the `ghc` package.
However, this hack was already questionable at the time of its introduction
(c.f. 7b45c46cbabe1288ea87bd9b94c57e010ed17e60).
Simplifying the build-systems by avoiding such hacks may also help the
shaking-up-ghc effort.
So now we simply munge directly via the `.cabal` files, which gives a simpler
picture, as now every stage is munged the same. Munging is only active when
the first patch-level version component is a date. So stable snapshots and release
candidates are unaffacted (as those have the date in the second patch-level
version component)
Reviewers: simonmar, bgamari, austin, thomie, ezyang
Reviewed By: bgamari, thomie, ezyang
Differential Revision: https://phabricator.haskell.org/D1673
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cloning the ghc repository from GitHub doesn't work out of the box. It
requires installing some special url rewrites into ~/.gitconfig. The
build fails mysteriously if you forget. This patch tries to detect when
you cloned from GitHub, and warns you if you didn't set those url
rewrites.
This hopefully lowers to barrier to contribute to GHC by a tiny bit. At
least one /r/haskell user ran into this recently.
Test Plan:
cloned from github, ran ./boot, saw the message. Installed url
rewrites, and ran ./boot again, didn't see the message.
Reviewed by: austin
Differential Revision: https://phabricator.haskell.org/D1230
|
| |
|
|
|
|
|
|
|
|
| |
Running ./boot takes ~20 seconds on my laptop with 2 cores. With this change,
that goes down to a little over 10 seconds. There are 8 configure.ac files in
total, so max 8 parallel jobs.
Differential Revision: https://phabricator.haskell.org/D962
|
|
|
|
| |
As suggested in #9057.
|
| |
|
|
|
|
|
|
|
| |
By keeping the repository url in the `packages` file scripts such as
source:ghc/sync-all can pick it up. Moreover, it's easier to
automatically validate for correctness than the
wiki:Repositories/Upstream page.
|
|
|
|
| |
It's now always 'git'.
|
|
|
|
|
| |
This makes the build system a little simpler, and in particular
will make it easier to handle the changes needed for cross-compilation.
|
|
|
|
|
| |
This bring the time package into line with how we handle other
packages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The *predicates* all start with "PKGS_THAT_...", e.g.:
PKGS_THAT_BUILD_WITH_STAGE0 (previously "PACKAGES_STAGE0")
PKGS_THAT_BUILD_WITH_STAGE2 (previously "STAGE2_PACKAGES")
PKGS_THAT_USE_TH (previously "TH_PACKAGES)
etc. (there are a few more)
the lists of packages to build are now consistently named:
PACKAGES_STAGE0
PACKAGES_STAGE1 (previously just "PACKAGES")
PACKAGES_STAGE2
|
|
|
|
| |
It now matches PACKAGES_STAGE2
|
| |
|
|
|
|
|
|
|
| |
We no longer pull directly from upstream repos, so it wasn't useful
to have it programatically available. The info, and more, is now on
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries#Repositorylocations
instead.
|
|
|
|
|
|
|
| |
There is no longer any need for them to be separate, and this
way we don't have to call perl from the boot script. This is
particularly useful when perl isn't where we expect it to be
(#5154).
|
|
|
|
| |
If we find one then we print an error message and fail.
|
|
|
|
|
| |
If we aren't validating and mk/build.mk doesn't exist then boot
prints a warning, pointing at instructions for setting up mk/build.mk.
|
| |
|
| |
|
|
|
|
| |
(which is the case in sdists)
|
| |
|
| |
|
|
|
|
| |
It makes the parsing simpler if we always have the same number of columns
|
| |
|
| |
|
|
|
|
| |
This stops us having to worry about sh/sed/... portability.
|
|
|
|
| |
test flag
|
| |
|
| |
|
|
|
|
|
|
|
| |
Now that the clean rules don't require libraries/*/ghc.mk, we don't
have to build them on demand. And having them built on demand
introduced a failure mode (where some libraries have ghc.mk and some
don't).
|
| |
|