@@ -3019,25 +3019,28 @@ Autogenerated modules and includes
30193019
30203020.. pkg-section:: None
30213021
3022- Modules that are built automatically at setup, created with a custom
3023- setup script, must appear on :pkg-field:`other-modules` for the library,
3024- executable, test-suite or benchmark stanzas or also on
3025- :pkg-field:`library:exposed-modules` for libraries to be used, but are not
3026- really on the package when distributed. This makes commands like sdist fail
3027- because the file is not found.
3028-
3029- These special modules must appear again on the :pkg-field:`autogen-modules`
3030- field of the stanza that is using them, besides :pkg-field:`other-modules` or
3031- :pkg-field:`library:exposed-modules`. With this there is no need to create
3032- complex build hooks for this poweruser case.
3022+ Autogenerated modules are not included with the package source. Instead, they
3023+ are built automatically at setup or created with a custom setup script and must
3024+ appear twice for a component: once to flag them as being autogenerated in an
3025+ :pkg-field:`autogen-modules` field, and again to bring them into the component
3026+ with a listing in :pkg-field:`other-modules` or
3027+ :pkg-field:`library:exposed-modules`.
3028+
3029+ .. warning::
3030+
3031+ ``cabal sdist`` will fail to generate a source distribution reporting that
3032+ module files are not found if autogenerated files are not listed in
3033+ :pkg-field:`autogen-modules` fields.
3034+
3035+ :pkg-field:`executable:main-is` modules are not supported on
3036+ :pkg-field:`autogen-modules`.
30333037
30343038.. pkg-field:: autogen-modules: module list
30353039 :since: 2.0
30363040
3037- .. todo:: document autogen-modules field
3038-
3039- Right now :pkg-field:`executable:main-is` modules are not supported on
3040- :pkg-field:`autogen-modules`.
3041+ A list of autogenerated modules. Each one of these modules must also be
3042+ listed elsewhere as if they were modules on disk. Autogenerated modules are
3043+ not packaged by the ``cabal sdist`` command.
30413044
30423045::
30433046
@@ -3065,9 +3068,9 @@ Right now :pkg-field:`executable:main-is` modules are not supported on
30653068.. pkg-field:: autogen-includes: filename list
30663069 :since: 3.0
30673070
3068- A list of header files from this package which are autogenerated
3069- (e.g. by a ``configure`` script). Autogenerated header files are not
3070- packaged by `` sdist`` command.
3071+ A list of header files from this package which are autogenerated (e.g. by a
3072+ ``configure`` script). Autogenerated header files are not packaged by
3073+ the ``cabal sdist`` command.
30713074
30723075
30733076.. _accessing-data-files:
0 commit comments