Cabal-3.12.0.0: A framework for packaging Haskell software
CopyrightSimon Marlow 2008
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Distribution.Simple.Build.Macros

Description

Generate cabal_macros.h - CPP macros for package version testing

When using CPP you get

VERSION_<package>
MIN_VERSION_<package>(A,B,C)

for each package in build-depends, which is true if the version of package in use is >= A.B.C, using the normal ordering on version numbers.

TODO Figure out what to do about backpack and internal libraries. It is very suspicious that this stuff works with munged package identifiers

Synopsis

Documentation

generateCabalMacrosHeader :: PackageDescription -> LocalBuildInfo -> ComponentLocalBuildInfo -> String Source #

The contents of the cabal_macros.h for the given configured package.

generatePackageVersionMacros :: Version -> [PackageId] -> String Source #

Helper function that generates just the VERSION_pkg and MIN_VERSION_pkg macros for a list of package ids (usually used with the specific deps of a configured package).