| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
We avoid calling "rm -rf" with no file arguments; this fixes cleaning
on Solaris, where that fails.
We also check for suspicious arguments: anything containing "..",
starting "/", or containing a "*" (you need to call $(wildcard ...)
yourself now if you really want globbing). This should make things
a little safer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
saying
make TRACE=1
prints most of the macro calls and their arguments. It's easy to
trace new macros; see rules/trace.mk.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was done as part of an honours thesis at UNSW, the paper describing the
work and results can be found at:
http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf
A Homepage for the backend can be found at:
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM
Quick summary of performance is that for the 'nofib' benchmark suite, runtimes
are within 5% slower than the NCG and generally better than the C code
generator. For some code though, such as the DPH projects benchmark, the LLVM
code generator outperforms the NCG and C code generator by about a 25%
reduction in run times.
|
|
|
|
|
| |
We now regenerate them when installing, which means the path for perl
doesn't get baked in
|
| |
|
|
|
|
| |
There are now 104 calls to mkdirhier, down from 1201, when validating.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I've also added some missing $s to some makefiles. These aren't
technically necessary, but it's nice to be consistent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
# -----------------------------------------------------------------------------
#
# (c) 2009 The University of Glasgow
#
# This file is part of the GHC build system.
#
# To understand how the build system works and how to modify it, see
# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
#
# -----------------------------------------------------------------------------
|
|
|