Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Jun 28, 2024
  2. May 30, 2024
    • Rodrigo Mesquita's avatar
      Cabal: Don't pass -D__HADDOCK_VERSION__ to haddock · 144383e8
      Rodrigo Mesquita authored
      We no longer define the `__HADDOCK_VERSION__` macro when invoking GHC
      through Haddock, since doing so essentially guarantees recompilation
      during documentation generation.
      
      We audited all uses of `__HADDOCK_VERSION__` in hackage, ensuring there
      was a reasonable path forward to migrate away from using
      `__HADDOCK_VERSION__` for each, while generating the same documentation
      as it did before.
      
      If you are a user of `__HADDOCK_VERSION__`, please take a look at the
      discussion in https://github.com/haskell/cabal/pull/9177 and reach out
      to us if your use case is not covered.
      
      Reverts the version-cpp flag introduced in the previous commit to avoid
      a workaround. Instead, we get rid of the problem (`__HADDOCK_VERSION__`) at its root.
      
      See the discussion in #9177
      144383e8
    • Finley McIlwaine's avatar
      Do not use tmp dirs for Haddock, add --haddock-version-cpp, and more · 80f0a652
      Finley McIlwaine authored
      Haddock no longer writes compilation files by default, so we do not need to pass
      tmp dirs for `-hidir`, `-stubdir`, and `-odir` via `--optghc`. Indeed, we do not
      *want* to do so, since it results in recompilation for every invocation of
      Haddock via Cabal. This commit stops this from happening for haddock versions >=
      2.28 (when Hi Haddock was introduced).
      
      This commit also stops the default definition of the `__HADDOCK_VERSION__` macro
      when invoking GHC through haddock. Since a very limited set of users may still
      depend on this macro, we introduce the `--haddock-version-cpp` flag and
      `haddock-version-cpp:` cabal.project field, which enable the definition of
      the `__HADDOCK_VERSION__` macro when invoking GHC through Haddock. This will
      almost guarantee recompilation during documentation generation due to the macro
      definition.
      
      This commit also renames the `--haddock-lib` flag to `--haddock-resources-dir`
      (and `haddock-lib:` cabal.project field to `haddock-resources-dir:`), and adds
      this flag to the users guide since it was missing an entry. This also allows us
      to add this field to `cabal-install:test:integration-tests2`, since it is no
      longer ambiguous with the `--lib` flag.
      
      This commit also causes `documentation: true` or `--enable-documentation` to
      imply `-haddock` for GHC.
      
      Also, since Haddock >= 2.29 is renaming `--lib` to `--resources-dir`, this
      commit switches the flag provided to Haddock using a backwards compatible
      condition based on the Haddock version.
      
      Adds a changelog entry.
      80f0a652
  3. May 28, 2023
  4. Feb 12, 2005
  5. Feb 11, 2005
  6. Feb 10, 2005
  7. Feb 04, 2005
  8. Feb 03, 2005
  9. Jan 30, 2005
    • Isaac Potoczny-Jones's avatar
      INTERFACE CHANGES! rework of cabal hooks. much of this is from Krasimir · 60913d94
      Isaac Potoczny-Jones authored
      User hooks look like this now:
           preConf  :: Args -> ConfigFlags -> IO HookedBuildInfo,
           postConf :: IO ExitCode,
      
      type HookedBuildInfo = (Maybe BuildInfo, [(String, BuildInfo)])
      
      this means that only stuff in BuildInfo can be overridden.  A
      buildinfo file now looks like this:
      
      name: libraryname
      include-dirs: /foo/bar, /bang/baz
      extensions: CPP
      
      executable: executablename
      extensions: TemplateHaskell
      60913d94
  10. Jan 18, 2005
  11. Jan 16, 2005
  12. Jan 14, 2005
    • Isaac Potoczny-Jones's avatar
      Refactoring of PackageDescription and BuildInfo · b41d07eb
      Isaac Potoczny-Jones authored
      Introduced new data type, Library which is symmetric to Executable.
      Removed "executable only" and "library only" fields from
      PackageDescription and moved them to their respective internal types.
      
      Moved Build-depends out of buildinfo and into the package description
      proper, as per Ross's suggestion.
      
      Cleaned up parser and test cases accordingly.
      b41d07eb
  13. Jan 13, 2005
  14. Jan 10, 2005
  15. Jan 08, 2005
  16. Jan 06, 2005
  17. Jan 03, 2005
  18. Dec 19, 2004
    • Isaac Potoczny-Jones's avatar
      INTERFACE CHANGE: split modules => exposedModules executableModules · 6dd3600e
      Isaac Potoczny-Jones authored
      ** Previously, "hidden-modules" had nothing to do with what gets
         built, and we had to compute "exposed-modules" with "modules `setdiff`
         hidden modules".  At Ross Paterson's suggestion, I added
         Exposed-Modules.
      
      ** Since the executable sections also used the "modules" field, I
         changed it to use "executable-modules", and got rid of the
         ambiguous "modules" field.  This should hopefully be more clear to
         everyone.
      6dd3600e
  19. Dec 07, 2004
  20. Nov 17, 2004
  21. Nov 03, 2004
  22. Oct 07, 2004
    • Isaac Potoczny-Jones's avatar
      basic preprocessing works! with some bugs · 8ef19c28
      Isaac Potoczny-Jones authored
      End-to-end preprocessing solution, including some test cases.
      One test case fails:
        right now, preprocessors just stick files into the current
        directory, then copies them into the destination.  this is no good
        since we now won't be able to tell them from real source files the
        next time around.  clean is broken here...
      8ef19c28
  23. Jul 30, 2004
  24. Jul 26, 2004
  25. Jul 25, 2004
  26. Jul 23, 2004
  27. Jul 22, 2004
Loading