-
Notifications
You must be signed in to change notification settings - Fork 722
Open
Labels
Description
This is following explicit rule of "don't do anything you are not told to do".
cabal-version: 3.4.
only generatePaths_pkgname.hs
if there isautogen-modules: Paths_pkgname
(note,other-modules
would not be enough!)cabal-version: 3.0
or older: generatePaths_pkgname.hs
always.
Along the same vein we could not generate cabal_macros.h
(if there's no *-extensions: CPP
), but that would be a silent breakage as recent GHCs provide some of definitions. So for cabal_macros.h
, the best we can do is to not generate additional TOOL_*
macros. #6442 is related
cabal-version: 3.4
and recent GHC: generatecabal_macros.h
only if there is*-extensions: CPP
cabal-versions: 3.4
and old GHC:- generate full
cabal_macros.h
if there's*-extensions: CPP
- generate only
TOOL_
andCURRENT_
definitions if there is not*-extensions: CPP
- generate full
cabal-version: 3.0
or older, and recent GHC: generate onlyTOOL_
andCURRENT_
definitionscabal-version: 3.0
or older, and old GHC: generate fullcabal_macros.h
Note: currently Paths_pkgname.hs
uses CPP itself, but it can be changed.
We can generate Paths file suitable for specific compiler/dependencies version.
Discussion time: until 2020-02-01