Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: haskell/cabal
head fork: haskell/cabal
This comparison is big! We're only showing the most recent 250 commits
Commits on Aug 01, 2007
igfoo igfoo Cabal now depends on teh containers package 614fc40
Commits on Aug 06, 2007
Thomas Schilling nominolo Allow querying for the wildcard version range. 84cb848
Thomas Schilling nominolo No longer fail to parse packages without any library or executable
sections.  Issue a warning instead.  (The previous error message
"Unexpected end of file" was not very helpful.)
Thomas Schilling nominolo Cosmetic cleanup (fix line length) 187a93d
Thomas Schilling nominolo Warn if no Cabal-version field is specified, but new syntax is used.
This isn't quite exact.  Ideally, we'd like to have something like
isEmptyRange (specified-range && >= 1.2) but implementing isEmptyRange
is non-trivial, so we'll go with this imperfect solution until we need
that feature elsewhere.
Commits on Aug 07, 2007
Thomas Schilling nominolo Re-enable and update unit tests. 5866b29
Thomas Schilling nominolo Fix translation of deprecated fields. Add test case. 441968b
Thomas Schilling nominolo Fix error message. 275eab3
Thomas Schilling nominolo Add a little documentation. f026a91
Duncan Coutts dcoutts Use String rather than importing a module just to misuse a String typ…
…e alias
Duncan Coutts dcoutts Add compilerExtensions field to Compiler and make each compiler fill …
…it in

It's just a list of supported extensions and the corresponding compiler flags.
For most compilers this is currently just a static list. For ghc 6.7 and above
we query ghc to find the list of language extensions it supports.
In each case the code has moved out into the compiler-specific modules and the
core code treats it generically.
The extensionsToFlags function has been split into two:
extensionsToFlags which now returns the flags for the supported extensions and
unsupportedExtensions which does what it says it does. This is because the two
roles of the previous function were always used separately, never together.
Duncan Coutts dcoutts remove unused local vars cfa1b6c
Duncan Coutts dcoutts Oops, fix deprecated Distribution.Extension module
it no longer exports the internal per-compiler extension to flags functions
as they are no longer exist and the equivalents are internal.
Commits on Aug 08, 2007
Magnus Jonsson Parse the output of ghc --supported-languages correctly 98bcf34
Duncan Coutts dcoutts Never generate empty language extension flags
Needed because some compilers support some language extensions by default
so need no flag to turn those extensions on.
Commits on Aug 09, 2007
Simon Marlow fix build with GHC 6.2.x 5cab857
Esa Ilari Vuokko Use existing parsers to handle ghc-pkg field output c5e5063
Commits on Aug 11, 2007
Esa Ilari Vuokko Explicit imports 62a7a3b
Esa Ilari Vuokko Clean up import ordering and format 06db111
Commits on Aug 12, 2007
Duncan Coutts dcoutts update ghc-pkg field parse error message f62e2d3
Commits on Aug 14, 2007
Duncan Coutts dcoutts ghc only supports the -x flag in 6.6 and above 2fd17f2
Duncan Coutts dcoutts Refactor the code for managing installation directories
New types for the collection of installation directory templates and a
separate type for the collection of actual real install FilePaths.
The templates are represented with a PathTemplate adt.
Dir templates can now be relative to each other, eg $htmldir to $docdir
Default install dir templates are now specified compactly in one place.
Adding new dirs should be considerably simpler than previously.
This patch should not actualy change where anything is installed.
Esa Ilari Vuokko Reorder, make explicit and beautify imports b2f27e8
Esa Ilari Vuokko Warning police: provide fallback pattern match 55ad9e9
Esa Ilari Vuokko Warning police: Remove unused statement and import b7ca62e
Esa Ilari Vuokko Warning police: Add type signatures and rename arg d8c5f3b
Esa Ilari Vuokko Fix Paths_pkg.hs generation 4e00464
Commits on Aug 16, 2007
Duncan Coutts dcoutts Add configure --docdir flag which defaults to "$datadir/doc/$pkgid"
Fixes bug #140
Esa Ilari Vuokko Make 'make tests' runnable again cea6ac2
Esa Ilari Vuokko Split ConfVar into ConfFlag and ConfVar c28e79a
Commits on Aug 17, 2007
Duncan Coutts dcoutts Add some extra functions to Compat.Map that we'll need later 45fa5e1
Duncan Coutts dcoutts Rewrite the Program abstraction and the ProgramConfiguration database
Also make the follow on changes to everything that uses Program.
The notion of a program is now split into the abstract notion of a program
that we know about and might be able to configure, and a configured program
that we can actually run. The ProgramConfiguration database is similarly
split. We still keep user-supplied loation and arguments and use them when
we configure programs. The abstract Program now has functions to search for
the program on the system and for finding the version number. This allows
for more generic configuration of programs.
Duncan Coutts dcoutts Add a sanity check that the ghc and ghc-pkg versions should be equal
This was easy to do now that Programs know how to find their version numbers.
Duncan Coutts dcoutts Make configure much less verbose by default and give useful output wi…
…th -v

This actually brings it into line with the other commands which do not produce
much output by default. It is very very quiet by default now though.
To make the -v output nice we have to lower the verbosity one notch in places.
Duncan Coutts dcoutts Trivial reformatting b7ec438
Duncan Coutts dcoutts We don't need a short option configure flag for selecting nhc
I don't think we need one for ghc either, but perhaps we shouldn't remove
that immediately as people might be using it. It's safe to remove -n now
becuase nobody is relying on it as nhc support is still incomplete.
Commits on Aug 19, 2007
RossPaterson RossPaterson Hugs: get dropDrive from current version of filepath aa20bc7
RossPaterson RossPaterson tweak #if's to avoid treating non-GHC as old GHC d1afb8f
Commits on Aug 22, 2007
Duncan Coutts dcoutts The prologue.txt is not needed for anything
The text from the description is now used for haddock
Duncan Coutts dcoutts The prologue.txt is not needed for anything
The text from the description is now used for haddock
Commits on Aug 23, 2007
Duncan Coutts dcoutts Fix register --gen-script
It's still useless on Windows.
Duncan Coutts dcoutts Swap haddock inplace/install dirs that were accidentally the wrong wa…
…y round
Duncan Coutts dcoutts Don't include the massive list of --with-prog --prog-args flags in he…
…lp text

Instead have just two generic ones in the help text and at the bottom,
list the programs that the flags apply to.
This still needs to be properly word wrapped to fit in 80 cols (as does the
rest of the help text).
Duncan Coutts dcoutts Make the GetOpt help text fit in 80 cols by wrapping the description
And reduce the padding slightly.
The configure help text look slightly less terrible now, though we've still
got too many long flags and short flags with long arg names so there's not
really enough width for the description so it wraps in too many cases.
Duncan Coutts dcoutts Wrap the configure help text program list and rename the prog arg tem…

Use "--with-PROG=" rather than "--with-<program>" since the other subsitution
bits like ARGS, PATH etc are upper case contractions. So it's more consistent.
Duncan Coutts dcoutts Hack to supress a warning when building Cabal
Normally we'd warn if using a new format cabal file and a cabal-version >= 1.2
field is not specified in the cabal file. However we cannot do this for cabal
itself or we'd not be able to bootstrap. So we just supress the warning for
the package "Cabal".
Duncan Coutts dcoutts Add a "build-tools:" field to the cabal file format
It's the same format as the build-depends, eg:
build-tools: cpphs, c2hs >= 0.15
During the configure step we try to configure the listed programs and
if a version range is specified then we check that it is satisfied.
Commits on Aug 24, 2007
Duncan Coutts dcoutts Remove unused --enable-haddock-use-packages flags
The feature they controled had been removed but
the --enable/disable flag had not been removed.
Duncan Coutts dcoutts Document lots of flags and the new build-tools: field
Document the following options:
--enable-library-for-ghci / --disable-library-for-ghc
--enable-library-vanilla / --disable-library-vanilla
--enable-split-objs / --disable-split-objs
--with-PROG= --PROG-args=
Duncan Coutts dcoutts Look for install-includes in . first, then in include-dirs
Since .h files listed in install-includes need not be in the include-dirs
search path at all.
Duncan Coutts dcoutts Only create includes and bin dirs if necessary
For includes, don't list the include dir in the package registration
info unless we're actually going to install some include files.
So we should create fewer pointless empty directories. See bug #97.
Duncan Coutts dcoutts Add install-includes .h files to the sdist tarball d5a809d
Duncan Coutts dcoutts Update documentation on install-includes field ba520cd
Duncan Coutts dcoutts Install any license file 480ac0b
clefru clefru Import FilePath.dropDrive for hugs and GHC>6.6. In all other cases, p…
…rovide our own.
clefru clefru Add docDirTemplate for inplace package config files 9f22c78
clefru clefru Add --enable-shared as configure argument, and ghc-shared-options as …
….cabal field
clefru clefru Add mkSharedLibName to D.Simple.Utils for DSO filename mangling 79c0aa3
Thomas Schilling nominolo Remove the use of 'normalise' since it is currently broken (normalise
"./" => "/"!) and we don't need it that much, right now.
clefru clefru Move GHC Makefile's .depend into dist/build aa516f2
Duncan Coutts dcoutts Change installation layout on Windows slightly
Make Haskell part of the default $prefix and make docs relative
to $prefix rather than $datadir which is fixed for libs.
Make the default fixed lib $datadir be Program Files\Haskell rather
than Common Files.
Commits on Aug 25, 2007
Duncan Coutts dcoutts remove unused imports 1159b8f
Duncan Coutts dcoutts correct copy'n'pasted comment 38b5c4f
Duncan Coutts dcoutts Use dllExtension rather than reimplementing it locally f3c31c7
Commits on Aug 26, 2007
Duncan Coutts dcoutts Move several modules under .Simple
Compiler, Program, PreProcess and Setup are really part of the Simple
build system.
Also move a couple GHC modules under Simple.GHC.*
Commits on Aug 28, 2007
clefru clefru Add dynlibdir to InstallDirs 3d062e6
Duncan Coutts dcoutts Move defaultCompilerFlavor into Distribution.Compiler f275e0d
Duncan Coutts dcoutts Rename searchPath to findProgramOnPath e6d7cfc
igfoo igfoo Rejig the register code a bit 7d2b30c
Commits on Aug 29, 2007
Duncan Coutts dcoutts More register cleanups to do with ghc-pkg args bb1d5d1
Duncan Coutts dcoutts Don't use the compilerProg and compilerPkgTool, use the ProgramConfig…

Except for reporting, we use the ProgramConfiguration directly.
Less duplication of information this way.
Duncan Coutts dcoutts Add rawSystemProgramStdout, the Program variant of rawSystemStdout 3857d0e
Duncan Coutts dcoutts Make getInstalledPackages use ProgramConfiguration rather than Compiler
These should be moved into the GHC and JHC modules, possibly with some
unifying version if that make sense.
Duncan Coutts dcoutts Remove compilerProg & compilerPkgTool from Compiler
This info is redundant since the compiler-specific code knows what
programs to run and it can get that from the ProgramConfiguration.
Duncan Coutts dcoutts Reorder configure message about what compiler we're using e3e460c
igfoo igfoo Define delete in Distribution/Compat/Map.hs
Fixes the build with old GHCs.
Commits on Aug 30, 2007
Duncan Coutts dcoutts Make checking program versions not produce error spew
Redirect stderr to /dev/null (or NUL on windows) and throw an exception
like rawSystemExit does rather than calling die which prints an unhelpful
message before throwing an exception. It's not an overall failure to not
be able to establish the version of a program, since we check later if we
actually have any requirement for any particular version anyway.
So for example this makes running configure with an old version of c2hs
that doesn't grok --numeric-version not produce unhelpful output that
make people think that configure failed.
Duncan Coutts dcoutts Install license file into docdir rather than datadir 8046c81
Duncan Coutts dcoutts for c2hs, look for .chi files in dist/build rather than hs-src-dirs
Since when we run c2hs we put .chi files into dist/build so that's also
where we should be looking for them.
Commits on Aug 31, 2007
RossPaterson RossPaterson track renaming of 441eb61
RossPaterson RossPaterson fix 'Make checking program versions not produce error spew' for non-GHC 3dd90a7
Duncan Coutts dcoutts Update user guide on Windows installation paths, and add default for …
Duncan Coutts dcoutts Display the appropriate install messages for lib vs exes
Don't confuse users by suggesting that we're installing libs when we're
actually only installing exes, or vica-versa.
Duncan Coutts dcoutts Refactor the internal handling of the "--user" flag into a PackageDB …

PackageDB can be user/global or a specific package db. The latter option is
not exposed in the user interface anywhere.
Also move the getInstalledPackages into the per-compiler modules with a
non-compiler-specific wrapper left in Distribution.Simple.Configure
Duncan Coutts dcoutts Add util function allBuildInfo :: PackageDescription -> [BuildInfo]
The 'BuildInfo' for the library (if there is one and it's buildable)
and all the buildable executables. Useful for gathering dependencies.
Duncan Coutts dcoutts Move build-tools into the lib/exe stanzas and update configure
configure now has to gather the required build tools from the BuildInfo
of the lib and exes.
Duncan Coutts dcoutts Add a pkgconfig-depends: field to the .cabal file f7b16a6
Duncan Coutts dcoutts Use pkg-config to check for the packages specified in "pkgconfig-depe…

And fill out the includeDirs, extraLibs, extraLibDirs, ccOptions and ldOptions
with the results from pkg-config --cflags --libs
Duncan Coutts dcoutts Update the user guide on where the build-tools: field lives
It's now part of the build information rather than package description,
which is as it should be.
Duncan Coutts dcoutts Document the new "pkgconfig-depends:" field abd5cf3
igfoo igfoo Don't pass docdir to ./configure, as older autoreconfs don't support it acf92f9
Commits on Sep 01, 2007
RossPaterson RossPaterson Maintainer is now ed2d767
Duncan Coutts dcoutts Don't use normalise when parsing configure arguments fed5e4d
Duncan Coutts dcoutts Add --prog-arg= and make --prog-args parse quotes
So this provides two ways of passing options that contain embeded spaces:
--foo-args='--bar --baz="path with spaces in"'
--foo-arg=--bar --foo-arg=--baz="path with spaces in"
all args passed this way are collected in order.
Duncan Coutts dcoutts Pass --configure-option= options to configure in the right order
in the same order as they were passed to cabal configure on the command line
Commits on Sep 02, 2007
Duncan Coutts dcoutts Change --configure-option= to --configure-arg=
For consitency with other flags.
igfoo igfoo Suppress some warnings d3c29d9
igfoo igfoo Warning supression for Windows 0f004d6
Duncan Coutts dcoutts Change --configure-option= to --configure-arg=
For consitency with other flags.
Duncan Coutts dcoutts Rename --prog-args to --prog-options
amd --prog-arg to --prog-arg and update the user guide.
Commits on Sep 03, 2007
Duncan Coutts dcoutts Remove register --with-hc-pkg flag
It was just a hack for the benefit of ghc and we don't need it now.
Duncan Coutts dcoutts Make userSpecifyArgs update the args even if the prog is configured a…
Duncan Coutts dcoutts Generalise build --ghc-option flag to --prog-option for any prog
and remove makefile --ghc-option flag as it's not used (as far as I can see).
It works generically by updating the ProgramConfiguration rather than the
previous ad-hoc implementation. This feature is generally only useful for
hackers who want to pass extra args to a progam during the build step
(probably as a one-off) without having to reconfigure.
Duncan Coutts dcoutts Fix haddock markup
Thanks to int-e for reporting
Duncan Coutts dcoutts Oops, fix Distribution.Make ac89930
Duncan Coutts dcoutts Remove unused helper function
Ok to remove, it never appeared in any release.
Simon Marlow make this buildable with GHC 6.2.x 58a6836
Commits on Sep 05, 2007
Duncan Coutts dcoutts Rewrite the parser for the configuration structure to allow laout or …

Joint work with Thomas Schilling.
The sections and indeed fields (and if/else) can now use either explicit
brace {} style layout or indentation eg:
> library
>   exposed-modules: Blah
> library {
>   exposed-modules:
> }
layout style can be nested within explict braces style and vica versa.
Also add some more checks and relax the tab checks.
Unrecognised sections, like unrecognised fields, are not fatal errors,
so we could add sections in future without breaking old cabal.
Commits on Sep 06, 2007
Duncan Coutts dcoutts Update authors list in LICENSE and remove duplicate copyright file
We currently have 39 different authors, all those with a significant number
of patches are listed as copyright holders in the LICENSE file.
Duncan Coutts dcoutts Update changelog 14784b9
Duncan Coutts dcoutts Use layout rather than braces {} for sections in our own .cabal file
Since we can and we want to set a good example.
Duncan Coutts dcoutts Fix haddock markup 4da27e1
Duncan Coutts dcoutts Bump version number to 1.2.0 34abfe0
Duncan Coutts dcoutts note need to use -i when bootstrapping ghc, and update coders list b87ca33
Duncan Coutts dcoutts Remove now-empty dependencies dir
Not needed since cabal-install moved to another repo.
Duncan Coutts dcoutts TAG 1.2.0 6ffb2e2
Malcolm.Wallace nhc-options should be spelled nhc98-options 50609e0
Malcolm.Wallace Fix various mispellings of nhc98. c75898f
Malcolm.Wallace spell nhc98-options correctly 1280873
igfoo igfoo TAG 2007-09-06 8d74a23
Malcolm.Wallace fix broken #ifdefs for nhc98 49586d0
Malcolm.Wallace fix type clash: Data.Version -> Distribution.Version 256a57e
clefru clefru Add shared library building to GHC module (also via Makefile) 748a626
clefru clefru Update D.S.GHC/Makefile.hs 1d16d42
Commits on Sep 07, 2007
Simon Marlow warning police cd256ed
Commits on Sep 11, 2007
igfoo igfoo Don't forcibly append "pkgName (package pkg_descr)" to htmldir 6821345
Commits on Sep 12, 2007
igfoo igfoo Add a --htmldir flag dd1b4c3
igfoo igfoo Add htmlDirTemplate to inplaceDirs d9f2da4
igfoo igfoo Fix haddockDir 7b6b86a
Duncan Coutts dcoutts Use confgurations to help build Cabal for ghc-6.2.x
Replacing a long-standing comment telling people how to do it manually.
Duncan Coutts dcoutts Don't create empty data dirs. Fixes bug #153.
Patch contributed by Sven Panne.
Simon Marlow use OPTIONS instead of OPTIONS_GHC for now, the latter doesn't work w…
…ith GHC 6.2.x
Commits on Sep 13, 2007
igfoo igfoo Add a boring file 7dae1b1
Thomas Schilling nominolo Display warning if sections are found within other sections. This
most likely represents an error (missing colon after field name).

This patch is only for the Cabal 1.2 branch; the proper fix requires
more complex changes.
Commits on Sep 17, 2007
Duncan Coutts dcoutts Put _stub.{c|h} files under dist/ so they'll get cleaned. Fixes bug #154

Only used with ghc-6.6 and later which supports the -stubdir flag.
With earlier ghc versions the files still end up in the src dirs and so do not
get cleaned.
Duncan Coutts dcoutts look in odir for source and .hs files, not buildDir lbi
odir = buildDir lbi for the lib case, which is why it worked most of the time
in testing but in the exe case it's a different dir.
Duncan Coutts dcoutts Correct the verbosity range in the "--help" text
The correct range in 0--3, not 0--2 or 0--5
Duncan Coutts dcoutts Put setup program and setup .o/.hi files into dist/setup
That way they get cleaned automatically and do not clutter the top dir.
Duncan Coutts dcoutts Pass on all the cabal-setup options to cabal, not just unrecognised ones
So for example -v and -w get passed on rather than swallowed by cabal-setup
Duncan Coutts dcoutts Note in .cabal file that we're using a custom build-type ad731ff
Duncan Coutts dcoutts Move expensive conviguration actions inside branch where they're used
We only need to configure the compiler and resolve any "Cabal-Version:"
dependency when we're actually going to compile the Setup.hs program.
We can otherwise save time by not calling ghc and ghc-pkg unnecessarily.
(I only noticed this because I've got >150 registered packages which
causes ghc and ghc-pkg to be very slow to start.)
Commits on Sep 20, 2007
Duncan Coutts dcoutts Add a Distribution.Setup module that re-exports Distribution.Simple.S…

Many Setup.hs files import Distribution.Setup so this unbreaks them.
It's marked DEPRECATED so will generate a warning for scripts that use it.
This patch is only going to the cabal-1.2 branch, not HEAD.
igfoo igfoo Remove some now-unecessary cleaning that causes problems for haskell-src
The code that removes .hs files in the source tree generated from .y files
had a comment:
    XXX: This is actually no longer necessary, but we keep it, so that
    clean works correctly on packages built with an older version of Cabal
This was causing problems for source distributions that include such
generated files (including haskell-src in extralibs).
Commits on Sep 22, 2007
Duncan Coutts dcoutts Fix pre-processing for executables
The pre-processed files should go into the exe's build dir, not the
lib's build dir. Also pre-process main modules, fixing bug #14.
Commits on Sep 23, 2007
igfoo igfoo Fix warnings 115af2d
Commits on Sep 24, 2007
Duncan Coutts dcoutts Don't generate links when dependent docs not installed. Fixes bug #157.
Generates a warning rather than failing as before.
Commits on Sep 25, 2007
Thomas Schilling nominolo Translate flat files into sectionized files, by duplicating global
dependecies into each non-empty section.  The previous solution dumped
them into the library section, even if it would have been empty
Thomas Schilling nominolo Improve error messages for failed sanity checks. ceabbae
Duncan Coutts dcoutts Be more fuzzy with os, arch and impl matching in conditions. Fixes bug

Do all the comparisons case insensitively and add some OS aliases so that
if os(windows)  works if the System.Info.os is actually "mingw32".
Commits on Sep 26, 2007
Duncan Coutts dcoutts The -stubdir flag is supported in ghc-6.6 not just 6.6.1 d01d5f2
Duncan Coutts dcoutts Actually -stubdir only works well in ghc-6.8 due to -I search dir mess
In ghc-6.6 the Foo/Bar.hc files only #include "Bar_stub.h" rather than
#include "Foo/Bar_stub.h". This means when we set the stubdir so that the
_stub.h files don't sit next to the .hs file then the include search path
is not right to find the _stub.h file. In ghc-6.8 this is fixed so that
it adds the -stubdir path to the include search path when calling gcc.
clefru clefru Add -package-name to GHC invocation when linking DSOs 11f2319
Commits on Sep 27, 2007
clefru clefru Add extra-libs to shared library linking 6f9694a
Commits on Oct 04, 2007
bjorn Haddock comment for the available dependencies argument to finalizePa…
Commits on Oct 05, 2007
bjorn Fix GenericPrackageDescription pretty printing to make it parsable. I…
…t still does not include all information.
bjorn Expose parseDescription. 02f6cfd
Commits on Oct 06, 2007
bjorn Rename parseDescription to parsePackageDescription.
This should be pushed to cabal-1.2 to make cabal-install work with 1.2.
bjorn Remove commented-out code.
Push to 1.2.
Commits on Oct 11, 2007
Duncan Coutts dcoutts Use -O2 for compiling .c files when we configure --enable-optimization
Seems a reasonable default behaviour.
Commits on Oct 12, 2007
Duncan Coutts dcoutts Update documentation on configurations
Describe the new syntax and make variuous changes to the
description of the meaning.
Duncan Coutts dcoutts Add logging functions notice, info, debug functions and use them cons…

We previously had this kind of code all over the place:
> when (verbosity >= verbose)
>      (putStrLn "some message")
We now replace that with:
> info verbosity "some message"
Much nicer.
Commits on Oct 13, 2007
bjorn Pass -w -v0 to ghc when compiling Setup.{lhs,hs} in SetupWrapper when…
… verbosity == silent.
bjorn Change --verbosity= option of SetupWrapper (cabal-setup) to --verbose…
…=, since that is what the rest of Cabal uses.
bjorn Pass -c (silent create) to ar when verbosity < normal. fc3012c
Commits on Oct 14, 2007
Duncan Coutts dcoutts Move ghcVerbosity function into GHC module to share code 424cb23
Commits on Oct 16, 2007
Duncan Coutts dcoutts Change the handling of cpp & ghc flags for hsc2hs
The hsc2hs that comes with ghc uses ghc as the C compiler. This means we must
escape the real cc flags. It also means we can ask ghc to add extra include
dirs that we might need to find includes of dependent packages. This is a bit
of a hack. In the longer term it'd be better for Cabal to collect the include
dirs and cc options of dependent packages and to pass them explicitly itself.
bjorn When parsing ghc-pkg output, only look at the first package.conf file…
… for GlobalPackageDB and SpecificPackageDB, and all package.conf files for UserPackageDB.

Before, we would consider user packages when fulfilling dependencies
for global installs. ghc-pkg will refuse to install packages globally if they
use user packages. Thus, without this patch, global installs can fail when you have user packages installed.
Commits on Oct 17, 2007
Duncan Coutts dcoutts Figure out if hsc2hs is using gcc or ghc as it's C compiler
and pass the appropriate flags on the basis of knowing that.
This is a hack.
What we should do longer term is make hsc2hs always use gcc as it's C compiler
and have Cabal figure out the right flags to pass it, rather than using ghc
to pass on the appropriate flags to gcc.
Duncan Coutts dcoutts Add a "cpp-options:" field and use it for pre-processing .hs .hsc .ch…
…s files

This is for pre-processing Haskell modules, not for C code. We already have
cc-options for that purpose. Up 'til now people have been abusing ghc-options
for this purpose. Even Cabal itself was guilty of doing that.
Duncan Coutts dcoutts Use cpp-options rather than abusing ghc-options
Cabal-1.2 branch version of an equivalent patch in Cabal HEAD
Duncan Coutts dcoutts Bump minor version number to 1.2.1
We've added a couple minor features since 1.2.0
Commits on Oct 18, 2007
Duncan Coutts dcoutts Update changelog for 1.2.1 ae39153
Duncan Coutts dcoutts Correct the spelling of mingw32 in os alias list
RossPaterson RossPaterson don't fail if xxx_hsc_make.c is gone
The non-GHC hsc2hs deletes it even if the compilation fails.
Simon Marlow FIX GHC bug #1785: use 2048 as the maximum command-line size
Apparently Solaris sets a limit of 2048 here
Commits on Oct 19, 2007
Simon Marlow refinement of fix for #1785: don't use xargs' -s option at all ac034ec
Commits on Oct 21, 2007
David Waern Add support for Haddock 2.0 d184b51
Commits on Oct 22, 2007
RossPaterson RossPaterson typo in comment 6dc754f
Commits on Oct 23, 2007
Duncan Coutts dcoutts Be explicit about the base version dependency
don't just leave it up to the default search order
Simon Marlow Refuse to run any commands if the .cabal has been modified
See GHC bug #1372
This is a consistency check, intended to prevent this class of build

   * Package P is updated, its version number is bumped, the
     new version is compiled and installed.

   * Package Q depends on P.  Q is modified to use the new P, and Q's
     .cabal file is updated with changes to the build-depends field to
     depend on the new version of P.

   * The user has an old build of Q.  They pull the changes to Q and
     'setup build' without cleaning or re-configuring.  Build errors
     ensue, because the code of Q depends on changes to P's API, and
     we're still building against the old P.

Note that you can't get segfaults this way, only build errors.

This also relies on some new consistency checking in GHC 6.8 to work
properly.  If the user re-configures their Q build and then issues
'setup build' without cleaning, GHC must now realise that the package
flags have changed, and re-compile all the affected Q modules.  GHC
6.6 would not do this, but 6.8 does.
Duncan Coutts dcoutts Only use ld -x on systems where ld supports that.
Hopefully this fixes it for both ordinary builds and via ghc makefiles.
Duncan Coutts dcoutts Regenerate GHC/Makefile.hs from GHC/ eb158ad
RossPaterson RossPaterson pass cpp-options to cpphs b0c4f23
Commits on Oct 24, 2007
Duncan Coutts dcoutts Create temp files in dist, since it is now guaranteed to exist 320bc55
Duncan Coutts dcoutts Create the dist/ dir early in the configuration process 50de1a4
Duncan Coutts dcoutts Compile a .c rather than a .hs file to make a .o file in ld -x config…
…ure test

Since when bootstrapping ghc we're not in any position to compile .hs files
that easily.
Duncan Coutts dcoutts Adjust verbosity of a step in configure b34f7d2
David Waern Fix a bug in the Unlit pre-processor
With this patch, unlit can handle line pragmas with filenames that contain
Commits on Oct 26, 2007
Simon Marlow fix XML (at least, makes it work here) c61588d
Simon Marlow fix $(TOP) 01dc33d
Simon Marlow put the binary-dist copy in the right place de87b40
RossPaterson RossPaterson fix help text (--PROG-arg is now --PROG-option) 5a535ac
RossPaterson RossPaterson no longer need to pass --ghc-pkg to haddock
Haddock only runs ghc-pkg if invoked with --use-package, and Cabal no
longer uses that option, as it now gets the arguments for --read-interface
from ghc-pkg directly (cf patch "rejig location of package interfaces
for haddock").
RossPaterson RossPaterson no longer need to pass --allow-missing-html to haddock
This option only affects Haddock if it is invoked with --use-package,
and Cabal no longer uses that option, as it now gets the arguments for
--read-interface from ghc-pkg directly (cf patch "rejig location of
package interfaces for haddock").
Commits on Oct 29, 2007
igfoo igfoo Add an interfacedir configure flag, for where to put haddock insterfa…
…ce files
Commits on Oct 30, 2007
igfoo igfoo Install the haddock interface file to the right place a2b66d4
Commits on Nov 01, 2007
Duncan Coutts dcoutts Bump version number to
and update changelog
Duncan Coutts dcoutts TAG 5dbe6ca
Commits on Nov 05, 2007
Simon Marlow fix compilation with GHC 6.2.x 09a350b
Commits on Nov 08, 2007
Duncan Coutts dcoutts Add language extensions introduced in GHC 6.8 9478bf2
Duncan Coutts dcoutts Make the ld -x test use the temp dir rather than dist dir
Should fix cabal-install.
Commits on Nov 09, 2007
Duncan Coutts dcoutts Add extensions that ghc-6.6 supports e3cb6fb
Duncan Coutts dcoutts The extension is NoMonoPatBinds not MonoPatBinds 2607be5
David Waern Do proper pre-processing for Haddock 2
Besides pre-processing, this patch adds include paths and output paths
to the ghc flags passed to Hadddock.
Commits on Nov 10, 2007
igfoo igfoo TAG GHC 6.8.1 release 016bea0
igfoo igfoo Fix haddock interface file location used when registering inplace pac…

This fixes inter-package doc links when building GHC.
Commits on Nov 14, 2007
Duncan Coutts dcoutts Fix configure --interfacedir=
bug #178
Commits on Nov 15, 2007
Duncan Coutts dcoutts Bump version number to
and update changelog
Commits on Nov 16, 2007
Duncan Coutts dcoutts Export PreProcessor constructor and mkSimplePreProcessor
Otherwise it is impossible to declare new pre-processors in Setup.hs files
Commits on Nov 20, 2007
Duncan Coutts dcoutts Fix finding ghc's ld.exe on windows.
It looks like it had worked but the ld -x test broke that too. Grr.
Commits on Nov 23, 2007
Simon Marlow FIX BUILD with GHC 6.2: getTemporaryDirectory wasn't available 58eaea4
Duncan Coutts dcoutts Workaround import bug in nhc98
Cabal can now build using itself and nhc98
Commits on Nov 26, 2007
igfoo igfoo Fix what looks like a doc braino bf0f775
igfoo igfoo Escape some special characters in the haddock docs 1b9733b
igfoo igfoo Fix a broken link 45319e0
igfoo igfoo Escape some special characters 6413437
Commits on Nov 29, 2007
Duncan Coutts dcoutts Bump version to and update the changelog
There was one minor api addition which requires the minor version bump
Commits on Dec 02, 2007
Duncan Coutts dcoutts make rawSystemStdout put its temp files in the temp dir rather than cwd
Should fixe reported wierdness with finding program version numbers
Commits on Dec 06, 2007
Duncan Coutts dcoutts Use a default HsColour CSS if available
Supported in HsColour 1.9 and later
Commits on Dec 07, 2007
Duncan Coutts dcoutts Fix hscolour code so it only outputs the css once per-lib or exe
Rather than for every module in the lib. Tidy the code up a little too.
Commits on Dec 08, 2007
Duncan Coutts dcoutts Add more to the user guide intro trying to explain the scope and use …
Commits on Dec 09, 2007
David Waern Support --hyperlink-source for Haddock >= 2.0 2e8e254
Commits on Dec 10, 2007
Judah Jacobson judah Add -framework arguments when linking executables. 17a50b2
Commits on Dec 12, 2007
Duncan Coutts dcoutts TAG 7c78e99
Commits on Dec 15, 2007
igfoo igfoo TAG GHC 6.8.2 release 31f9987
Commits on Dec 27, 2007
clefru clefru Fix haddock parse error ($prefix -> \$prefix) 20973e3
Commits on Dec 28, 2007
Duncan Coutts dcoutts Use getTemporaryDirectory from Distribution.Compat.Direcotry
for compatability with ghc-6.2.2
Duncan Coutts dcoutts Use os(windows) not os(win32) in user guide configurations example
Spotted by Spencer Janssen
Commits on Dec 31, 2007
Adam Langley agl Ticket 176: Fix verbosity error to include the valid -v values c9f48c3
Commits on Jan 16, 2008
igfoo igfoo Comment out an unused binding 7f18d1e
Commits on Jan 24, 2008
Duncan Coutts dcoutts Update user guide on reporting bugs and stability of cabal interfaces
Fixes ticket #11. Though the section could do with a bit more detail.
It corresponds to what's on the wiki:
Commits on Jan 25, 2008
RossPaterson RossPaterson flush stdout before running subprograms
This is needed to separate Cabal and subprogram output if stdout is
buffered (e.g. a file), especially if stdout and stderr are the same.
Commits on Jan 26, 2008
Duncan Coutts dcoutts Remove examples dir which seemed rather pointless 83f31e3
Duncan Coutts dcoutts Simplify default Setup.hs example
make it a .hs like everyone else uses
Duncan Coutts dcoutts Remove the debian/ and debianTemplate/ files since they never get upd…

so they are almost certainly useless to the debian folks anyway.
Commits on Jan 31, 2008
Duncan Coutts dcoutts Use Setup.hs like everyone else does
and note the issue about custom vs simple build-type for Cabal itself.
Duncan Coutts dcoutts Find original sources for main-is when creating sdist
Also add a package sanity check that main-is must specify a .hs or .lhs file.
So the bahaviour is now that main-is specifies the main source file, even if
that is generated by a pre-processor. This isn't really a change in behaviour
since previously if you specified main-is: main.hsc then it would try to
pass the .hsc file to ghc dirctly which would not work. For ticket #14 things
were fixed to that it would look for main.hsc if you used main-is: main.hs an
that file did not exist directy. This completes the other half, of actually
being able to make a src distribution. So this should fix bug #217.
Note that this still needs some work, we do not run platform-independent
preprocessors and put the result into the tarball for main-is files.
Generally, main-is has been the second class citizen compared to normal
modules. We should try and refactor so both use the same code paths.
Commits on Feb 11, 2008
Duncan Coutts dcoutts Document main-is behaviour with preprocessors abff7be
Commits on Feb 22, 2008
Duncan Coutts dcoutts Remove the old attic file f682f36
Commits on Feb 23, 2008
Duncan Coutts dcoutts Make the user guide docbook xml validate 0fff0fb
Commits on Feb 25, 2008
Duncan Coutts dcoutts Specify in the user guide that .cabal files must be valid UTF-8 8d501d2
Commits on Mar 03, 2008
Thomas Schilling nominolo Clarify commenting rule for package description files. 98462af
Thomas Schilling nominolo Fix speling. 808a34e
Commits on Mar 07, 2008
Duncan Coutts dcoutts When generating default Setup.hs use defaultMain
not defaultMainWithHooks defaultUserHooks since the latter is deprecated
Commits on Mar 08, 2008
Duncan Coutts dcoutts Fix rejection of non-ambigious options
This GetOpt patch was sent the the libraries list by Eelis van der Weegen
with the explanation:
There is a bug in System.Console.GetOpt causing it to mistakenly reject
options as ambiguous. Example:
  optsDesc = [Option "" ["color", "colour"] (ReqArg id "color") ""]
  option `--col' is ambiguous; could be one of:
      --color=color, --colour=color  Foreground color
      --color=color, --colour=color  Foreground color
This error is silly, because the two alternatives listed are the same option.
Commits on Mar 27, 2008
Duncan Coutts dcoutts We do not show the field value on a parse error so don't pretend we do.
Drop the trailing ": " on the error message. We could provide the field
value but they're often multi-line and we cannot pin-point where the
error is exactly.
Commits on Apr 23, 2008
Duncan Coutts dcoutts When multiple specifying list fields in the same section combine them
eg if you had:
extensions: Foo
extensions: Bar, Baz
then previously we only ended up with [Bar, Baz]. Now we get them all.
Only applies to list fields, for single fields the second value is taken
and the first is silently discarded. This isn't good of course but the
fix is harder since we're not in a context where we can report errors.
Really we should just declare up front what kind of field it is and
inherit the right behaviour automagically, either duplicates disallowed
or allowed and combined with mappend.
Commits on Apr 27, 2008
igfoo igfoo MERGED: fix 'clean' bug on windows caused by leaked Handle.
Andrea Vezzosi <>**20080318161237
 Using readFile to read dist/setup-config keeps the Handle open when we try to delete the file, causing an error. 
  So we instead read the file strictly and close the Handle early.
Commits on May 29, 2008
Duncan Coutts dcoutts Fix backport of 'Find original sources for main-is when creating sdist'
Required an extra util function.
Duncan Coutts dcoutts Bump version number to
And update the changelog.
There should be no incompatible API changes or incompatible
behaviour changes. There are a number of compatible API extensions
and behaviour fixes. In particular this gives us a limited amount of
forward compatabilty with Cabal-1.4, ie there are things that work
in 1.4 that would break with but should work with