Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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 14, 2005
Einar Karttunen Make haddock support documentation in hidden modules. c7dd8f5
Commits on Aug 11, 2005
@SyntaxPolice SyntaxPolice bugfix for linking profiling + ffi stub files 02c27cb
Commits on Aug 16, 2005
@SyntaxPolice SyntaxPolice cvs commit from ross.
  * rename other-files as extra-source-files
  
  * new field extra-tmp-files
68b6152
@SyntaxPolice SyntaxPolice fixed test suite, added backward-compat checker for other-files e0ec810
@SyntaxPolice SyntaxPolice fixed bug for odirs for executables in ghc > 6.4.1. UNTESTED. a8f84cc
Commits on Aug 24, 2005
@dcoutts dcoutts Use .tar.gz for source package extension and tweak sdist info message. 3ad8377
Commits on Aug 25, 2005
@SyntaxPolice SyntaxPolice so much TODO cfa42dd
@SyntaxPolice SyntaxPolice cvs pull from Ross; invoke configure w/o sh
  Invoke the configure program (if present) directly instead of using sh,
  except under MinGW, where #! won't work.  (Problem noted by Frederik Eaton)
e3f9522
@SyntaxPolice SyntaxPolice ross fixed the portability tags 594e10f
Commits on Sep 05, 2005
@SyntaxPolice SyntaxPolice added -D__GLASGOW_HASKELL__ for hcDefines, probably needed by cpp d71352c
@SyntaxPolice SyntaxPolice resync w/ cvs where Ross beat me to the punch on the GLASGOW_HASKELL …
…thing
136b35c
Commits on Sep 06, 2005
@SyntaxPolice SyntaxPolice removed nub for ghc-options, which was causing flags like -package fo…
…o -package bar to not work.
8b3c65a
Commits on Sep 08, 2005
@SyntaxPolice SyntaxPolice First stab at command-hooks
That is, hooks to override basic behavior of configure, install, etc.
Basic use case for this is in over-riding the "install" behavior for
cgi-bin tools.


In addition to the existing hooks, that gives us:


     confHook :: PackageDescription -> ConfigFlags -> IO LocalBuildInfo,
     buildHook :: PackageDescription
               -> LocalBuildInfo
               -> Int                 -- verbose
               -> [ PPSuffixHandler ]
               -> IO (),
     cleanHook :: PackageDescription -> LocalBuildInfo -> Int -> [PPSuffixHandler] -> IO (),
     copyHook :: PackageDescription
              -> LocalBuildInfo
              -> (Maybe FilePath,Int) -- ^install-prefix, verbose
              -> IO (),
     instHook :: PackageDescription
              -> LocalBuildInfo
              -> Int -- verbose
              -> Bool -- user install?
              -> IO (),
     sDistHook :: FilePath -- ^build prefix (temp dir)
               -> FilePath -- ^TargetPrefix
               -> Int      -- ^verbose
               -> Bool     -- ^snapshot
               -> [PPSuffixHandler]  -- ^ extra preprocessors (includes suffixes)
               -> PackageDescription
               -> IO (),
     regHook :: PackageDescription -> LocalBuildInfo -> RegisterFlags -> IO (),
     unregHook :: PackageDescription -> LocalBuildInfo -> RegisterFlags -> IO (),
     haddockHook :: PackageDescription -> LocalBuildInfo -> Int -> [PPSuffixHandler] -> IO (),
     pfeHook :: PackageDescription -> LocalBuildInfo -> Int -> [PPSuffixHandler] -> IO ()

I don't really know if these types are good, but they are the types
needed by the "default" hooks which do the guts of the
Distribution.Simple work.  I'm not happy with the handling of
LocalBuildInfo which you can't avoid generating at this point, because
all the post-hooks need it.
b9f87ad
Commits on Sep 13, 2005
@SyntaxPolice SyntaxPolice from ross: update for sdist ad56395
@SyntaxPolice SyntaxPolice patch from krasimir for escaping spaces
BUGFIX: System.Cmd.system was used here but the executable path may
have spaces.  The right way is to use runInteractiveProcess but it isn't
supported from HUGS.  It is easier for a while to quote the path.
377db91
@SyntaxPolice SyntaxPolice prepare for 1.1.3 release 14e7ef6
@SyntaxPolice SyntaxPolice fixes for haddock for 1.1.3 68136b8
@SyntaxPolice SyntaxPolice bump version number post release dd32134
Commits on Sep 28, 2005
@SyntaxPolice SyntaxPolice added verbosity options 75cba00
Commits on Sep 30, 2005
@SyntaxPolice SyntaxPolice adding Program abstraction to cabal ae89120
@SyntaxPolice SyntaxPolice generalizing haddock based on Program type 70740a9
Commits on Oct 01, 2005
@SyntaxPolice SyntaxPolice finished threading configuration stuff to local build info f2676ab
Commits on Oct 09, 2005
@SyntaxPolice SyntaxPolice basic working version of --haddock-args f97bad4
@SyntaxPolice SyntaxPolice make --with-haddock actually work
** did this ever work before?
** cleaned up some comments
** made rawSystemVerbose more robust. Check for file existing, check
for permissions.  Before it was just failing silently.
6421848
@SyntaxPolice SyntaxPolice made generic --with-foo functionality da55e77
@SyntaxPolice SyntaxPolice basic pfesetup support for args and with and such ffc98d2
Commits on Oct 16, 2005
@SyntaxPolice SyntaxPolice cvs pull from ross 5757fdf
@SyntaxPolice SyntaxPolice lots of cvs pulls from Ross, Malcolm, Simon, & Simon
  No reason we shouldn't have Ord on PackageIdentifiers

  Various changes committed in one bunch:
  
   - bindir/libdir/datadir/libexecdir support as discussed on
     librarie@haskell.org.  This should be considered fairly
     experimental.  Full documentation in the manual.
  
   - A module Paths_<pkgname> is autogenerated, you should be able
     to just import this.  (I haven't made this work with Hugs yet, though).
     I suspect I might need to make sure it's available to 'setup haddock'
     too.  Also, I haven't tested this on Windows yet (TODO).
  
   - All installation-paths-related functions are now provided by
     Distribution.Simple.LocalBuildInfo
  
   - some cleaning up of Distribution.Simple.Build as regards GHC support.
  
   - "setup copy" now takes a --destdir argument instead of --copy-prefix
     (the latter is still accepted for compatibility).
  
     Note for autoconf/make users: this means that your Makefile now
     needs to implement a "copy" target, see the manual for details.
  
   - New types: Distribution.Setup.CopyFlags (was previously just a
     pair), and CopyDest (was previously Maybe FilePath).
  
   - Hooks: the post hooks all take a PackageDescription argument now.
     There seemed no reason not to do this, and sometimes it's useful.


  Remove literal tabs in strings.  Not Haskell'98.

  harmonize running of ./confugure between defaultUserHooks and
  Distribution.Make:
  
  * pass through the same set of flags, plus unrecognized options
  
  * select the default compiler before processing options

  Fixes for Windows

  added a simple-minded data-files field.  Also added getDataFileName to
  Paths_<pkg> to save client code from worrying about path separators.
ee88b82
@SyntaxPolice SyntaxPolice fixed conflicts w/ merged changes 1963dd5
@SyntaxPolice SyntaxPolice cleaned up test suite 9f4c23e
@SyntaxPolice SyntaxPolice Added Distribution.Program support for ranlib and ar.
Cleaned up calls to these programs so that they're detected at
configure time, and both have --with-ranlib and --ranlib-args flags
(thanks to Distribution.Program support).
fc8e045
@SyntaxPolice SyntaxPolice cleaned up configure to map over known programs instead of looking fo…
…r them individually.
2c8587f
Commits on Oct 20, 2005
@SyntaxPolice SyntaxPolice cvs pull from malcolm & krasimir
krasimir    2005/10/18 09:45:52 PDT (Configure):
  On Windows datadir should be prefix relative only for executables

malcolm     2005/10/18 02:36:43 PDT (Utils):
  Massage import of System.Directory for nhc98.
a8c499d
@SyntaxPolice SyntaxPolice REMOVED util DEPENDENCY. This will break build for ghc 6.2 :( e41de05
@SyntaxPolice SyntaxPolice wibble 4cf7702
@SyntaxPolice SyntaxPolice removed some tabs 02cb311
Commits on Oct 21, 2005
@SyntaxPolice SyntaxPolice cvs pull from krasimir & simon
  from Neil Mitchell (fixed by Krasimir):
  
  On Windows, the path can be path;"c:\ghc\ghc-6.4\bin";restofpath, and
  thats still a valid path with GHC in it. Cabal doesn't find ghc with
  the quotes in, removing them does find it though.

SimonMar:
  Add Distribution.Program to exposed-modules
05c6ec3
Commits on Oct 25, 2005
@SyntaxPolice SyntaxPolice added version number to unregister command 2e90029
@SyntaxPolice SyntaxPolice docs for Debian release 309ebee
@SyntaxPolice SyntaxPolice importing haskell98 where appropriate 366dc35
Commits on Oct 31, 2005
@SyntaxPolice SyntaxPolice moving TODO items to bug tracker a369271
@SyntaxPolice SyntaxPolice cvs pulls from krasimir and ross
* Ross
  ghcconfig.h is not needed for GHC >= 6.4
  update library links for haddock 0.7 (in Cabal.xml)

* Krasimir
  * The sentence:
  
    An error will be returned from <literal>setup configure</literal> if
    this is not the case.
  
  is replaced with:
  
    If this is not the case then the compiled executable will have baked
    in all absolute paths.

  * The previous implementation for Paths_<pkgid>.hs building was broken on Windows.
  The prefixRel function was expecting that all bindir/libdir/datadir/... paths
  are $prefix relative but the corresponding functions (mkBinDir/mkLibDir/...)
  was returning absolute paths with expanded $path variable. This commit fixes
  the bug and also:
  
     * In LocalBuildInfo are added mkLibDirRel/mkBinDirRel/... functions. They
  return the corresponding but without the $prefix part. When the path isn't
  prefix relative then they return Nothing
     * The restriction that all paths on Windows are $prefix relative is removed.
     * The code in Paths_<pkgid>.hs can contain both absolute and prefix relative
  paths. When the package is configured only with $prefix relative paths then
  the generated executable will be prefix independent and can be moved from one
  directory to another.

  * Paths_<pkg>.hs was generated before each build and this was causing GHC to
  rebuild the package each time. Now it is generated only when it is older than
  .setup-config

  * Change the foreign import syntax to use the standard FFI syntax

  * Two changes to HADDOCK support:
  
      - In the last version only the exposed modules were passed to haddock.
  In order to generate proper documentation all modules should be processed
  from haddock but the non exposed modules should be hiden.
      - Added support for executable packages in Haddock.
fc1aa9b
Commits on Nov 12, 2005
@SyntaxPolice SyntaxPolice Krasimir: Warning message for absolute bindir/libdir/datadir/libexecdir 283009a
@SyntaxPolice SyntaxPolice by Evgeny Chukreev: This patch fixes case when buildinfo file has mor…
…e than one executable block. Without this patch all executables go to void.
02224cb
@SyntaxPolice SyntaxPolice cleaned up test suite for some new behaviors.
Have an unknown error while building "execWithC" for Hugs:

Cases: 11  Tried: 0  Errors: 0  Failures: 0Setup.lhs: Warning: No license-file field.
Setup.lhs: Warning: No license-file field.
dist/build/programs/tt/Main.c: In function 'hugsprim_foo_0':
dist/build/programs/tt/Main.c:16: warning: implicit declaration of function 'foo'
runhugs: Error occurred
ERROR ",tmp/lib/hugs/programs/tt/Main.hs" - Error while importing DLL "/home/ijones/usr/src/haskell/fptools/libraries/Cabal/tests/exeWithC/,tmp/lib/hugs/programs/tt/Main.so":
/home/ijones/usr/src/haskell/fptools/libraries/Cabal/tests/exeWithC/,tmp/lib/hugs/programs/tt/Main.so: unexpected reloc type 0x09
872de78
Commits on Nov 13, 2005
@SyntaxPolice SyntaxPolice Einar Karttunen put together support for haddock-izing hidden modules.
I added a test case.  I'm a bit concerned about munging the modules by
adding a 'hidden' pragma here, but it doesn't seem to cause a problem.
38530c2
Commits on Nov 14, 2005
@SyntaxPolice SyntaxPolice Added hookedPrograms to user hooks.
This allows users to add programs to the list of programs that
configure looks for.  If a user adds a program with this hook,
configure will try to find it, and arguments will be added to
configure for this program.

See test/withHooks for an example.
6996e6c
Commits on Nov 15, 2005
@SyntaxPolice SyntaxPolice new comment in FilePath 1aebbca
@SyntaxPolice SyntaxPolice rolled back patch for hide pragma 708c839
@SyntaxPolice SyntaxPolice modified install --user behavior to include configure --user
If the user configures with --user, that means that they are willing
to satisfy dependencies from the user databaes.  If that's the case,
then it really only makes sense to install the package as --user as
well, since if user A installs configures / builds the package with
--user, then installs it as root, user B may attempt to use the
package and not be able to fulfill the dependencies.  Therefore, if
the package is configured as --user, then we also will call ghc-pkg
with --user.

Of course, in this case:

./setup configure --user
./setup install --global

Cabal will accept the user's instructions to install this globally,
however ill conceived.  This changes the type of the install hook,
btw, since we now need to be able to tell the difference between
passing the --global flag and not passing any flag.

Any objections to this change?
375dd39
Commits on Nov 24, 2005
@kosmikus kosmikus add absolutePath and prefixRelPath to the list of exported functions …
…in LocalBuildInfo
3e9738a
Commits on Nov 27, 2005
@SyntaxPolice SyntaxPolice Adding CabalInstall; an experimental tool to install cabal packages i…
…n a single step.
3bf5087
@SyntaxPolice SyntaxPolice ross's documentation for new --user behavior 08893a8
@SyntaxPolice SyntaxPolice ross fixes for some flags abade7f
Commits on Nov 28, 2005
@SyntaxPolice SyntaxPolice some code to build cabal-install cd73624
Commits on Dec 04, 2005
@SyntaxPolice SyntaxPolice tweak cabal-install stuff a2f76b4
Commits on Dec 05, 2005
@SyntaxPolice SyntaxPolice adding cabal-version flag. nothing is done with it for now. 952aa2e
@SyntaxPolice SyntaxPolice check for correct cabal version during parsing
I throw a parse error if this package has the wrong cabal version.
This is so that the user can get this error before getting an error
for eg. an unknown field.  Also check it in the sanity checker.

I just hard-code the cabal version in the source, it would be nicer if
we got it from the .cabal file.  cabal could include the version in
the cpp flags, but cabal's setup file needs to build without cabal, so
that wouldn't actually work for us ahem.
8103d04
@SyntaxPolice SyntaxPolice docs for cabal-version field 0c87f59
@SyntaxPolice SyntaxPolice Sven Panne: For the 1000th time: Fixed DocBook XML. Please, please do…
… a "make validate"
6bacff8
Commits on Dec 10, 2005
@SyntaxPolice SyntaxPolice mostly patches from Krasimir
 * Isaac added a warning to haddock for Hooks
 
Krasimir:

  the "data-files" field may contain filenames with directories. We should create
  the missing directories at install place first

  Use removeDirectoryRecursive instead of system "rm ..." because the former is
  more platform idependent.

  The sdist command was broken because it is using smartCopySources. The later
  was using the hs-source-dirs for lookup but at the target place the files were
  created without the corresponding source sub directories. Now it have
  boolean parameter which specifies whether to preserve to directory structure.
6858054
@SyntaxPolice SyntaxPolice tweaks to make --with-runghc and --with-runhugs work in cabal-install. 6d88aab
@SyntaxPolice SyntaxPolice moving code around. comments 8e15817
Commits on Dec 12, 2005
@josefs josefs Add language extension GeneralizedNewtypeDeriving. See GHC's docs 7.4.12 791ffaf
Commits on Jan 09, 2006
@SyntaxPolice SyntaxPolice cleaning up TODO 9eaac03
@SyntaxPolice SyntaxPolice from ross: Hugs: include the auto-generated module when installing an…
… executable.
7b332e0
@SyntaxPolice SyntaxPolice cleaned up some FIX (HUGS) d671da0
Commits on Jan 13, 2006
Simon Marlow Tranform info an fptools-ready package
The fptools version of this package needs different Makefiles, so add
them and remove the original GNUmakefiles.
7763e15
Commits on Jan 15, 2006
@SyntaxPolice SyntaxPolice moving TODO stuff to wiki 7aa530e
@SyntaxPolice SyntaxPolice changing tuple types to records w/ fields d143fa1
Commits on Jan 16, 2006
@SyntaxPolice SyntaxPolice clarifying and making flags types consistent 30ca318
@SyntaxPolice SyntaxPolice remove some flags from sdist, some cleanup 020e566
@SyntaxPolice SyntaxPolice make the order of params to cmd hooks consistent 99d7b71
@SyntaxPolice SyntaxPolice cleaned up suffix handler params to hooks
Summary if last few changes: I modified the hooks interface quite a
bit, again.  There's good news and bad news about this.  The good news
is that it's cleaned up and should be easier to maintain and to avoid
future modifications.  The bad news is that this change itself will
break stuff, of course.

If you have any trouble building your Setup scripts, please let me
know.  I really think that it was best to bite the bullet right now in
one big go instead of down the road with lots of little changes.  I
have a lot more confidence in the hooks interface, and I don't
actually expect that it'll change as often.

I made the types more consistent, and made sure there are accessor
functions on each of the Flags types so that if the flags types change
in the future, it shouldn't break lots of code.

Another piece of good / bad news is that I decided not to get rid of
the pre & post hooks.  They are nice for convenience and it wouldn't
be nearly so easy to write hooks without them.

That's bad because the interface to hooks is still pretty big, which
means that there's more likelihood that it'll change in the future.

Another weakness in the Hooks interface is that with command hooks
(like sDistHook) it's tempting to add parameters to them; basically
the stuff that we compute between the preSDist and sDist hook.  I
removed such params and have their values computed elsewhere.

Cabal hackers, please avoid adding parameters to these command hooks
if at all possible in order to keep the interface steady.  If you need
to compute a value to pass to these functions, compute it in the
function and / or make it available as a function that someone
crafting hooks can use as well, or consider whether it belongs in one
of the parameters already being passed to the hooks,
PackageDescription, LocalBuildInfo, UserHooks, Flags.
cb12138
Commits on Jan 23, 2006
Simon Marlow re-add the GNUmakefiles
These are now safe after we added "-f Makefile" to the make args when invoked
from the GHC build system.  This repo should now be useable as the main
Cabal repo.
58c9969
Simon Marlow re-add the GNUmakefiles
These are now safe after we added "-f Makefile" to the make args when invoked
from the GHC build system.  This repo should now be useable as the main
Cabal repo.
14460dd
Commits on Jan 30, 2006
@SyntaxPolice SyntaxPolice cabal-install uses defaultMain if it can't find Setup.lhs fba0f3c
@SyntaxPolice SyntaxPolice now build Setup.lhs instead of using runghc on it. still uses runhugs. 5cecc36
Commits on Jan 31, 2006
@dcoutts dcoutts Add extraGHCiLibraries to the InstalledPackageInfo and extend the par…
…ser.
dc1b560
Commits on Feb 01, 2006
@SyntaxPolice SyntaxPolice fix version number in fptools makefile to match .cabal file 777e0f0
@SyntaxPolice SyntaxPolice push and pull all 33edca4
@dcoutts dcoutts Make unknown fields a warning rather than an error
Add support for warnings to the ParseResult type. Change existing
warnings from using Debug.Trace to use this new warning support.
8cf5e62
@dcoutts dcoutts ignore "x-" extension fields without a warning a3c61b8
@dcoutts dcoutts fixup PackageDescription test code
just ignore the extra ParseOk warnings field
1f68a1e
Commits on Feb 04, 2006
@SyntaxPolice SyntaxPolice added some fields to test suite for duncan's mods 46cc623
Commits on Feb 06, 2006
Simon Marlow combine GNUmakefile and Makefile d86b5b4
Simon Marlow fix conflict 114b906
Einar Karttunen Initial support for JHC c941a79
Commits on Feb 21, 2006
@dcoutts dcoutts Make ghc-6.2 packages be exposed by default.
For ghc-6.4 when Cabal registers packages it exposes them by default.
However it does not do the same fo ghc-6.2. This change corrects the
discrepancy. This patch is already being used in Gentoo with Cabal 1.1.3.
0ca6a29
Commits on Mar 02, 2006
Simon Marlow Support for -split-objs with GHC
New configure option: --enable-split-objs creates libraries using
-split-objs with GHC (current HEAD or later only, the configure checks
for version 6.5).  Fixes ticket #19.
e3b561b
Commits on Mar 03, 2006
Simon Marlow no need to use a verbatim copy of System.Console.GetOpt, omit if poss…
…ible
4402955
Simon Marlow don't check cabal-version during parsing, it doesn't work
because parsers are evaluated multiple times due to backtracking.
7b98b35
Simon Marlow comment fix 70a221a
Simon Marlow export configDependency 71bd3dd
Simon Marlow First attempt at a cabal-setup command
cabal-setup is a replacement for 'runhaskell Setup.hs'.  It accepts
exactly the same commands.  Additionally, the following new features
are provided:

 * Setup.{hs,lhs} is optional.  If omitted, cabal-setup behaves just
   like Distribution.Simple.defaultMain.

 * If the .cabal file contains a cabal-version field, then Setup.hs
   is built using an appropriate version of Cabal.  This might entail
   creating Setup.hs if it doesn't exist.

 * cabal-setup interprets the options --with-compiler and --with-hc-pkg
   to determine the compiler used to compile Setup.hs.

Later, we could add support for building multiple packages in
dependency order, as per recent discussions on libraries@haskell.org.
28fcb6d
Commits on Mar 14, 2006
Simon Marlow oops, don't enable -split-objs by default 0d9a6e0
Commits on Mar 18, 2006
@dcoutts dcoutts GHC FFI flag should be -fffi not -ffi, the latter merely happens to w…
…ork.
b2810c6
Commits on Apr 04, 2006
@SyntaxPolice SyntaxPolice windows patch from brian.mabry.edwards@gmail.com 682e48e
Nick Alexander It is no longer necessary to run 'configure' before 'clean' or 'sdist…
…', addressing http://haskell.galois.com/trac/hackage/ticket/12.

In order to change this behaviour, it was necessary to modify the hook interface, specifically cleanHook, postClean, sDistHook, postSDist.  They now take a Maybe LocalBuildInfo, since a LocalBuildInfo might not be available in .setup-config.
855cf93
Commits on Apr 08, 2006
@SyntaxPolice SyntaxPolice test case for buildinfo with multiple executables 7b042d2
Commits on Apr 11, 2006
Simon Marlow Hide Distribution.GetOpt; it just re-exports System.Console.GetOpt an…
…yway

This also matches Cabal.cabal.
9bffb45
Simon Marlow Distribution.Compat.FilePath should be hidden
This also matches package.conf.in.
c33f23a
cabal Cabal.xml: entity greencard was mixed up with haddock 4963eb8
Commits on Apr 24, 2006
Simon Marlow TAG shipped in GHC 6.4.2 625547a
Commits on Apr 25, 2006
Simon Marlow warning cleanup 88422c7
Simon Marlow get LocalBuildInfo from Distribution.LocalBuildInfo f57af63
Simon Marlow Refactoring only: separate compiler-specific simple build implementation e9dec14
Simon Marlow Implement "setup register --inplace", and a few other minor things
 
There are a few changes in this patch:
 
   - New flag to register, --inplace.  "setup register --inplace"
     registers the package for use in the build tree, i.e. without
     installing.  It works with GHC only, currently.
     
   - The parameters to RegisterCmd, UnregisterCmd and InstallCmd are a
     legacy from before the time of hooks (or something) and don't
     serve any purpose any more, AFAICT.  So I removed them.
 
   - I don't think "setup register" worked propertly before if
     --user was given to configure.  It does now.

   - New flag to register: --with-hc-pkg (just the same as when
     given to configure, but lets you override it at register-time)
d1ba044
@RossPaterson RossPaterson add new modules d695385
Commits on Apr 26, 2006
Simon Marlow pass unrecognised options before the command name to the command
Previously, options before the command name other than --help were
just ignored, which is quite confusing behaviour.  So now,

./setup --with-compiler=ghc-6.4.2 configure

works as you expect, instead of ignoring the --with-compiler option.
72213b6
Simon Marlow merge from base:
Wed Apr 26 13:11:10 BST 2006  Simon Marlow <simonmar@microsoft.com>
  * RequireOrder: do not collect unrecognised options after a non-opt
6830a19
Simon Marlow Better support for packages that need to install header files
There's a new field for .cabal files: 

     install-includes: foo.h bar.h

This means the same as 'includes', except that the files named therein
will be installed into $libdir/include.  'includes' should only be
used for headers already installed on the system.

Directories listed in 'include-dirs' still turn into -I options for
hsc2hs, cpphs, and C compilations.  However, for installation
purposes, relative directories in 'include-dirs' are now treated
differently from absolute directories:

  - an absolute directory is copied to the include-dirs field
    of the installed package config

  - files names in install-includes are assumed to be found in
    one of the *relative* directories listed in include-dirs

So the common pattern for providing a header file that you want to
be available everywhere including to via-C compilations against this
package:

  include-dirs: myincludes
  install-includes: foo.h

will install the header file myincludes/foo.h in
$libdir/include/foo.h.
b7d558c
Commits on Apr 27, 2006
Einar Karttunen Fix JHC command lines. c0891df
@alsonkemp alsonkemp Update Cabal with cabal-get cd35c6b
Commits on Apr 28, 2006
simonmar fix imports for Windows 4d51082
Simon Marlow document install-includes and register --inplace fe0321a
@alsonkemp alsonkemp Fixups to get cabal-get into Cabal 0a60059
@alsonkemp alsonkemp Separate build into "make build" and "make install" b183094
@alsonkemp alsonkemp Patch to fix "-ixyz" being overwritten by "-i" and to remove Cabal's …
…dependency on the Cabal package.
63c846f
@alsonkemp alsonkemp Remove erroneous exports... be37ec1
Commits on Apr 30, 2006
@SyntaxPolice SyntaxPolice getting rid of cabal-install in favor of cabal-get 07ca1e6
@SyntaxPolice SyntaxPolice cabal-get will become cabal-install aea19b3
@SyntaxPolice SyntaxPolice modify makefile for cabal-install 365e829
@SyntaxPolice SyntaxPolice bumping cabal version number. 1.1.4 will be the one released with ghc…
… 6.4.2.
278b13e
@SyntaxPolice SyntaxPolice add etc-cabal-get as a data-file 8727f04
@SyntaxPolice SyntaxPolice build and install cabal-setup d87f3ca
@SyntaxPolice SyntaxPolice basic information for installing 4440565
@alsonkemp alsonkemp Complete move of cabal-get to cabal-install + some fixups 9885ece
@alsonkemp alsonkemp move cabal-install/etc-cabal-get to cabal-install/etc-cabal-install 8679b6f
Commits on May 01, 2006
@RossPaterson RossPaterson markup fix 7147d22
@RossPaterson RossPaterson Hugs: also compile the paths module 7315544
Commits on May 02, 2006
@dcoutts dcoutts TAG 1.1.4 91a4bfe
@RossPaterson RossPaterson fix for Hugs
Add explicit types for a couple of constants to work around Hugs's
imperfect implementation of the monomorphism restriction.
604fce6
@RossPaterson RossPaterson remove superfluous ffihugs -P option 63e2331
@RossPaterson RossPaterson add header file for GetModuleFileNameA 5d09ee5
@dcoutts dcoutts Change calls to 'make' into '$(MAKE)'
This is the portable thing to do and fixes things on FreeBSD where make/=gmake
bb57fe4
Commits on May 03, 2006
@RossPaterson RossPaterson Hugs: copy path module into package build dir 21dd221
@RossPaterson RossPaterson pass correct -P flag to ffihugs
The -P flag wasn't superfluous, but it was wrong for executables.
d3dcec1
@RossPaterson RossPaterson Hugs: copy paths module to the right place, this time 0447d0d
Commits on May 06, 2006
Sven Panne Merge "unrecognized long opt" fix from 6.4.2 7f80ee5
Commits on May 18, 2006
Simon Marlow parsec is not a dependency
It is apparently required for the wash2hs test, however.
7dd893d
Commits on Jun 04, 2006
cabal generate .haddock interface file when running haddock c34d0dc
cabal stripPrefix -> dropPrefix e215b54
Commits on Jun 05, 2006
cabal Distribution.simple: haddock option --use-package tells which package…
…s to hyperlink to
52f3f05
Commits on Jun 09, 2006
cabal Distribution.Compat.Directory: added getDirectoryContentsWithoutSpecial ec4a437
cabal Distribution.Simple.Utils: copyDirectoryRecursiveVerbose e322a47
cabal PackageDescription: added toMaybe, some logical simplifications d23a671
cabal PackageDescription: haddockName generates the name of the .haddock file d67d756
cabal install Haddock documentation in share/package/doc/html and register …
…that path in the ghc-pkg
0879eb3
Commits on Jun 24, 2006
@audreyt audreyt implement support for flat-file layout 7e5a81f
@audreyt audreyt it's now 00-latest not latest 7bbf208
@audreyt audreyt stage 2 patch: implement the "list" command 4724f12
@audreyt audreyt finish interaction with remote HTTP servers 226fe24
Commits on Jul 04, 2006
@dcoutts dcoutts Change flags passed to hsc2hs
The extra-libraries must be passed as -L-l${lib} or linking the C prog
that hsc2hs generates may fail if any symbols are referenced.
Also can't use cppOptions function since hsc2hs doesn't support -U.
Need to do -U flags in ccOptions seperately.
d2cde90
Commits on Jul 05, 2006
Simon Marlow UNDO: Merge "unrecognized long opt" fix from 6.4.2
This patch undid the previous patch, "merge from base".  I asked Sven
to revert it, but didn't get an answer.
  
See GHC bug #473.
464e5e4
Commits on Jul 08, 2006
@SyntaxPolice SyntaxPolice resolve conflicts from henning-thielemann's work. Thanks Henning! 7890d73
Commits on Jul 11, 2006
Malcolm.Wallace fix indentation in do block for H'98 compatibility ecf96fa
Commits on Jul 20, 2006
Simon Marlow build and install cabal-setup as part of GHC build 817c904
@stepcut stepcut Add initial support for --enable/disable-library-vanilla flags 9db44ae
Simon Marlow pass the whole packageId to GHC with the -package-name flag
This shouldn't make any difference to current GHC's, but will be
required by the new GHC package code.
f067a19
Commits on Jul 26, 2006
@dcoutts dcoutts Hold back on forcing vanilla libs for TH for the moment
When we get confirmation from GHC devs that it's the right
thing to do then we can add it in.
f630a26
@dcoutts dcoutts Wrap excessively long line 2922916
@dcoutts dcoutts Add documentation of new LocalBuildInfo fields da17fdc
Commits on Jul 28, 2006
Simon Marlow install: pass the verbose flag to register too f26df04
Commits on Aug 02, 2006
@dcoutts dcoutts Try to support TH with profiling. See ticket #91.
This needs testing.
74c2668
Commits on Aug 03, 2006
Simon Marlow GHC build only: set $(MKDEPENDHS) in addition to $(HC) b178fcd
Commits on Aug 06, 2006
@Lemmih Lemmih Don't check for packagesDirName and servListFile, they may not exist. 79404c4
@Lemmih Lemmih Change 'getInstalledPkg' to the more sensible 'getLatestPkg'. 1f949ca
Commits on Aug 09, 2006
Simon Marlow Avoid use of deprecated Data.FiniteMap, if possible
Distribution.Compat.Map taken from Haddock.
015d6cc
Commits on Aug 10, 2006
@RossPaterson RossPaterson repair Distribution.Compat.Map for non-GHC 4662099
Commits on Aug 18, 2006
@dcoutts dcoutts Add xargs function and use it when linking.
When using GHC's --split-objs we end up with lots of files to link.
This can mean overflowing the maximum length of the command line
when invoking ar or ld. On windows the maximum length is 32k. On
other systems it's not a great deal more. GHC currently deals with
this problem by using xargs. This patch does more or less the same.
13e6590
@dcoutts dcoutts Use ghc from the path by default in the Makefile 3ccb921
Commits on Aug 21, 2006
@dcoutts dcoutts Use 30k by default for max command line length.
We'll see if anyone complains.
d0ca370
Neil Mitchell Make -o use the filename as GHC will, i.e. with .exe on the end for W…
…indows. This fixes a GHC 6.4.2 bug with relinking every time.
4cd574c
@dcoutts dcoutts Do not expose modules that are internal to the Cabal package
This brings it in sync with the package.conf.
7c3976e
@dcoutts dcoutts Use long-style args to haddock. 2130141
Commits on Aug 22, 2006
Simon Marlow Components of a package name should not begin with a digit
Avoids ambiguities with package identifiers like "foo-1" (the 1 is the
version number).
7f48862
Simon Marlow On second thoughts, follow the Cabal docs for the syntax of package n…
…ames

Each package component must now contain at least one letter, a weaker 
requirement than always beginning with a letter.
302bf17
Simon Marlow Change default installation dirs for executables on Windows:
before:

  bindir  = $prefix\$pkgid
  datadir = $prefix

now:

  bindir  = $prefix\Haskell\bin
  datadir = $prefix\Haskell

datasubdir is still $pkgid, so data files for an exectuable will be
installed in $prefix\Haskell\$pkgid.

the idea is that all executables are installed in the same directory
by default, so setting PATH is easier.  Also, data files belonging to
Haskell programs are grouped together under $prefix\Haskell.
82b96e3
Simon Marlow Make haddock target support the --hoogle flag
Originally Neil Mitchell's patch, minor conflict fixed by me.
960cf2d
Commits on Aug 23, 2006
@dcoutts dcoutts Be cleverer about guessing hc-pkg name and location.
So it now works if you say:
./setup configure --with-compiler=ghc-6.5
ie specifying a path-relative name rather than an absolute path.
We then look for hc-pkg in the same dir as where we found the compiler.
If the compiler appears to have a version suffix then we additionally
and preferentially look for hc-pkg with that same version suffix.
(I'm not sure that bit works if you've got a .exe suffix, perhaps a
windows person could try it / take a look)
f69e01d
@dcoutts dcoutts Use slightly simpler way of getting GHC version.
ghc has supported --numeric-version for ages.
0464b12
Commits on Aug 27, 2006
@RossPaterson RossPaterson change title to Haskell Hierarchical Libraries 8316eb5
@RossPaterson RossPaterson fix haddock reference aa7b097
@RossPaterson RossPaterson Hugs-only comment tweak 44892fb
@RossPaterson RossPaterson non-GHC: use System.Console.GetOpt 6209362
@RossPaterson RossPaterson hide internal modules from haddock 88593e5
@RossPaterson RossPaterson export PWarning for interface closure e13834e
@Lemmih Lemmih Don't ignore C-objects when linking prof-libraries. 97ead16
Commits on Sep 01, 2006
@simonpj simonpj Add BangPatterns to Extensions 3a7ece8
Commits on Sep 02, 2006
@dcoutts dcoutts We don't really depend on mtl or network
No idea why they were there, it builds fine without.
Having these deps causes circular dependencies for package-based
distros like Gentoo since mtl and network are not in the core set
of libs and they both need cabal to build.
e637980
Commits on Sep 05, 2006
@dcoutts dcoutts Bump version number to first 1.1.6 release candidate. 1cbf0f1
@dcoutts dcoutts Add --hoogle docs, thanks to ndm for the text. 3d813ad
Commits on Sep 06, 2006
@dcoutts dcoutts Remove extensions and options that are only needed for cabal-install
Since we're not shipping cabal-install or cabal-setup just yet.
0203f0e
@dcoutts dcoutts Eliminate warnings of dups in the export list. bee21be
@dcoutts dcoutts Fix testsuite to use compiler version-specific paths properly
It was using constant strings like "lib/ghc-6.4.1/blah"
which obviously doesn't work very well with ghc-6.5.20060903
Also let the test to run be specified on the command line to
make it easier to re-run individual tests.
37aacc6
@dcoutts dcoutts Update import in the withHooks test in the testsuite. 1a0a5f5
@dcoutts dcoutts Bump version number in Makefile to match. ee71f63
@dcoutts dcoutts Don't build with -Wall for the release.
It just makes us look bad! :-)
bab4635
@dcoutts dcoutts Account more accurately for command line chunk size. 686cdf8
@dcoutts dcoutts Fix xml escaping in user guide docbook. d1dc7ed
@dcoutts dcoutts {-# OPTIONS -fglasgow-exts #-} is not needed. 7812166
@dcoutts dcoutts Remove all the old cabal-install dependencies
The newer cabal-install has different and fewer deps.
We will add those in for a release including cabal-install.
b683ca2
@dcoutts dcoutts Do not build cabal-setup or cabal-install for now. 9f85579
@dcoutts dcoutts Use a versioned tarball c3e5ac5
@dcoutts dcoutts Second 1.1.6 release candidate. 941b65f
Commits on Sep 08, 2006
@dcoutts dcoutts Use {-# OPTIONS_GHC -cpp #-} so that runghc Setup.lhs works. 4dfc637
@dcoutts dcoutts Check exit codes!
Cabal was not noticing haddock failing. That's bad.
5116cf3
Simon Marlow Build, but don't install cabal-setup
It turns out that the cabal02 test is testing cabal-setup, so it helps
to actually have it built.
2adc915
Commits on Sep 10, 2006
@RossPaterson RossPaterson cleanups to user's guide
 * markup fixes
 * spelling
 * id's for some elements to avoid warnings
 * mention the use of Description field by setup haddock
 * clean up --hoogle description
543a5b4
Commits on Sep 11, 2006
@dcoutts dcoutts Make Distribution.Compat.FilePath public and Distribution.Compat.Read…
…P private

Ideally all the Distribution.Compat.* modules would be private,
however there is currently no sensible alternative to the FilePath module
and hiding it at this stage breaks packages.
86e0bb1
@dcoutts dcoutts Bump version for 3rd 1.1.6 release candidate 0bc1b18
@dcoutts dcoutts TAG 1.1.5.9.3 b2d1df1
Commits on Sep 22, 2006
@SyntaxPolice SyntaxPolice clarification of the way --inplace works 862c17b
Commits on Sep 26, 2006
@Lemmih Lemmih Fix the combination of --enable-library-profiling and --enable-split-…
…objs
ff6a26a
@Lemmih Lemmih CabalSetup: reuse './setup' if it's newer than the setup script. abb6787
Commits on Oct 05, 2006
@dcoutts dcoutts Use pragma OPTIONS rather than OPTIONS_GHC for compatability with ghc…
… 6.2.x
6e6b4bd
@dcoutts dcoutts Read the buildinfo for the haddock step.
In particular this means we pick up any cc-options that are
needed for preprocessing the source before haddock reads it.
This fixes the haddock build step for many of the packages in
the ghc-extralibs collection.
301051d
Commits on Oct 07, 2006
@dcoutts dcoutts Have the default make target be build rather than test
This is more normal.
0f63cf3
@dcoutts dcoutts Make the configure step respect the HC makefile var cd564e8
@dcoutts dcoutts Only use -package-name with the package's version number for ghc-6.4
This change was added for ghc-6.6 but broke packages for ghc-6.2.2.
a7dba94
@dcoutts dcoutts Bump version to 1.1.5.9.4 6af79a6
@dcoutts dcoutts TAG 1.1.5.9.4 0137ffc
Commits on Oct 09, 2006
@dcoutts dcoutts Update README, changelog and releaseNotes 3a7fc29
@dcoutts dcoutts Add note about unix dep for ghc-6.2 b2cc5b2
@dcoutts dcoutts Bum version to 1.1.6 release 012c18c
@kolmodin kolmodin New unlit code "ported" from cpphs-1.2 0e5d7d8
Commits on Oct 10, 2006
@dcoutts dcoutts Make cabal know it's own version number correctly
This is an unpleasent way of doing it.
Will have to fix once and for all in the next version.
d31a472
@dcoutts dcoutts Fix spelling error in error message. 9cb7718
@dcoutts dcoutts Remove spurious debug message. 16a58fb
Commits on Oct 12, 2006
Simon Marlow Update text on the front page: packages can now overlap in GHC 6.6 a5239f9
Commits on Oct 13, 2006
Simon Marlow Fix getDataDir etc. when bindir=$prefix 08fe8f2
Commits on Oct 16, 2006
@dcoutts dcoutts Fix escaping of ' chars in register.sh script. ba52c84
Commits on Oct 20, 2006
@dcoutts dcoutts Bump to bug fix version 1.1.6.1 8599274
@dcoutts dcoutts Note that GHV 6.6 users should not unregister Cabal 8e7f63f
@dcoutts dcoutts Update changelog for 1.1.6.1 bug fix release ef2a1cb
@dcoutts dcoutts TAG 1.1.6.1 e983aa0
Commits on Nov 20, 2006
@RossPaterson RossPaterson trim trailing spaces (including CRs) from all input lines 120de95
@RossPaterson RossPaterson parse executable field as a token (as documented), rather than free text deaae15
Commits on Dec 15, 2006
Simon Marlow fix ./Setup unregister --help, which was giving the help for register 8345b3b
Commits on Jan 06, 2007
sven.panne Set the Cabal version when building via the fptools build system
Without this patch, Cabal is effectively "version-less" and all .cabal
files with a version requirement are unusable. Therefore I think that
this patch (or at least something equivalent) should be pushed to the
6.6.1 branch, too.
ba5f118
Commits on Feb 12, 2007
@RossPaterson RossPaterson exclude Setup.lhs
This was generating a useless Main entry in the lib doc index.
(good for STABLE)
36a4951
Commits on Feb 21, 2007
@simonpj simonpj Clarify documentation on --with-compiler and --with-hc-pkg d04d6eb
Commits on Feb 25, 2007
@RossPaterson RossPaterson document the --with-compiler / --with-hc inconsistency c1d1a7d
Commits on Feb 27, 2007
@RossPaterson RossPaterson fix bug restricting unknown fields
This is the subset of the HEAD patch "Refactorings only", fixing a bug
that rejects a .cabal file that contains unknown fields but no library.
(The original patch is quite large.)  As a consequence, this is required
only for the 6.6 branch.
bd341e9
Commits on Mar 11, 2007
@RossPaterson RossPaterson rejig handling of continuation lines (fixes Cabal #118)
Also avoids quadratic behaviour on long fields.
ccaa2c2
Commits on Mar 14, 2007
@judah judah Fixes compiling an executable for profiling with template haskell. b7a01e2
Commits on Apr 04, 2007
@igfoo igfoo Fix C/Haskell type mismatches 735119f
Commits on Apr 23, 2007
@igfoo igfoo Bump version number to 1.1.6.2 (and add changelog entries) 49fdfe1
Commits on Apr 28, 2007
@igfoo igfoo TAG 1.1.6.2 release 8d3def9