module Distribution.Types.ForeignLib.Lens (
ForeignLib,
module Distribution.Types.ForeignLib.Lens,
) where
import Distribution.Compat.Lens
import Distribution.Compat.Prelude
import Prelude ()
import Distribution.Types.BuildInfo (BuildInfo)
import Distribution.Types.ForeignLib (ForeignLib, LibVersionInfo)
import Distribution.Types.ForeignLibOption (ForeignLibOption)
import Distribution.Types.ForeignLibType (ForeignLibType)
import Distribution.Types.UnqualComponentName (UnqualComponentName)
import Distribution.Version (Version)
import qualified Distribution.Types.ForeignLib as T
foreignLibName :: Lens' ForeignLib UnqualComponentName
foreignLibName f s = fmap (\x -> s { T.foreignLibName = x }) (f (T.foreignLibName s))
foreignLibType :: Lens' ForeignLib ForeignLibType
foreignLibType f s = fmap (\x -> s { T.foreignLibType = x }) (f (T.foreignLibType s))
foreignLibOptions :: Lens' ForeignLib [ForeignLibOption]
foreignLibOptions f s = fmap (\x -> s { T.foreignLibOptions = x }) (f (T.foreignLibOptions s))
foreignLibBuildInfo :: Lens' ForeignLib BuildInfo
foreignLibBuildInfo f s = fmap (\x -> s { T.foreignLibBuildInfo = x }) (f (T.foreignLibBuildInfo s))
foreignLibVersionInfo :: Lens' ForeignLib (Maybe LibVersionInfo)
foreignLibVersionInfo f s = fmap (\x -> s { T.foreignLibVersionInfo = x }) (f (T.foreignLibVersionInfo s))
foreignLibVersionLinux :: Lens' ForeignLib (Maybe Version)
foreignLibVersionLinux f s = fmap (\x -> s { T.foreignLibVersionLinux = x }) (f (T.foreignLibVersionLinux s))
foreignLibModDefFile :: Lens' ForeignLib [FilePath]
foreignLibModDefFile f s = fmap (\x -> s { T.foreignLibModDefFile = x }) (f (T.foreignLibModDefFile s))