This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 18 Jul, 2011 1 commit
  2. 08 Jul, 2011 1 commit
    • Duncan Coutts's avatar
      Fix withComponentsLBI and move Components to LocalBuildInfo module · 1c20a632
      Duncan Coutts authored
      An annoyance of the current Simple build system is that each phase
      (build, install, etc) can be passed additional HookedBuildInfo which
      gets merged into the PackageDescription. This means that we cannot
      process the PackageDescription up front at configure time and just
      store and reuse it later, we have to work from it each time afresh.
      
      The recent addition of Components (libs, exes, test suites) and a
      topoligical sort of the components in the LocalBuildInfo fell foul
      of this annoyance. The LocalBuildInfo stored the entire component
      which meant they were not updated with the HookedBuildInfo. This
      broke packages with custom Setup.hs scripts that took advantage of
      the HookedBuildInfo feature, including those with configure scripts.
      
      The solution is to store not the list of whole components but the
      list of component names. Then withComponentsLBI retrieves the actual
      components from the PackageDescription which thus includes the
      HookedBuildInfo.
      
      Also moved the Components into an internal module because (for the
      moment at least) it is part of the Simple build system, not part of
      the package description.
      1c20a632
  3. 19 Jun, 2011 1 commit
  4. 05 May, 2011 1 commit
    • intractable's avatar
      intrapackage-deps-and-per-component-preprocessing · 2e348126
      intractable authored
      This patch adds intrapackage dependency resolution so that components
      (libraries, exes, test suites) are build in the correct order.  This mean it's
      now possible to have, e.g., executables that depend on other executables defined
      in the same package description: the build-tools namespace has been extended
      accordingly.
        
      Related to this change is the refactoring of the do-it-all preprocessSources
      function, formerly invoked by initialBuildSteps, into a a function
      preprocessComponent that is invoked when a component is being built.  This lets
      us use executables defined in a package to be used as a custom preprocessor when
      building other components.
        
      Finally, a number of functions now operate on values of the sum type
      PackageDescription.Component rather than specifically operating on Library or
      Executable and so forth.
      2e348126
  5. 16 Aug, 2009 1 commit
    • Thomas Schilling's avatar
      Add --html for haddock command. · 309c4efb
      Thomas Schilling authored
      This makes it easier to build both html documentation and a hoogle
      database:
      
        ./setup haddock [--html]   # build only HTML docs (default)
        ./setup haddock --hoogle   # build only Hoogle DB
        ./setup haddock --hoogle --html   # build both
      309c4efb
  6. 25 Oct, 2010 1 commit
  7. 18 Oct, 2010 1 commit
    • Duncan Coutts's avatar
      Add new language and extensions fields (internal data structures) · 7a8c60d0
      Duncan Coutts authored
      New fields default-language and other-languages for specifying the
      base languages for the package, e.g. Haskell98, Haskell2010
      New fields default-extensions and other-extensions for the language
      extensions. Separate from the old extensions field.
      The separation lets us express the difference between declaring to
      the outside world that a package uses certain languages or extensions
      and whether certain languages or extensions should be applied to
      all modules in the package component.
      7a8c60d0
  8. 23 Jun, 2010 1 commit
  9. 11 Apr, 2010 1 commit
  10. 08 Apr, 2010 1 commit
    • Duncan Coutts's avatar
      Workaround the fact that haddock stomps on our precious .hi and .o files · 796d34b4
      Duncan Coutts authored
      When using "haddock --optghc-XTemplateHaskell" haddock will write out .o
      and .hi files. This is bad because it replaces the ones we previously
      built. This results in broken packages later on. Of course haddock
      should not do this, it should write temp files elsewhere. The workaround
      is to tell haddock to write the files to a temp dir.
      796d34b4
  11. 30 Dec, 2009 1 commit
  12. 05 Oct, 2009 2 commits
    • Duncan Coutts's avatar
      Stop converting between installed package id and source package id · 7f9ad6bc
      Duncan Coutts authored
      In the LocalBuildInfo, for each component, for the list of component
      dependencies, keep both the InstalledPackageId and the PackageId.
      That way we don't need to keep converting the InstalledPackageId
      to the PackageId, via the package index (which is just horrible).
      7f9ad6bc
    • Duncan Coutts's avatar
      Rewrite the PackageIndex again · 15f70a85
      Duncan Coutts authored
      It's a unified index again, rather than one for looking up by an
      InstalledPackageId and one for the source PackageId. The new one
      lets you look up by either. It also maintains the order of
      preference of different installed packages that share the same
      source PackageId. In configure we just pick the first preference.
      15f70a85
  13. 06 Aug, 2009 1 commit
  14. 05 Jul, 2009 1 commit
  15. 01 Jun, 2009 1 commit
    • Duncan Coutts's avatar
      Split requireProgram into two different functions · 05d3ca2b
      Duncan Coutts authored
      Now requireProgram doesn't take a version range and does not check
      the program version (indeed it doesn't need to have one). The new
      function requireProgramVersion takes a required program version
      range and returns the program version. Also update callers.
      Also fixes the check that GHC has a version number.
      05d3ca2b
  16. 28 May, 2009 1 commit
  17. 27 May, 2009 2 commits
  18. 22 Apr, 2009 1 commit
  19. 02 Mar, 2009 1 commit
  20. 19 Feb, 2009 1 commit
    • Saizan's avatar
      rewrite of Distribution.Simple.Haddock · cef898e2
      Saizan authored
      In addition to (hopefully) making clear what's going on
      we now do the additional preprocessing for all the versions of haddock 
      (but not for hscolour) and we run cpp before moving the files.
      cef898e2
  21. 01 Feb, 2009 1 commit
  22. 29 Jan, 2009 1 commit
  23. 01 Dec, 2008 1 commit
  24. 03 Sep, 2008 1 commit
  25. 01 Sep, 2008 1 commit
  26. 31 Aug, 2008 1 commit
  27. 30 Aug, 2008 1 commit
    • Duncan Coutts's avatar
      Merge PackageSet and PackageIndex · eea57172
      Duncan Coutts authored
      Have just a single module that provides both the case sensitive and
      insensitive operations. Turns out we hardly use the case insensitive
      operations, and the places where we do are not performance sensitive
      at all. So we use the PackageSet implementation which stores the
      packages case sensitively and tack on the case insensitive operations
      but with linear time implementations rather than log time. For the
      merged module/type name use PackageIndex because that is what older
      released versions exported, so less needless client breakage.
      eea57172
  28. 28 Aug, 2008 1 commit
  29. 29 Jul, 2008 1 commit
  30. 20 Jul, 2008 1 commit
    • Duncan Coutts's avatar
      Convert from PackageIndex to PackageSet · c6f2d793
      Duncan Coutts authored
      Turns out the feature to do case-insensitive lookups was only
      needed in cabal-install (and only in one little part) and
      elsewhere it causes problems. So use PackageSet instead.
      c6f2d793
  31. 28 Jun, 2008 1 commit
    • Duncan Coutts's avatar
      Update module headers · 0c993c84
      Duncan Coutts authored
      Use cabal-devel@haskell.org as the maintainer in most cases except for
      a few which were pre-existing modules copied from elsewhere or modules
      like L.H.Extension which really belong to libraries@haskell.org
      Remove the useless stability module. We have more detailed information
      on stability elsewhere (in the version number and user guide).
      Add more top level module documentation, taken from the source guide.
      0c993c84
  32. 26 Jun, 2008 2 commits
  33. 13 Jun, 2008 1 commit
  34. 09 Jun, 2008 2 commits
  35. 11 May, 2008 1 commit
  36. 01 May, 2008 1 commit