forked from angerman/hadrian
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use Cabal directly in place of ghc-cabal; make build root configurable.
This commit implements two significant changes (that were not easy to separate): - Don't use ghc-cabal anymore for getting information about Haskell packages. We now instead directly use Cabal-the-library. - Make the build root configurable. This effectively gets rid of the inplace logic and allows us to place _all_ build artefacts in some directory of our choice, by passing '--build-root <some path>' to hadrian. The code for this was mostly taken from snowleopard#445.
- Loading branch information
Showing
59 changed files
with
1,678 additions
and
933 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
module Builder where | ||
|
||
import Stage | ||
import Hadrian.Builder.Ar | ||
import Hadrian.Builder.Sphinx | ||
import Hadrian.Builder.Tar | ||
import Development.Shake | ||
|
||
data CcMode = CompileC | FindCDependencies | ||
data GhcMode = CompileHs | CompileCWithGhc | FindHsDependencies | LinkHs | ||
data GhcCabalMode = Conf | Copy | Reg | HsColour | Check | Sdist | ||
data GhcPkgMode = Init | Update | Clone | Dependencies | ||
data HaddockMode = BuildPackage | BuildIndex | ||
|
||
data Builder = Alex | ||
| Ar ArMode Stage | ||
| DeriveConstants | ||
| Cc CcMode Stage | ||
| Configure FilePath | ||
| GenApply | ||
| GenPrimopCode | ||
| Ghc GhcMode Stage | ||
| GhcCabal GhcCabalMode Stage | ||
| GhcPkg GhcPkgMode Stage | ||
| Haddock HaddockMode | ||
| Happy | ||
| Hpc | ||
| Hp2Ps | ||
| HsCpp | ||
| Hsc2Hs Stage | ||
| Ld Stage | ||
| Make FilePath | ||
| Nm | ||
| Objdump | ||
| Patch | ||
| Perl | ||
| Python | ||
| Ranlib | ||
| RunTest | ||
| Sphinx SphinxMode | ||
| Tar TarMode | ||
| Unlit | ||
| Xelatex | ||
| CabalFlags Stage | ||
|
||
instance Eq Builder | ||
instance Show Builder | ||
|
||
builderPath' :: Builder -> Action FilePath |
Oops, something went wrong.