| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
We now make use of the ghc-packages file when making the haddock index.
|
|
|
|
|
|
| |
Cabal will use it regardless, and if people are going to use binary then
it's a lot better if they use the one that we ship, rather than
installing a second version.
|
|
|
|
|
|
|
| |
We now put the libffi objects into the RTS library, rather than trying
to mangle libffi into being a ghc package itself. It would be nicer to
make it a separate library (but not a ghc package), but for now
hopefully this will get the build going through on Windows again.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are a number of things which technically depend on GHC (e.g. if
ghc changes then Haskell files may be compiled differently, or Cabal
packages may be configured differently). However, in practice, having
a real dependency on GHC is just a pain: We normally don't want to
spend time recompiling other things while we're working on the
compiler, and even if we did, GHC will normally decide compilation
isn't needed anyway. So by default we use order-only dependencies on
GHC, i.e. GHC must exist, but if it's newer than other targets then
rebuilding is not necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
We were putting
includes/ghcautoconf.h
includes/ghcconfig.h
includes/ghcplatform.h
into bindists twice.
|
|
|
|
| |
Fixes trac #5311.
|
| |
|
|
|
|
|
|
| |
When we install the packages, ghc-pkg obeys umask when creating
package.cache, but for everything else we specify the permissions. We
therefore fix the permissions of package.cache afterwards.
|
|
|
|
|
| |
files, so that it can refer to variables defined there. (necessary,
but perhaps not sufficient, to fix the DPH build bugs)
|
| |
|
|
|
|
| |
It now matches PACKAGES_STAGE2
|
| |
|
|
|
|
|
| |
makes it easier to remove everything built with stage1 in cases where
the build system or GHC wrongly thinks everything is up to date.
|
| |
|
|
|
|
| |
This avoids duplicating some logic around the build system.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the new code generator to make use of the Hoopl package
for dataflow analysis. Hoopl is a new boot package, and is maintained
in a separate upstream git repository (as usual, GHC has its own
lagging darcs mirror in http://darcs.haskell.org/packages/hoopl).
During this merge I squashed recent history into one patch. I tried
to rebase, but the history had some internal conflicts of its own
which made rebase extremely confusing, so I gave up. The history I
squashed was:
- Update new codegen to work with latest Hoopl
- Add some notes on new code gen to cmm-notes
- Enable Hoopl lag package.
- Add SPJ note to cmm-notes
- Improve GC calls on new code generator.
Work in this branch was done by:
- Milan Straka <fox@ucw.cz>
- John Dias <dias@cs.tufts.edu>
- David Terei <davidterei@gmail.com>
Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD
and fixed a few bugs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cygwin's /bin/install doesn't set file modes correctly if the
destination path is a C: style path:
$ /bin/install -c -m 644 foo /cygdrive/c/cygwin/home/ian/foo2
$ /bin/install -c -m 644 foo c:/cygwin/home/ian/foo3
$ ls -l foo*
-rw-r--r-- 1 ian None 0 2011-01-06 18:28 foo
-rw-r--r-- 1 ian None 0 2011-01-06 18:29 foo2
-rwxrwxrwx 1 ian None 0 2011-01-06 18:29 foo3
This causes problems for bindisttest/checkBinaries.sh which then
thinks that e.g. the userguide HTML files are binaries.
We therefore use a /cygdrive path if we are on cygwin
|
| |
|
| |
|
|
|
|
|
|
| |
rather then the bootstrapping compiler. This fixes problems where the
bootstrapping compiler dynamically links against libraries not on the
target machine.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were generating PrimopWrappers.hs twice in two different places,
one for the normal build and one for Haddock (I think). Unfortunately
one of these was causing extra rebuilding, because the file dropped
into the dist-install/build/autogen directory, where it was picked up
by the automatic HS_SRCS detection in subsequent make runs. This was
exposed by a recent change to HS_SRCS:
Wed Oct 20 11:47:59 BST 2010 Ian Lynagh <igloo@earth.li>
* Look for sources in Cabal's autogen directory too
This should fix the stage3 failures in the build bots.
|
| |
|
|
|
|
| |
You can't use TH with a profiling compiler.
|
|
|
|
| |
Stops us accidentally depending on them
|
|
|
|
|
| |
For now we don't build the Cabal userguide, but we should add markdown
support so that we can do so.
|
| |
|