| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
# -----------------------------------------------------------------------------
#
# (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
#
# -----------------------------------------------------------------------------
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
On Windows, we end up doing something like
rsync c:/build/ghc-6.10.1-unknown-mingw32.tar.bz2 haskell.org:dist
and it thinks that it is meant to get the file from the host called "c".
Now we just do
rsync ghc-6.10.1-unknown-mingw32.tar.bz2 haskell.org:dist
so rsync understand what we mean.
|
|
|
|
| |
It will use TH, so needs to be built with stage2.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This should stop us ending up without HsColour'ed sources on some
platforms.
We also now tell Cabal where to find HsColour, rather than it finding
it itself.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes problems on Solaris, where we need to use gtar instead of tar
|
| |
|
|
|
|
|
|
| |
We now need to dig the appropriate lines out of packages, rather than
just catting libraries/extra-packages, in order to find out what the
extralibs are.
|
| |
|
| |
|
| |
|
|
|
|
| |
We don't want to require that users building source dists have alex/happy
|
|
|
|
| |
e.g. $(bindir)/ghc-6.9.20080911
|
|
|
|
| |
Hopefully this will fix the SunOS builbot slave.
|
| |
|
| |
|
|
|
|
|
| |
One side-effect of this is that we need to build the install-utils with
stage2 rather than stage1 as we need the ghc package.
|
|
|
|
| |
We now use an in-tree haddock instead
|
| |
|
|
|
|
|
| |
The packages file has an extra component (for "darcs" or "git") so we need
to take that into account when grepping.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We now set Validating=YES in mk/are-validating.mk rather than on the
commandline. This means that if you build a tree with validate then
just running make in it will use the validate flags.
"make distclean" removes mk/are-validating.mk, putting us back in
standard build mode.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Installing and bindist creation don't work, but they were already broken.
Only tested validating with one setup.
|
|
|
|
| |
This fixes trac #2266.
|
|
|
|
|
|
| |
Compat.Unicode is not utils/Unicode in the compiler.
We build the hpc package with the stage1 compiler.
Nothing else in the compat package was still used.
|
| |
|
| |
|
|
|
|
| |
Now we just run make in it at the start of the stage1 build
|
| |
|
|
|
|
|
|
|
| |
We now build a copy of Cabal and put it in a bootstrapping package.conf.
We also make boot in libraries much earlier in the build process, so we
can use cabal-bin for more stuff in the future.
|
|
|
|
|
| |
It leads to annoying rebuilding when working in a built tree.
We'll handle this differently for 6.10.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the hand-rolled architecture-specific FFI support in
GHCi with the standard libffi as used in GCJ, Python and other
projects. I've bundled the complete libffi-3.0.4 tarball in the
source tree in the same way as we do for GMP, the difference being
that we always build and install our own libffi regardless of whether
there's one on the system (it's small, and we don't want
dependency/versioning headaches).
In particular this means that unregisterised builds will now have a
fully working GHCi including FFI out of the box, provided libffi
supports the platform.
There is also code in the RTS to use libffi in place of
rts/Adjustor.c, but it is currently not enabled if we already have
support in Adjustor.c for the current platform. We need to assess the
performance impact before using libffi here too (in GHCi we don't care
too much about performance).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- GHC installs a range of compiled Haskell programs in addition to the actual
compiler. To ensure that they all run on the platform targeted by the build
(which may have different libraries installed than the build host), we need
to make sure that all compiled Haskell code going into an install is build
with the stage 1 compiler, not the bootstrap compiler. Getting this right
is especially important on the Mac to enable builds that work on Mac OS X
versions that are older than the one performing the build.
- For all installed utils implemented in Haskell (i.e., ghc-pkg, hasktags,
hsc2hs, runghc, hpc, and pwd) we compile two versions, an inplace version
and a version for installation. The former is build by the bootstrap
compiler during the stage 1 build and the latter is build by the stage 1
compiler during the stage 2 build.
- This is really very much as the setup for ghc itself, only that we don't use
separate stage1/ and stage2/ build directories. Instead, we clean before
each build. CAVEAT: This only works properly if invoked from the
toplevel Makefile.
- Instead of UseStage1=YES (as used by the previous binary-dist-specific
recompilation), we now use the same $(stage) variables as used for the
compiler proper - to increase uniformity and to avoid extra conditionals for
the install target.
|
|
|
|
|
| |
- Also moving all MacOS-specific Makefile components into
distrib/MacOS/Makefile
|