hadrian.git
19 months agoFollow GHC changes (#479)
Andrey Mokhov [Mon, 20 Nov 2017 22:51:40 +0000 (22:51 +0000)] 
Follow GHC changes (#479)

19 months agoAdd ways to build hadrian using nix (#473)
Moritz Angermann [Mon, 20 Nov 2017 20:06:25 +0000 (04:06 +0800)] 
Add ways to build hadrian using nix (#473)

* Add ways to build hadrian using nix

This adds two new files to the hadrian directory

    shell.nix sets up the build envrionment you need to build ghc
    build-nix is a simple wrapper which invokes hadrian in the correct environment

Note: this patch was authored by @mpickering, however it ended up on phabricator due to the subtree as https://phabricator.haskell.org/D4207.

* Comments and renamed build-nix

19 months agoDo not depend on the in-tree filepath library (#478)
Andrey Mokhov [Mon, 20 Nov 2017 05:00:22 +0000 (05:00 +0000)] 
Do not depend on the in-tree filepath library (#478)

See #465, #466

19 months agoFix dependencies (#477)
Andrey Mokhov [Mon, 20 Nov 2017 03:26:15 +0000 (03:26 +0000)] 
Fix dependencies (#477)

See #464

* Drop non-source dependencies during compilation

* Drop duplicated dependencies on package configuration

* Compute transitive closure of context dependencies

* Don't depend on a temporary file

19 months agoBring mtl dependency back
Andrey Mokhov [Sun, 19 Nov 2017 16:50:58 +0000 (16:50 +0000)] 
Bring mtl dependency back

19 months agoMinor clean up of Hadrian dependencies
Andrey Mokhov [Sun, 19 Nov 2017 15:25:26 +0000 (15:25 +0000)] 
Minor clean up of Hadrian dependencies

19 months agoFix Windows build
Andrey Mokhov [Sun, 19 Nov 2017 01:17:15 +0000 (01:17 +0000)] 
Fix Windows build

See https://phabricator.haskell.org/D4121#117481

20 months agoUnbreak `cabal new-build` (#466)
Herbert Valerio Riedel [Thu, 16 Nov 2017 13:33:12 +0000 (14:33 +0100)] 
Unbreak `cabal new-build` (#466)

Using a local `filepath` forces new-build to build the
non-local build-tool `alex` as in-place which however isn't supported properly
by `cabal new-build` yet (this will be fixed at the earliest in cabal 2.2) and thus
breaks `hadrian/build.sh` for me.

20 months agohadrian: Disable -Wno-undef in files which include ffi.h (#459)
Ben Gamari [Tue, 14 Nov 2017 17:15:42 +0000 (12:15 -0500)] 
hadrian: Disable -Wno-undef in files which include ffi.h (#459)

As pointed out in D4181, these headers refer to undefined macros.

20 months agoDo not run configure by default (#458)
Andrey Mokhov [Sun, 12 Nov 2017 11:51:25 +0000 (11:51 +0000)] 
Do not run configure by default (#458)

See #457

* Do not run configure by default

* Enable automated configure on CI

* Update docs

20 months agoFix AppVeyor cache failure (#456)
Andrey Mokhov [Sat, 11 Nov 2017 17:23:14 +0000 (17:23 +0000)] 
Fix AppVeyor cache failure (#456)

20 months agoFix ghc-cabal build (#455)
Andrey Mokhov [Sat, 11 Nov 2017 14:47:51 +0000 (14:47 +0000)] 
Fix ghc-cabal build (#455)

See #395, #453

20 months agoFix CI scripts (#454)
Andrey Mokhov [Sat, 11 Nov 2017 02:57:38 +0000 (02:57 +0000)] 
Fix CI scripts (#454)

See #453

20 months agoWiden bounds on Cabal (#452)
Ben Gamari [Fri, 10 Nov 2017 19:46:15 +0000 (14:46 -0500)] 
Widen bounds on Cabal (#452)

GHC's `master` branch now sits on a snapshot of Cabal 2.1.0.0

20 months agoDrop GccLtXX flags, require GCC > 4.7 and up (#450)
Zhen Zhang [Tue, 7 Nov 2017 15:14:45 +0000 (23:14 +0800)] 
Drop GccLtXX flags, require GCC > 4.7 and up (#450)

See https://github.com/snowleopard/hadrian/issues/449.

20 months agoFinalise warnings-related arguments (#448)
Andrey Mokhov [Mon, 6 Nov 2017 01:28:34 +0000 (01:28 +0000)] 
Finalise warnings-related arguments (#448)

* Fix non-exhaustive pattern match warning

* Move warnings-related settings to a separate module

* Move defaultHsWarningsArgs to Settings.Warnings, add -Wcpp-undef

* Use defaultGhcWarningsArgs in Settings.Builders.Ghc. Add -Wnoncanonical-monad-instances.

* Add warnings for ghc-cabal

* Add RTS warning flags

* Fix build with integer-simple library

* There are no tabs in xhtml

20 months agoUpdate stage1Only docs
Andrey Mokhov [Sun, 5 Nov 2017 13:40:47 +0000 (13:40 +0000)] 
Update stage1Only docs

See #440

20 months agoUpdate documentation
Andrey Mokhov [Sun, 5 Nov 2017 13:13:04 +0000 (13:13 +0000)] 
Update documentation

See #347, #440

20 months agoAdd a note on doc/flavours.md
Andrey Mokhov [Sun, 5 Nov 2017 00:50:14 +0000 (00:50 +0000)] 
Add a note on doc/flavours.md

20 months agoThreaded is no longer conditional in the quickest flavour
Andrey Mokhov [Sun, 5 Nov 2017 00:40:54 +0000 (00:40 +0000)] 
Threaded is no longer conditional in the quickest flavour

See #414

20 months agoFinalise documentation build rule (#447)
Andrey Mokhov [Sat, 4 Nov 2017 23:30:56 +0000 (23:30 +0000)] 
Finalise documentation build rule (#447)

* Drop --haddock flag and always build Haddock and xthml

See #414

* Reorder imports

* Update README

See #414

20 months agoRemove the git clone step, preparing for the merge
Andrey Mokhov [Sat, 4 Nov 2017 00:04:47 +0000 (00:04 +0000)] 
Remove the git clone step, preparing for the merge

See #440

[skip ci]

20 months agoMake sure build scripts can be run from outside Hadrian directory
Andrey Mokhov [Fri, 3 Nov 2017 23:24:53 +0000 (23:24 +0000)] 
Make sure build scripts can be run from outside Hadrian directory

See #440

20 months agoAdd a note on building documentation
Andrey Mokhov [Wed, 1 Nov 2017 12:03:12 +0000 (12:03 +0000)] 
Add a note on building documentation

See #414

20 months agoUpdate cross-compile.md
Andrey Mokhov [Mon, 30 Oct 2017 03:19:55 +0000 (03:19 +0000)] 
Update cross-compile.md

[skip ci]

See #428

20 months agoUpdate README.md
Andrey Mokhov [Mon, 30 Oct 2017 03:14:53 +0000 (03:14 +0000)] 
Update README.md

[skip ci]

See #428

20 months agoMove Sphinx builder into the library
Andrey Mokhov [Mon, 30 Oct 2017 02:03:32 +0000 (02:03 +0000)] 
Move Sphinx builder into the library

See #347

20 months agoMove Tar builder into the library
Andrey Mokhov [Sun, 29 Oct 2017 22:21:56 +0000 (22:21 +0000)] 
Move Tar builder into the library

See #347

20 months agoMinor clean up, taking hlint suggestions
Andrey Mokhov [Sun, 29 Oct 2017 21:35:57 +0000 (21:35 +0000)] 
Minor clean up, taking hlint suggestions

20 months agoReplace shortcuts to issues by GitHub links
Andrey Mokhov [Sun, 29 Oct 2017 19:03:57 +0000 (19:03 +0000)] 
Replace shortcuts to issues by GitHub links

See #440

20 months agoImplement install_docs (#442)
Zhen Zhang [Fri, 27 Oct 2017 22:16:20 +0000 (06:16 +0800)] 
Implement install_docs (#442)

20 months agoFix CI (#441)
Andrey Mokhov [Tue, 24 Oct 2017 13:02:55 +0000 (14:02 +0100)] 
Fix CI (#441)

* Fix CI

* Another attempt

* Another tweak

20 months agoDrop quotes
Andrey Mokhov [Mon, 23 Oct 2017 22:25:42 +0000 (23:25 +0100)] 
Drop quotes

20 months agoFix CI by calling default script via bash
Andrey Mokhov [Mon, 23 Oct 2017 22:18:13 +0000 (23:18 +0100)] 
Fix CI by calling default script via bash

20 months agoFix the call to another script
Andrey Mokhov [Mon, 23 Oct 2017 22:04:06 +0000 (23:04 +0100)] 
Fix the call to another script

20 months agoSwitch AppVeyor to use the default build.bat script
Andrey Mokhov [Mon, 23 Oct 2017 20:37:07 +0000 (21:37 +0100)] 
Switch AppVeyor to use the default build.bat script

See #428

20 months agoMake build.bat call the default build script on Windows (build.stack.bat)
Andrey Mokhov [Mon, 23 Oct 2017 20:36:37 +0000 (21:36 +0100)] 
Make build.bat call the default build script on Windows (build.stack.bat)

See #428.

Note that building Hadrian with Cabal currently fails on Windows, hence using Stack.

Also see #440: build.bat may later be relocated to the top of the GHC tree.

20 months agoMake build.sh call the default build script (build.cabal.sh)
Andrey Mokhov [Mon, 23 Oct 2017 20:33:32 +0000 (21:33 +0100)] 
Make build.sh call the default build script (build.cabal.sh)

See #428.

Also see #440: build.sh may later be relocated to the top of the GHC tree.

20 months agoRename Rules.Data to Rules.PackageData
Andrey Mokhov [Tue, 17 Oct 2017 23:44:28 +0000 (00:44 +0100)] 
Rename Rules.Data to Rules.PackageData

See #433

20 months agoDon't use `new-build` for pre-2.1 Cabal
Andrey Mokhov [Tue, 17 Oct 2017 22:38:17 +0000 (23:38 +0100)] 
Don't use `new-build` for pre-2.1 Cabal

See #438

21 months agoRestore the original build script relying on the global package database
Andrey Mokhov [Sat, 14 Oct 2017 22:44:49 +0000 (23:44 +0100)] 
Restore the original build script relying on the global package database

See #435, #430

21 months agoFix the list of Hadrian arguments
Andrey Mokhov [Thu, 12 Oct 2017 22:29:00 +0000 (23:29 +0100)] 
Fix the list of Hadrian arguments

See #435

21 months agobuild.cabal.sh: Use cabal new-run (#435)
Ben Gamari [Thu, 12 Oct 2017 22:17:50 +0000 (18:17 -0400)] 
build.cabal.sh: Use cabal new-run (#435)

The previous approach was terribly unreliable, leading me to waste an hour
debugging #425.

21 months agoRearrange unix build scripts. (#430)
Doug Wilson [Wed, 11 Oct 2017 01:32:35 +0000 (14:32 +1300)] 
Rearrange unix build scripts. (#430)

Addresses Issue #428

21 months agoMake Brief the default setting of the --progress-info flag
Andrey Mokhov [Tue, 10 Oct 2017 23:03:56 +0000 (00:03 +0100)] 
Make Brief the default setting of the --progress-info flag

See #428

21 months agoFix usage of -with-rtsopts (#429)
Ben Gamari [Tue, 10 Oct 2017 22:43:37 +0000 (18:43 -0400)] 
Fix usage of -with-rtsopts (#429)

When I added `-qg` to the default RTS options in
57cfa03c23047bb0c731428e97ca716d9a1cf312 (#385) I neglected to consider that it
the -with-rtsopts flag would override the previous flag setting `-I0`. This
had the effect of reenabling idle GC, causing GC time to regress terribly. I
likely didn't notice this since I had passed the flags directly to the `hadrian`
executable with `+RTS` while testing.

Moreover, I mistakenly wrote `-qg0`, which (somewhat confusingly)
actually *enables* parallel GC. Instead I wanted to write `-qg`.

21 months agoRegister the access to the package database when compiling with GHC
Andrey Mokhov [Tue, 10 Oct 2017 14:38:30 +0000 (15:38 +0100)] 
Register the access to the package database when compiling with GHC

21 months agoDon't print boot's diagnostic info by default
Andrey Mokhov [Tue, 10 Oct 2017 14:18:15 +0000 (15:18 +0100)] 
Don't print boot's diagnostic info by default

21 months agoDocument the --freeze1 flag
Andrey Mokhov [Tue, 10 Oct 2017 13:02:17 +0000 (14:02 +0100)] 
Document the --freeze1 flag

See #250

21 months agoMinor revision, drop old TODO
Andrey Mokhov [Mon, 9 Oct 2017 23:37:42 +0000 (00:37 +0100)] 
Minor revision, drop old TODO

See #250

21 months agoImplement Stage1 GHC freezing
Andrey Mokhov [Mon, 9 Oct 2017 00:14:54 +0000 (01:14 +0100)] 
Implement Stage1 GHC freezing

See #250

21 months agoDrop the redundant build rule for literate Perl scripts
Andrey Mokhov [Sat, 7 Oct 2017 22:26:08 +0000 (23:26 +0100)] 
Drop the redundant build rule for literate Perl scripts

21 months agoDrop redundant code
Andrey Mokhov [Thu, 5 Oct 2017 19:08:35 +0000 (20:08 +0100)] 
Drop redundant code

See #314

21 months agoMinor revision
Andrey Mokhov [Thu, 5 Oct 2017 16:58:20 +0000 (17:58 +0100)] 
Minor revision

21 months agoUpdate docs
Andrey Mokhov [Thu, 5 Oct 2017 11:43:25 +0000 (12:43 +0100)] 
Update docs

See #314

21 months agoInstall python3 on Travis OS X
Andrey Mokhov [Thu, 5 Oct 2017 10:34:12 +0000 (11:34 +0100)] 
Install python3 on Travis OS X

See #314

21 months agoInstall python3 on CircleCI
Andrey Mokhov [Thu, 5 Oct 2017 10:15:17 +0000 (11:15 +0100)] 
Install python3 on CircleCI

See #314

21 months agoInstall python on CI
Andrey Mokhov [Thu, 5 Oct 2017 09:59:49 +0000 (10:59 +0100)] 
Install python on CI

See #314

21 months agoFix libffil build
Andrey Mokhov [Thu, 5 Oct 2017 09:50:56 +0000 (10:50 +0100)] 
Fix libffil build

See #426

21 months agoSwitch to the python based boot script
Andrey Mokhov [Wed, 4 Oct 2017 11:38:48 +0000 (12:38 +0100)] 
Switch to the python based boot script

See #314

21 months agoBuild man page (#424)
Zhen Zhang [Sat, 30 Sep 2017 21:01:28 +0000 (05:01 +0800)] 
Build man page (#424)

21 months agoFix missing dependency on package configuration
Andrey Mokhov [Thu, 28 Sep 2017 23:37:35 +0000 (00:37 +0100)] 
Fix missing dependency on package configuration

Also a minor revision.

See #421

21 months agoSwitch to isWindows
Andrey Mokhov [Thu, 28 Sep 2017 22:49:12 +0000 (23:49 +0100)] 
Switch to isWindows

21 months agoDrop checkApiAnnotations utility
Andrey Mokhov [Wed, 27 Sep 2017 22:36:24 +0000 (23:36 +0100)] 
Drop checkApiAnnotations utility

See https://phabricator.haskell.org/D4039

21 months agoMove ffiIncludeDir to C arguments
Andrey Mokhov [Tue, 26 Sep 2017 18:56:28 +0000 (20:56 +0200)] 
Move ffiIncludeDir to C arguments

21 months agoClean up RTS arguments
Andrey Mokhov [Tue, 26 Sep 2017 18:48:21 +0000 (20:48 +0200)] 
Clean up RTS arguments

21 months agoDrop outdated RTS arguments, fix Windows build
Andrey Mokhov [Tue, 26 Sep 2017 18:17:50 +0000 (20:17 +0200)] 
Drop outdated RTS arguments, fix Windows build

21 months agoAdd RTS args related to libffi
Andrey Mokhov [Mon, 25 Sep 2017 20:27:47 +0000 (22:27 +0200)] 
Add RTS args related to libffi

21 months agoDrop redundant import
Andrey Mokhov [Sat, 23 Sep 2017 21:06:26 +0000 (23:06 +0200)] 
Drop redundant import

21 months agoComplete RTS compiler args (#418)
Zhen Zhang [Sat, 23 Sep 2017 19:55:22 +0000 (03:55 +0800)] 
Complete RTS compiler args (#418)

21 months agoUpdate shake and add stm to stage1 packages (#419)
Zhen Zhang [Fri, 22 Sep 2017 09:53:09 +0000 (17:53 +0800)] 
Update shake and add stm to stage1 packages (#419)

* Update shake

* Add stm to Stage 1 packages

21 months agoFix Config.hs to import GhcPrelude (#417)
Zhen Zhang [Wed, 20 Sep 2017 16:47:21 +0000 (00:47 +0800)] 
Fix Config.hs to import GhcPrelude (#417)

21 months agoAvoid running commands with the Shell option, which breaks due to spaces in paths
Andrey Mokhov [Sat, 16 Sep 2017 23:41:12 +0000 (00:41 +0100)] 
Avoid running commands with the Shell option, which breaks due to spaces in paths

* Fixes the docs build rule on Windows

See #414

22 months agoImplement documentation building (#413)
Patrick Dougherty [Sat, 16 Sep 2017 12:14:30 +0000 (07:14 -0500)] 
Implement documentation building (#413)

* Implement documentation building

* Clean up for merge

22 months agoUpdate docs to list -H64m
Andrey Mokhov [Fri, 15 Sep 2017 00:24:53 +0000 (01:24 +0100)] 
Update docs to list -H64m

[skip ci]

22 months agoOptimise stage1 compiler
Andrey Mokhov [Thu, 14 Sep 2017 23:46:38 +0000 (00:46 +0100)] 
Optimise stage1 compiler

See #393

22 months agoNeed rts at the top-level to allow more parallelism
Andrey Mokhov [Thu, 14 Sep 2017 17:23:47 +0000 (18:23 +0100)] 
Need rts at the top-level to allow more parallelism

See #393

22 months agoAdd missing dependency of hsc2hs on template-hsc.h
Andrey Mokhov [Thu, 14 Sep 2017 11:54:59 +0000 (12:54 +0100)] 
Add missing dependency of hsc2hs on template-hsc.h

22 months agoFix performance bug: Stage0 packages do not depend on inplaceLibCopyTargets
Andrey Mokhov [Thu, 14 Sep 2017 00:13:37 +0000 (01:13 +0100)] 
Fix performance bug: Stage0 packages do not depend on inplaceLibCopyTargets

See #393

22 months agoRefine cross-compilation implementation (#410)
Zhen Zhang [Mon, 11 Sep 2017 16:54:29 +0000 (00:54 +0800)] 
Refine cross-compilation implementation (#410)

* Update minimum heap size

* Refine cross-compilation implementation

22 months agoDrop cabal_macros_boot.h
Andrey Mokhov [Sun, 10 Sep 2017 23:03:59 +0000 (00:03 +0100)] 
Drop cabal_macros_boot.h

22 months agoDrop support for -this-package-key
Andrey Mokhov [Sun, 10 Sep 2017 22:45:34 +0000 (23:45 +0100)] 
Drop support for -this-package-key

22 months agoAdd support for llvm-targets
Andrey Mokhov [Sat, 9 Sep 2017 10:39:57 +0000 (11:39 +0100)] 
Add support for llvm-targets

See #412

22 months agoMark as temporarily out-of-date
Andrey Mokhov [Fri, 8 Sep 2017 22:38:45 +0000 (23:38 +0100)] 
Mark as temporarily out-of-date

22 months agoAdd ArMode to distinguish packing and unpacking of archives
Andrey Mokhov [Sun, 3 Sep 2017 12:31:00 +0000 (13:31 +0100)] 
Add ArMode to distinguish packing and unpacking of archives

22 months agoFactor out common Ar functionality into the library
Andrey Mokhov [Sat, 2 Sep 2017 23:38:06 +0000 (00:38 +0100)] 
Factor out common Ar functionality into the library

See #347

22 months agoMinor revision: move builder-related functionality to Builder modules
Andrey Mokhov [Fri, 1 Sep 2017 22:31:38 +0000 (23:31 +0100)] 
Minor revision: move builder-related functionality to Builder modules

22 months agoFactor out common builder-related functionality into the library
Andrey Mokhov [Thu, 31 Aug 2017 02:24:11 +0000 (03:24 +0100)] 
Factor out common builder-related functionality into the library

See #347

22 months agoDrop dll-split related arguments to ghc-cabal
Andrey Mokhov [Wed, 30 Aug 2017 09:47:16 +0000 (10:47 +0100)] 
Drop dll-split related arguments to ghc-cabal

See #404

22 months agoDrop dll-split
Andrey Mokhov [Wed, 30 Aug 2017 01:13:03 +0000 (02:13 +0100)] 
Drop dll-split

See #404

22 months agoMinor revision
Andrey Mokhov [Wed, 30 Aug 2017 00:29:03 +0000 (01:29 +0100)] 
Minor revision

See #403

22 months agoFix wrapper build rules
Andrey Mokhov [Tue, 29 Aug 2017 09:23:52 +0000 (10:23 +0100)] 
Fix wrapper build rules

See #403

22 months agoRefactor program build rules
Andrey Mokhov [Tue, 29 Aug 2017 03:02:10 +0000 (04:02 +0100)] 
Refactor program build rules

See #403

22 months agoFix wrapper build
Andrey Mokhov [Mon, 28 Aug 2017 23:46:19 +0000 (00:46 +0100)] 
Fix wrapper build

See #403

22 months agoMinor revision of install stages
Andrey Mokhov [Mon, 28 Aug 2017 23:28:55 +0000 (00:28 +0100)] 
Minor revision of install stages

See #403

22 months agoMinor refactoring: re-export Context and GHC from Expression
Andrey Mokhov [Mon, 28 Aug 2017 17:12:39 +0000 (18:12 +0100)] 
Minor refactoring: re-export Context and GHC from Expression

22 months agoAdd cross compilation (#401)
Zhen Zhang [Mon, 28 Aug 2017 10:26:27 +0000 (18:26 +0800)] 
Add cross compilation (#401)

Tested with arm-linux-gnueabihf.

22 months agoRefactor GHC/user packages, move builder-specific functions into Builder
Andrey Mokhov [Mon, 28 Aug 2017 00:56:06 +0000 (01:56 +0100)] 
Refactor GHC/user packages, move builder-specific functions into Builder

See #403

22 months agoSimplify package lists
Andrey Mokhov [Sun, 27 Aug 2017 02:08:20 +0000 (03:08 +0100)] 
Simplify package lists

See #403

22 months agoDo not run CI in verbose mode
Andrey Mokhov [Sat, 26 Aug 2017 23:47:05 +0000 (00:47 +0100)] 
Do not run CI in verbose mode