| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This is a follow-on to Simon's patch yesterday, developed
with him. It cleans up the computation of how packages
are installed, and installs the right ones.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
DPH is now using the public vector package instead of its internal
version.
vector and primitive are not "boot" packages; they aren't required to
build GHC, but they are required to validate (because we include DPH
when validating).
If you say './darcs-all get --no-dph' then you don't get DPH, vector,
or primitive.
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of the ghc-stage and ghc-stage2-package files in a package, we
now have a list of these in ghc.mk. There are other similar lists (of
boot-packages and non-installable packages), so this is not too bad,
and is simpler.
While poking around in the top-level ghc.mk file I spotted various
opportunities to clean up and re-order some of the cruft that has
accumulated over time.
|
| |
|
|
|
|
|
|
|
|
|
| |
saying
make TRACE=1
prints most of the macro calls and their arguments. It's easy to
trace new macros; see rules/trace.mk.
|