Skip to content
This repository
  • 427 commits
  • 243 files changed
  • 21 contributors
This comparison is big! We're only showing the most recent 250 commits
Jul 14, 2005
Make haddock support documentation in hidden modules. c7dd8f5
Jul 16, 2005
Isaac Potoczny-Jones slight makefile tweaks 42c5825
Isaac Potoczny-Jones updated README with suggestions from simon and some clarification a449b2b
Isaac Potoczny-Jones moved all code to a src subdirectory. a couple of test cases fail, bu…
…t no huge deal.
Isaac Potoczny-Jones makefile tweak cfe9528
Jul 18, 2005
Isaac Potoczny-Jones updated todos c8af714
Isaac Potoczny-Jones tweak to Configure for windows. removed DefaultSetup since it breaks …
…windows cabal 1.0 installations.
Isaac Potoczny-Jones tweak GHC version. 3cd3730
Isaac Potoczny-Jones tweakin the changelog a2d4ec7
Jul 19, 2005
Isaac Potoczny-Jones moved stuff back out of src tree 4cc20a9
Isaac Potoczny-Jones more changes relating to src move 778a3a3
Isaac Potoczny-Jones ross paterson: simplify consruction of pkg tool name 6f92fb6
Jul 26, 2005
Duncan Coutts Move building of GHCi .o libs to the build phase rather than register…
… phase.
Jul 27, 2005
Fixing install bug(GHCi lib overwrites .a archive) 177c0d9
Jul 30, 2005
Isaac Potoczny-Jones wibbles 3fd4757
Isaac Potoczny-Jones lots of cvs changes from Ross
  tweak SHGetFolderPath
  preprocess: Hugs+MinGW: remove special case
  test *_HOST_OS (as well as *_TARGET_OS, which is there for old GHC's)
  take care of string literals while stripping comments
  rearrange so that we print "Compiling FFI stubs" at most once
  only run ffihugs on Main module if required
  add comment about older Windows versions
  Hugs only: avoid SHGetFolderPath for now
  convert input file paths to platform form (from Brian Smith)
  convert paths to native form at entry
  rename --builddir as --scratchdir to avoid clash with autoconf --build flag.

  doc: consolidate descriptions of preprocessors
Isaac Potoczny-Jones tweak test suite 9fc16f2
Isaac Potoczny-Jones add docs to todo 3a827d5
Aug 07, 2005
Always invoke the ld.exe that is in $ghc-bin\..\gcc-lib on Windows, b…
…ecause ld is probably not in the path on Windows.
Aug 09, 2005
Isaac Potoczny-Jones various TODO updates 767335d
Isaac Potoczny-Jones cvs commit from ross
  installHugs: quote the script name to protect spaces, and create .bat
  files for executables under Windows.
Isaac Potoczny-Jones ross fixed this typo 617a594
Isaac Potoczny-Jones from ross
  buildGHC: reset search path before adding hs-source-dirs, so that these
  are the only directories GHC searches.
Aug 11, 2005
Isaac Potoczny-Jones more TODO 5fe0331
Isaac Potoczny-Jones bugfix for linking profiling + ffi stub files 02c27cb
Aug 16, 2005
Isaac Potoczny-Jones cvs commit from ross.
  * rename other-files as extra-source-files
  * new field extra-tmp-files
Isaac Potoczny-Jones fixed test suite, added backward-compat checker for other-files e0ec810
Isaac Potoczny-Jones fixed bug for odirs for executables in ghc > 6.4.1. UNTESTED. a8f84cc
Aug 24, 2005
Duncan Coutts Use .tar.gz for source package extension and tweak sdist info message. 3ad8377
Aug 25, 2005
Isaac Potoczny-Jones so much TODO cfa42dd
Isaac Potoczny-Jones 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)
Isaac Potoczny-Jones ross fixed the portability tags 594e10f
Sep 05, 2005
Isaac Potoczny-Jones added -D__GLASGOW_HASKELL__ for hcDefines, probably needed by cpp d71352c
Isaac Potoczny-Jones resync w/ cvs where Ross beat me to the punch on the GLASGOW_HASKELL …
Sep 06, 2005
Isaac Potoczny-Jones removed nub for ghc-options, which was causing flags like -package fo…
…o -package bar to not work.
Sep 08, 2005
Isaac Potoczny-Jones 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.
Sep 13, 2005
Isaac Potoczny-Jones from ross: update for sdist ad56395
Isaac Potoczny-Jones 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.
Isaac Potoczny-Jones prepare for 1.1.3 release 14e7ef6
Isaac Potoczny-Jones fixes for haddock for 1.1.3 68136b8
Isaac Potoczny-Jones bump version number post release dd32134
Sep 28, 2005
Isaac Potoczny-Jones added verbosity options 75cba00
Sep 30, 2005
Isaac Potoczny-Jones adding Program abstraction to cabal ae89120
Isaac Potoczny-Jones generalizing haddock based on Program type 70740a9
Oct 01, 2005
Isaac Potoczny-Jones finished threading configuration stuff to local build info f2676ab
Oct 09, 2005
Isaac Potoczny-Jones basic working version of --haddock-args f97bad4
Isaac Potoczny-Jones 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.
Isaac Potoczny-Jones made generic --with-foo functionality da55e77
Isaac Potoczny-Jones basic pfesetup support for args and with and such ffc98d2
Oct 16, 2005
Isaac Potoczny-Jones cvs pull from ross 5757fdf
Isaac Potoczny-Jones 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  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
   - 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
  * 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.
Isaac Potoczny-Jones fixed conflicts w/ merged changes 1963dd5
Isaac Potoczny-Jones cleaned up test suite 9f4c23e
Isaac Potoczny-Jones 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).
Isaac Potoczny-Jones cleaned up configure to map over known programs instead of looking fo…
…r them individually.
Oct 20, 2005
Isaac Potoczny-Jones 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.
Isaac Potoczny-Jones REMOVED util DEPENDENCY. This will break build for ghc 6.2 :( e41de05
Isaac Potoczny-Jones wibble 4cf7702
Isaac Potoczny-Jones removed some tabs 02cb311
Oct 21, 2005
Isaac Potoczny-Jones 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.

  Add Distribution.Program to exposed-modules
Oct 25, 2005
Isaac Potoczny-Jones added version number to unregister command 2e90029
Isaac Potoczny-Jones docs for Debian release 309ebee
Isaac Potoczny-Jones importing haskell98 where appropriate 366dc35
Oct 31, 2005
Isaac Potoczny-Jones moving TODO items to bug tracker a369271
Isaac Potoczny-Jones 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

  * 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.
Nov 12, 2005
Isaac Potoczny-Jones Krasimir: Warning message for absolute bindir/libdir/datadir/libexecdir 283009a
Isaac Potoczny-Jones 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.
Isaac Potoczny-Jones 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/":
/home/ijones/usr/src/haskell/fptools/libraries/Cabal/tests/exeWithC/,tmp/lib/hugs/programs/tt/ unexpected reloc type 0x09
Nov 13, 2005
Isaac Potoczny-Jones 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.
Nov 14, 2005
Isaac Potoczny-Jones 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.
Nov 15, 2005
Isaac Potoczny-Jones new comment in FilePath 1aebbca
Isaac Potoczny-Jones rolled back patch for hide pragma 708c839
Isaac Potoczny-Jones 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?
Nov 24, 2005
kosmikus add absolutePath and prefixRelPath to the list of exported functions …
…in LocalBuildInfo
Nov 27, 2005
Isaac Potoczny-Jones Adding CabalInstall; an experimental tool to install cabal packages i…
…n a single step.
Isaac Potoczny-Jones ross's documentation for new --user behavior 08893a8
Isaac Potoczny-Jones ross fixes for some flags abade7f
Nov 28, 2005
Isaac Potoczny-Jones some code to build cabal-install cd73624
Dec 04, 2005
Isaac Potoczny-Jones tweak cabal-install stuff a2f76b4
Dec 05, 2005
Isaac Potoczny-Jones adding cabal-version flag. nothing is done with it for now. 952aa2e
Isaac Potoczny-Jones 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.
Isaac Potoczny-Jones docs for cabal-version field 0c87f59
Isaac Potoczny-Jones Sven Panne: For the 1000th time: Fixed DocBook XML. Please, please do…
… a "make validate"
Dec 10, 2005
Isaac Potoczny-Jones mostly patches from Krasimir
 * Isaac added a warning to haddock for Hooks

  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.
Isaac Potoczny-Jones tweaks to make --with-runghc and --with-runhugs work in cabal-install. 6d88aab
Isaac Potoczny-Jones moving code around. comments 8e15817
Dec 12, 2005
Josef Svenningsson Add language extension GeneralizedNewtypeDeriving. See GHC's docs 7.4.12 791ffaf
Jan 09, 2006
Isaac Potoczny-Jones cleaning up TODO 9eaac03
Isaac Potoczny-Jones from ross: Hugs: include the auto-generated module when installing an…
… executable.
Isaac Potoczny-Jones cleaned up some FIX (HUGS) d671da0
Jan 13, 2006
Tranform info an fptools-ready package
The fptools version of this package needs different Makefiles, so add
them and remove the original GNUmakefiles.
Jan 15, 2006
Isaac Potoczny-Jones moving TODO stuff to wiki 7aa530e
Isaac Potoczny-Jones changing tuple types to records w/ fields d143fa1
Jan 16, 2006
Isaac Potoczny-Jones clarifying and making flags types consistent 30ca318
Isaac Potoczny-Jones remove some flags from sdist, some cleanup 020e566
Isaac Potoczny-Jones make the order of params to cmd hooks consistent 99d7b71
Isaac Potoczny-Jones 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.
Jan 23, 2006
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.
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.
Jan 30, 2006
Isaac Potoczny-Jones cabal-install uses defaultMain if it can't find Setup.lhs fba0f3c
Isaac Potoczny-Jones now build Setup.lhs instead of using runghc on it. still uses runhugs. 5cecc36
Jan 31, 2006
Duncan Coutts Add extraGHCiLibraries to the InstalledPackageInfo and extend the par…
Feb 01, 2006
Isaac Potoczny-Jones fix version number in fptools makefile to match .cabal file 777e0f0
Isaac Potoczny-Jones push and pull all 33edca4
Duncan Coutts 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.
Duncan Coutts ignore "x-" extension fields without a warning a3c61b8
Duncan Coutts fixup PackageDescription test code
just ignore the extra ParseOk warnings field
Feb 04, 2006
Isaac Potoczny-Jones added some fields to test suite for duncan's mods 46cc623
Feb 06, 2006
combine GNUmakefile and Makefile d86b5b4
fix conflict 114b906
Initial support for JHC c941a79
Feb 21, 2006
Duncan Coutts 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.
Mar 02, 2006
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.
Mar 03, 2006
no need to use a verbatim copy of System.Console.GetOpt, omit if poss…
don't check cabal-version during parsing, it doesn't work
because parsers are evaluated multiple times due to backtracking.
comment fix 70a221a
export configDependency 71bd3dd
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
Mar 14, 2006
oops, don't enable -split-objs by default 0d9a6e0
Mar 18, 2006
Duncan Coutts GHC FFI flag should be -fffi not -ffi, the latter merely happens to w…
Apr 04, 2006
Isaac Potoczny-Jones windows patch from 682e48e
It is no longer necessary to run 'configure' before 'clean' or 'sdist…
…', addressing

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.
Apr 08, 2006
Isaac Potoczny-Jones test case for buildinfo with multiple executables 7b042d2
Apr 11, 2006
Hide Distribution.GetOpt; it just re-exports System.Console.GetOpt an…

This also matches Cabal.cabal.
Distribution.Compat.FilePath should be hidden
This also matches
Cabal.xml: entity greencard was mixed up with haddock 4963eb8
Apr 24, 2006
TAG shipped in GHC 6.4.2 625547a
Apr 25, 2006
warning cleanup 88422c7
get LocalBuildInfo from Distribution.LocalBuildInfo f57af63
Refactoring only: separate compiler-specific simple build implementation e9dec14
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)
RossPaterson add new modules d695385
Apr 26, 2006
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.
merge from base:
Wed Apr 26 13:11:10 BST 2006  Simon Marlow <>
  * RequireOrder: do not collect unrecognised options after a non-opt
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

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

will install the header file myincludes/foo.h in
Apr 27, 2006
Fix JHC command lines. c0891df
Alson Kemp Update Cabal with cabal-get cd35c6b
Apr 28, 2006
fix imports for Windows 4d51082
document install-includes and register --inplace fe0321a
Alson Kemp Fixups to get cabal-get into Cabal 0a60059
Alson Kemp Separate build into "make build" and "make install" b183094
Alson Kemp Patch to fix "-ixyz" being overwritten by "-i" and to remove Cabal's …
…dependency on the Cabal package.
Alson Kemp Remove erroneous exports... be37ec1
Apr 30, 2006
Isaac Potoczny-Jones getting rid of cabal-install in favor of cabal-get 07ca1e6
Isaac Potoczny-Jones cabal-get will become cabal-install aea19b3
Isaac Potoczny-Jones modify makefile for cabal-install 365e829
Isaac Potoczny-Jones bumping cabal version number. 1.1.4 will be the one released with ghc…
… 6.4.2.
Isaac Potoczny-Jones add etc-cabal-get as a data-file 8727f04
Isaac Potoczny-Jones build and install cabal-setup d87f3ca
Isaac Potoczny-Jones basic information for installing 4440565
Alson Kemp Complete move of cabal-get to cabal-install + some fixups 9885ece
Alson Kemp move cabal-install/etc-cabal-get to cabal-install/etc-cabal-install 8679b6f
May 01, 2006
RossPaterson markup fix 7147d22
RossPaterson Hugs: also compile the paths module 7315544
May 02, 2006
Duncan Coutts TAG 1.1.4 91a4bfe
RossPaterson fix for Hugs
Add explicit types for a couple of constants to work around Hugs's
imperfect implementation of the monomorphism restriction.
RossPaterson remove superfluous ffihugs -P option 63e2331
RossPaterson add header file for GetModuleFileNameA 5d09ee5
Duncan Coutts Change calls to 'make' into '$(MAKE)'
This is the portable thing to do and fixes things on FreeBSD where make/=gmake
May 03, 2006
RossPaterson Hugs: copy path module into package build dir 21dd221
RossPaterson pass correct -P flag to ffihugs
The -P flag wasn't superfluous, but it was wrong for executables.
RossPaterson Hugs: copy paths module to the right place, this time 0447d0d
May 06, 2006
Merge "unrecognized long opt" fix from 6.4.2 7f80ee5
May 18, 2006
parsec is not a dependency
It is apparently required for the wash2hs test, however.
Jun 04, 2006
generate .haddock interface file when running haddock c34d0dc
stripPrefix -> dropPrefix e215b54
Jun 05, 2006
Distribution.simple: haddock option --use-package tells which package…
…s to hyperlink to
Jun 09, 2006
Distribution.Compat.Directory: added getDirectoryContentsWithoutSpecial ec4a437
Distribution.Simple.Utils: copyDirectoryRecursiveVerbose e322a47
PackageDescription: added toMaybe, some logical simplifications d23a671
PackageDescription: haddockName generates the name of the .haddock file d67d756
install Haddock documentation in share/package/doc/html and register …
…that path in the ghc-pkg
Jun 24, 2006
唐鳳 implement support for flat-file layout 7e5a81f
唐鳳 it's now 00-latest not latest 7bbf208
唐鳳 stage 2 patch: implement the "list" command 4724f12
唐鳳 finish interaction with remote HTTP servers 226fe24
Jul 04, 2006
Duncan Coutts 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.
Jul 05, 2006
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.
Jul 08, 2006
Isaac Potoczny-Jones resolve conflicts from henning-thielemann's work. Thanks Henning! 7890d73
Jul 11, 2006
fix indentation in do block for H'98 compatibility ecf96fa
Jul 20, 2006
build and install cabal-setup as part of GHC build 817c904
Add initial support for --enable/disable-library-vanilla flags 9db44ae
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.
Jul 26, 2006
Duncan Coutts 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.
Duncan Coutts Wrap excessively long line 2922916
Duncan Coutts Add documentation of new LocalBuildInfo fields da17fdc
Jul 28, 2006
install: pass the verbose flag to register too f26df04
Aug 02, 2006
Duncan Coutts Try to support TH with profiling. See ticket #91.
This needs testing.
Aug 03, 2006
GHC build only: set $(MKDEPENDHS) in addition to $(HC) b178fcd
Aug 06, 2006
Lemmih Don't check for packagesDirName and servListFile, they may not exist. 79404c4
Lemmih Change 'getInstalledPkg' to the more sensible 'getLatestPkg'. 1f949ca
Aug 09, 2006
Avoid use of deprecated Data.FiniteMap, if possible
Distribution.Compat.Map taken from Haddock.
Aug 10, 2006
RossPaterson repair Distribution.Compat.Map for non-GHC 4662099
Aug 18, 2006
Duncan Coutts 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.
Duncan Coutts Use ghc from the path by default in the Makefile 3ccb921
Aug 21, 2006
Duncan Coutts Use 30k by default for max command line length.
We'll see if anyone complains.
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.
Duncan Coutts Do not expose modules that are internal to the Cabal package
This brings it in sync with the package.conf.
Duncan Coutts Use long-style args to haddock. 2130141
Aug 22, 2006
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).
On second thoughts, follow the Cabal docs for the syntax of package n…

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

  bindir  = $prefix\$pkgid
  datadir = $prefix


  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.
Make haddock target support the --hoogle flag
Originally Neil Mitchell's patch, minor conflict fixed by me.
Aug 23, 2006
Duncan Coutts 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)
Duncan Coutts Use slightly simpler way of getting GHC version.
ghc has supported --numeric-version for ages.
Aug 27, 2006
RossPaterson change title to Haskell Hierarchical Libraries 8316eb5
RossPaterson fix haddock reference aa7b097
RossPaterson Hugs-only comment tweak 44892fb
RossPaterson non-GHC: use System.Console.GetOpt 6209362
RossPaterson hide internal modules from haddock 88593e5
RossPaterson export PWarning for interface closure e13834e
Lemmih Don't ignore C-objects when linking prof-libraries. 97ead16
Sep 01, 2006
simonpj Add BangPatterns to Extensions 3a7ece8
Sep 02, 2006
Duncan Coutts 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.
Sep 05, 2006
Duncan Coutts Bump version number to first 1.1.6 release candidate. 1cbf0f1
Duncan Coutts Add --hoogle docs, thanks to ndm for the text. 3d813ad
Sep 06, 2006
Duncan Coutts Remove extensions and options that are only needed for cabal-install
Since we're not shipping cabal-install or cabal-setup just yet.
Duncan Coutts Eliminate warnings of dups in the export list. bee21be
Duncan Coutts 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.
Duncan Coutts Update import in the withHooks test in the testsuite. 1a0a5f5
Duncan Coutts Bump version number in Makefile to match. ee71f63
Duncan Coutts Don't build with -Wall for the release.
It just makes us look bad! :-)
Duncan Coutts Account more accurately for command line chunk size. 686cdf8
Duncan Coutts Fix xml escaping in user guide docbook. d1dc7ed
Duncan Coutts {-# OPTIONS -fglasgow-exts #-} is not needed. 7812166
Duncan Coutts 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.
Duncan Coutts Do not build cabal-setup or cabal-install for now. 9f85579
Duncan Coutts Use a versioned tarball c3e5ac5
Duncan Coutts Second 1.1.6 release candidate. 941b65f
Sep 08, 2006
Duncan Coutts Use {-# OPTIONS_GHC -cpp #-} so that runghc Setup.lhs works. 4dfc637
Duncan Coutts Check exit codes!
Cabal was not noticing haddock failing. That's bad.
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.
Sep 10, 2006
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
Sep 11, 2006
Duncan Coutts 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.
Duncan Coutts Bump version for 3rd 1.1.6 release candidate 0bc1b18
Duncan Coutts TAG b2d1df1
Sep 22, 2006
Isaac Potoczny-Jones clarification of the way --inplace works 862c17b
Sep 26, 2006
Lemmih Fix the combination of --enable-library-profiling and --enable-split-…
Lemmih CabalSetup: reuse './setup' if it's newer than the setup script. abb6787
Oct 05, 2006
Duncan Coutts Use pragma OPTIONS rather than OPTIONS_GHC for compatability with ghc…
… 6.2.x
Duncan Coutts 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.
Oct 07, 2006
Duncan Coutts Have the default make target be build rather than test
This is more normal.
Duncan Coutts Make the configure step respect the HC makefile var cd564e8
Duncan Coutts 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.
Duncan Coutts Bump version to 6af79a6
Duncan Coutts TAG 0137ffc
Oct 09, 2006
Duncan Coutts Update README, changelog and releaseNotes 3a7fc29
Duncan Coutts Add note about unix dep for ghc-6.2 b2cc5b2
Duncan Coutts Bum version to 1.1.6 release 012c18c
Oct 10, 2006
Duncan Coutts 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.