| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
It was marked as "backwards compatibility" in 2006, so I think
can be removed now. It allowed using old field names when looking
at fields with ghc-pkg.
|
|
|
|
| |
It used to just ignore the --simple-output flag
|
|
|
|
|
|
|
| |
We now define _PROGNAME, and _PROG is automatically defined with
$(exeext). This will shortly automatically use the right exeext
depending on what stage it is being compiled with (exeext may be
different for different stages when cross-compiling).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This solves the problem of how to define MIN_VERSION_base for
the binary package.
Also fixed a couple of build system bugs along the way.
|
|
|
|
|
|
|
|
| |
This removes the '.PHONY' rule, so means that "make" in a built tree
won't repeat the check.
We also now check the .cabal files for the executables as well as the
libraries.
|
| |
|
| |
|
|
|
|
|
| |
They share modules in Cabal, and unless they use exactly the same
flags GHC recompiles the modules.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have two cases:
1. building a cross-compiler
2. compiling GHC to run on a foreign platform
These two are done with almost the same setup: (1) is the stage 1
compiler, and (2) is the stage 2 compiler, when CrossCompiling=YES.
The only difference between (1) and (2) is that you if you set up the
build for (1), then it stops before stage 2 and you can 'make install'
to install stage 1.
Unfortunately, (2) didn't work, and the build system code needed some
tidying up.
Change to the way the build is set up:
Before
------
To build a cross-compiler:
./configure --target=<..>
To compile a foreign GHC:
./configure --host=<..> --target=<..>
Now
---
To build a cross-compiler:
./configure --target=<..>
And set "Stage1Only=YES" in mk/build.mk
To compile a foreign GHC:
./configure --target=<..>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
In particular, this fixes it if we are using dynamic libraries by
default and don't build the vanilla way.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We used to say
$ ghc-pkg list blargle
/usr/local/lib/ghc-7.4.1/package.conf.d
which may imply that blargle was found in
/usr/local/lib/ghc-7.4.1/package.conf.d
|
|
|
|
|
|
|
| |
Rather than having a separate
foo_INSTALL_SHELL_WRAPPER
variable, we just use
foo_INSTALL && foo_SHELL_WRAPPER
|
| |
|
|
|
|
| |
-sf'?)
|
| |
|
| |
|
|
|
|
|
| |
Really we ought to support all the old flags, but warn that they
are deprecated.
|
| |
|
|
|
|
|
|
|
|
| |
Rename package database flags in both GHC and ghc-pkg so that they are
consistent with Cabal nomenclature.
Add a version check to the build system so that the correct set of
package db flags are used when the bootstrapping GHC has version < 7.5.
|
|
|
|
|
|
|
|
|
|
|
| |
This allows you to say things like
SRC_HC_WARNING_OPTS += -fno-warn-unsupported-calling-conventions
in mk/validate.mk.
Unfortunately, we can't just use SRC_HC_OPTS, as that gets put before
the more specific options (e.g. ghc-options in a .cabal file), many of
which include -Wall. So now we have:
ghc $(SRC_HC_OPTS) ... options from .cabal etc ... $(SRC_HC_WARNING_OPTS)
|
| |
|
| |
|
|
|
|
| |
Patchset from Stephen Blackheath <stephen.blackheath@ipwnstudios.com>
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
We now make use of the ghc-packages file when making the haddock index.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It was only working when followed by something, e.g. "$topdir/base".
|
| |
|
|
|
|
|
| |
I'd naively assumed that the haddock-html field would only use the
$httptopdir variable. Hopefully this will fix the windows build.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tools handling installed packages need to be able to interpret the
paths which are relative to the ${pkgroot} which means they need to
know the value of ${pkgroot}. With ghc-pkg this is not always obvious
since ghc-pkg does not currently have any way machine interface for
reporting the location of its package dbs (global, user). The solution
we have arrived at is simply to emit the pkgroot as an extra field
when it is needed.
There are two cases:
* --no-expand-pkgroot: ghc-pkg dump/describe will not expand the
${pkgroot} var, so it will appear literally in the output and the
pkgroot field will be generated so that tools know what value to
use for the ${pkgroot}.
* --expand-pkgroot: ghc-pkg dump/describe will expand the ${pkgroot}
and ${pkgrooturl} vars and will not generate the pkgroot field.
The defaults are:
* ghc-pkg dump/describe --no-expand-pkgroot
* ghc-pkg field --expand-pkgroot
|
|
|
|
|
|
|
| |
The haddock-html and haddock-interface fields are now checked
as well. Had to fix up ghc-cabal as it used relative paths for
the inplace package's haddock-html. It turns out that these
were never used so it could simply be omitted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Historically ghc implemented relocatable packages by allowing
"$topdir" in the package registration info and having ghc expand
this with its notion of $topdir. The topdir refers to where ghc
itself is installed (specifically the libdir).
The ${pkgroot} spec takes this idea and makes it portable.
(http://www.haskell.org/pipermail/libraries/2009-May/011772.html)
Instead of paths relative to where ghc is installed, they can be
relative to the package database itself. Thus it is no longer a
ghc-specific idea and can work for package collections other than
the global package db.
|
|
|
|
|
|
| |
It was never a universal solution. It only worked with the GNU linker.
It has not been used by Cabal for ages. GHCi can now load .a files so
it will not be needed in future.
|