Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, 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 Jul 17, 2007
@nominolo nominolo Add simpler representation of a .cabal file with conditions. 3baa403
Commits on Jul 19, 2007
@nominolo nominolo Change CondTree data structure to something more flexible.
This also requires some interface changes.
@nominolo nominolo Adopt new CondTree data structure.
'finalizePackageDescription' now also takes dependencies of
executables into account.
@nominolo nominolo Filter duplicate dependencies. 77fc5bd
@nominolo nominolo Re-enable and extend test case. 7e6a0b5
@nominolo nominolo Add function 'ignoreCondition'. 6ebd02f
@nominolo nominolo Minor. Moved some code. 0dc8f86
Commits on Jul 28, 2007
@nominolo nominolo Add/Fix test cases 4d1b573
@nominolo nominolo Add documentation 17bb612
@nominolo nominolo Add documentation 44126f7
@nominolo nominolo Avoid reporting the same missing dependecy twice. 6adc754
@nominolo nominolo Add function 'flattenPackageDescription'. 23552c6
@nominolo nominolo Modify test case. 773fd0f
@nominolo nominolo Minor documentation fix. 91ea87f
@nominolo nominolo Export 'flattenPackageDescription'. 5ce6e3a
@nominolo nominolo Store resolved package description in local build info.
The clean and sdist commands need to use a flattened representation of
the original description.  Note the notes for
flattenPackageDescription for some problems with this approach.
@nominolo nominolo Let sdist command run the preprocessors itself. This way we don't
have to put stuff into the source tree.
@nominolo nominolo Add note to 'clean' that it could be simpler, but for compatibility
reasons isn't (for now).
@nominolo nominolo Change HUnit module path to Test.HUnit (the default now). a9edcfe
@nominolo nominolo Rename field. 9869998
@nominolo nominolo Fix conflicts. Fix for changed argument to 'preprocessSources'. f42fcb5
Commits on Jul 29, 2007
@igfoo igfoo Resolve conflicts a4f2171
@igfoo igfoo Add a missing case in updateCfg 9d426d0
@igfoo igfoo Pass ghc -package flags when using it as a C compiler in GHCMakefile
This means we get the CPP include directories included.
@igfoo igfoo Fix haddock markup
I haven't checked that it looks right, but it is now accepted by haddock.
Commits on Jul 30, 2007
@nominolo nominolo Fix self-compile warnings. 456a265
@nominolo nominolo Display a more helpful error message, when unknown fields are
@nominolo nominolo Add line numbers to unknown fields error message. 5cb7e95
@nominolo nominolo Fix order of warnings. cf51359
Commits on Jul 31, 2007
@dcoutts dcoutts -Wall police bfde7f9
@dcoutts dcoutts Move the haddock code out into it's own module
It removes about 250 loc from Distribution.Simple
Commits on Aug 01, 2007
Simon Marlow FIX compilation with GHC 6.2.x c3b9f37
@dcoutts dcoutts extraArgs should override args in command lines
besides, the order was inconsistent within the same function between the
UserSpecified and FoundOnSystem cases.
@nominolo nominolo Cleanup. fix line length cef1fe4
@dcoutts dcoutts Make all the pre-processors use the Program abstraction b649c6b
@dcoutts dcoutts Clean up calling of ar, make it use Program abstraction 83d3a09
@dcoutts dcoutts Clean up cpphs/ghc -cpp preprocessor code
Now better separated and uses Program better.
Also no longer needs internal lookupProgram' utils function.
@dcoutts dcoutts Add programPath :: Program -> FilePath
At the moment it's a partial function, but we should change that by having
a distinction between an abstract program and a configured program.
@dcoutts dcoutts Simplify rawSystemProgram using programPath b5ecc50
@dcoutts dcoutts Make the Compiler abstraction use the Program abstraction
So out with compilerPath :: FilePath, in with compilerProg :: Program
Similarly for compilerPkgTool.
Lots of knock-on changes due to this, including converting many more uses of
rawSystemExit to rawSystemProgram.
@igfoo igfoo Cabal now depends on teh containers package 614fc40
Commits on Aug 02, 2007
@dcoutts dcoutts Add readVersion convenience function to Distribution.Version
So it's merely readVersion :: String -> Maybe Version
Having to use readP_to_S parseVersion all over the place is annoying.
@dcoutts dcoutts Fix name of flag in error message 4153264
@nominolo nominolo Add impl(...) conditional to configurations.
You can now use expressions like impl( ghc >= 6.6.1 ) in conditionals
in .cabal files.
@dcoutts dcoutts Remove redundant configure flags, missed bits of previous refactoring. 7347bed
@dcoutts dcoutts Tidy some imports/exports 9575ce5
@dcoutts dcoutts Add version field to Program and add findProgram(AndVersion) utilities
findProgram and findProgramAndVersion construct Program values
The latter makes it easier to parse output of --version calls.
The idea is that we should carry the version number along with the program
if we know it, so we can later decide version-dependent args without having
to do more IO to find the program version, eg see use_optP_P & haddockVersion.
@dcoutts dcoutts Alter version parse error message to make it clearer ee06505
@dcoutts dcoutts Put the haddock and hscolour version numbers in the global ProgramCon…

We do this during the configure step and then later we don't have to run
haddock & hscolour again to find out their version numbers.
This also eliminates some annoying module interdependencies.
Eventually the Program abstraction ought to include the ability for programs
to discover their own version numbers so it can be done more modularly.
@dcoutts dcoutts Remove Distribution.Simple.Configure.findProgram as it's no longer used 3050cfe
@dcoutts dcoutts Change Compiler's compilerVersion fild to compilerId
Of type PackageIdentifier rather than Version.
@dcoutts dcoutts -Wall police 28f0428
Commits on Aug 03, 2007
@dcoutts dcoutts Move the SetupWrapper module under Distribution.Simple
It's really a wrapper around the simple build system.
@nominolo nominolo Add documentation for Cabal Configurations. 271331d
@nominolo nominolo Fix tab in Cabal.cabal. 3b72df8
@nominolo nominolo Disallow tabs .cabal files with new syntax bc3b239
@nominolo nominolo Fix printing of 'impl' checks. 1223080
@nominolo nominolo Fix import path to HUnit. 256ff59
@nominolo nominolo Change error message for tabs used as indentation to something more
@dcoutts dcoutts Clean up rather un-sbstract use of Compiler in configure 7f82d9b
@dcoutts dcoutts Move compiler-specific code for configurion into compiler modules
There's slightly more code overally but it's no longer incomprehensible
because it's not all mixed together for all the different compilers.
@nominolo nominolo Split up make target for documentation generation. Allows to build
the user's guide separately from the Haddock documentation.
Commits on Aug 04, 2007
@dcoutts dcoutts Fix haddock markup for finalizePackageDescription ffd90c7
@dcoutts dcoutts Make the writing registration script message less silly c5cb9e2
@dcoutts dcoutts Add message saying where haddock docs got put
And make the similar message for sdist respect the verbosity
@dcoutts dcoutts Less confusing haddock command output when there are no libs in the p…

It says:
> No documentation was generated as this package does not contain a library.
> Perhaps you want to use the haddock command with the --executables flag.
@dcoutts dcoutts Improve hangling of the title and prolog for haddock docs
Only include ": " in the title if it has a synopsis to use as subtitle
Use the description as the prolog, or if that's empty we use the synopsis.
Do the same for executables, fixing bug #142.
@dcoutts dcoutts Remove compilerBinaryName, use compilerId instead 1666bd2
@dcoutts dcoutts Try and simplify cleaning by always removing dist
so we don't have to individually track all the files we create
we still have to delete a few files outside of the build dir sadly
the configuration is still preserved if you specify --save-configure
@dcoutts dcoutts Put the generated haddock-prolog file under dist eec66d2
@dcoutts dcoutts normalise the input and output file names when pre-processing
eg so we don't call cpp with ././src/blah -o ./dist/blah
since those ././ can end up in error messages.
@dcoutts dcoutts Correct the location of the haddock dir in inplace registrations 2a072e9
@dcoutts dcoutts Add setup register --gen-pkg-config flag for distros that want that.
It generates the actual file to be passed to the compiler's package program.
This is obviously compiler-specific.
@dcoutts dcoutts Don't complain about AllRightsReserved licenses
That can be done in hackage when people try to upload. Fixes bug #127.
@igfoo igfoo Add TypeFamilies extension dc48982
@igfoo igfoo extensionToGHCFlag is now version dependent, and uses -XFoo flags for…
… >=6.7
@igfoo igfoo Add StandaloneDeriving extension 52ebc69
Commits on Aug 05, 2007
@igfoo igfoo Pattern match on an OS datatype rather than using ifdef everywhere 19f18f1
@igfoo igfoo Ask the compiler what languages it supports, when possible 2add559
Commits on Aug 06, 2007
@nominolo nominolo Allow querying for the wildcard version range. 84cb848
@nominolo 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.)
@nominolo nominolo Cosmetic cleanup (fix line length) 187a93d
@nominolo 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
@dcoutts dcoutts Make things build with ghc-6.6.x rather than just ghc HEAD
filepath-1.0 does not export dropDrive
@dcoutts dcoutts Remove use of cpp in Distribution.System
base it off of the System.Info.os string rather than cpp defs
@dcoutts dcoutts Remove more os-specific cppery
The only difference for this one was / vs \\ path separators
@nominolo nominolo Re-enable and update unit tests. 5866b29
@nominolo nominolo Fix translation of deprecated fields. Add test case. 441968b
@nominolo nominolo Fix error message. 275eab3
@nominolo nominolo Add a little documentation. f026a91
@dcoutts dcoutts Use String rather than importing a module just to misuse a String typ…
…e alias
@dcoutts 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.
@dcoutts dcoutts remove unused local vars cfa1b6c
@dcoutts 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
@dcoutts 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
@dcoutts dcoutts update ghc-pkg field parse error message f62e2d3
Commits on Aug 14, 2007
@dcoutts dcoutts ghc only supports the -x flag in 6.6 and above 2fd17f2
@dcoutts 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
@dcoutts 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
@dcoutts dcoutts Add some extra functions to Compat.Map that we'll need later 45fa5e1
@dcoutts 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.
@dcoutts 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.
@dcoutts 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.
@dcoutts dcoutts Trivial reformatting b7ec438
@dcoutts 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
@dcoutts dcoutts The prologue.txt is not needed for anything
The text from the description is now used for haddock
@dcoutts dcoutts The prologue.txt is not needed for anything
The text from the description is now used for haddock
Commits on Aug 23, 2007
@dcoutts dcoutts Fix register --gen-script
It's still useless on Windows.
@dcoutts dcoutts Swap haddock inplace/install dirs that were accidentally the wrong wa…
…y round
@dcoutts 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).
@dcoutts 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.
@dcoutts 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.
@dcoutts 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".
@dcoutts 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
@dcoutts dcoutts Remove unused --enable-haddock-use-packages flags
The feature they controled had been removed but
the --enable/disable flag had not been removed.
@dcoutts 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=
@dcoutts 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.
@dcoutts 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.
@dcoutts dcoutts Add install-includes .h files to the sdist tarball d5a809d
@dcoutts dcoutts Update documentation on install-includes field ba520cd
@dcoutts 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
@nominolo 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
@dcoutts 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
@dcoutts dcoutts remove unused imports 1159b8f
@dcoutts dcoutts correct copy'n'pasted comment 38b5c4f
@dcoutts dcoutts Use dllExtension rather than reimplementing it locally f3c31c7
Commits on Aug 26, 2007
@dcoutts 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
@dcoutts dcoutts Move defaultCompilerFlavor into Distribution.Compiler f275e0d
@dcoutts dcoutts Rename searchPath to findProgramOnPath e6d7cfc
@igfoo igfoo Rejig the register code a bit 7d2b30c
Commits on Aug 29, 2007
@dcoutts dcoutts More register cleanups to do with ghc-pkg args bb1d5d1
@dcoutts 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.
@dcoutts dcoutts Add rawSystemProgramStdout, the Program variant of rawSystemStdout 3857d0e
@dcoutts 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.
@dcoutts 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.
@dcoutts 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
@dcoutts 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.
@dcoutts dcoutts Install license file into docdir rather than datadir 8046c81
@dcoutts 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
@dcoutts dcoutts Update user guide on Windows installation paths, and add default for …
@dcoutts 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.
@dcoutts 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
@dcoutts 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.
@dcoutts 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.
@dcoutts dcoutts Add a pkgconfig-depends: field to the .cabal file f7b16a6
@dcoutts 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
@dcoutts 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.
@dcoutts 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
@dcoutts dcoutts Don't use normalise when parsing configure arguments fed5e4d
@dcoutts 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.
@dcoutts 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
@dcoutts 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
@dcoutts dcoutts Change --configure-option= to --configure-arg=
For consitency with other flags.
@dcoutts dcoutts Rename --prog-args to --prog-options
amd --prog-arg to --prog-arg and update the user guide.
Commits on Sep 03, 2007
@dcoutts dcoutts Remove register --with-hc-pkg flag
It was just a hack for the benefit of ghc and we don't need it now.
@dcoutts dcoutts Make userSpecifyArgs update the args even if the prog is configured a…
@dcoutts 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.
@dcoutts dcoutts Fix haddock markup
Thanks to int-e for reporting
@dcoutts dcoutts Oops, fix Distribution.Make ac89930
@dcoutts 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
@dcoutts 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
@dcoutts 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.
@dcoutts dcoutts Update changelog 14784b9
@dcoutts dcoutts Use layout rather than braces {} for sections in our own .cabal file
Since we can and we want to set a good example.
@dcoutts dcoutts Fix haddock markup 4da27e1
@dcoutts dcoutts Bump version number to 1.2.0 34abfe0
@dcoutts dcoutts note need to use -i when bootstrapping ghc, and update coders list b87ca33
@dcoutts dcoutts Remove now-empty dependencies dir
Not needed since cabal-install moved to another repo.
@dcoutts 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
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
@dcoutts dcoutts Use confgurations to help build Cabal for ghc-6.2.x
Replacing a long-standing comment telling people how to do it manually.
@dcoutts 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
@nominolo 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
@dcoutts 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.
@dcoutts 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.
@dcoutts dcoutts Correct the verbosity range in the "--help" text
The correct range in 0--3, not 0--2 or 0--5
@dcoutts 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.
@dcoutts 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
@dcoutts dcoutts Note in .cabal file that we're using a custom build-type ad731ff
@dcoutts 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
@dcoutts 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
@dcoutts 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
@dcoutts 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
@nominolo 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
@nominolo nominolo Improve error messages for failed sanity checks. ceabbae
@dcoutts 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
@dcoutts dcoutts The -stubdir flag is supported in ghc-6.6 not just 6.6.1 d01d5f2
@dcoutts 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.
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
@dcoutts dcoutts Use -O2 for compiling .c files when we configure --enable-optimization
Seems a reasonable default behaviour.
Commits on Oct 12, 2007
@dcoutts dcoutts Update documentation on configurations
Describe the new syntax and make variuous changes to the
description of the meaning.
@dcoutts 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
@dcoutts dcoutts Move ghcVerbosity function into GHC module to share code 424cb23
Commits on Oct 16, 2007
@dcoutts 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
@dcoutts 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.
@dcoutts 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.
@dcoutts dcoutts Use cpp-options rather than abusing ghc-options
Cabal-1.2 branch version of an equivalent patch in Cabal HEAD
@dcoutts 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
@dcoutts dcoutts Update changelog for 1.2.1 ae39153
@dcoutts 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.