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)) {-# INLINE foreignLibName #-} foreignLibType :: Lens' ForeignLib ForeignLibType foreignLibType f s = fmap (\x -> s { T.foreignLibType = x }) (f (T.foreignLibType s)) {-# INLINE foreignLibType #-} foreignLibOptions :: Lens' ForeignLib [ForeignLibOption] foreignLibOptions f s = fmap (\x -> s { T.foreignLibOptions = x }) (f (T.foreignLibOptions s)) {-# INLINE foreignLibOptions #-} foreignLibBuildInfo :: Lens' ForeignLib BuildInfo foreignLibBuildInfo f s = fmap (\x -> s { T.foreignLibBuildInfo = x }) (f (T.foreignLibBuildInfo s)) {-# INLINE foreignLibBuildInfo #-} foreignLibVersionInfo :: Lens' ForeignLib (Maybe LibVersionInfo) foreignLibVersionInfo f s = fmap (\x -> s { T.foreignLibVersionInfo = x }) (f (T.foreignLibVersionInfo s)) {-# INLINE foreignLibVersionInfo #-} foreignLibVersionLinux :: Lens' ForeignLib (Maybe Version) foreignLibVersionLinux f s = fmap (\x -> s { T.foreignLibVersionLinux = x }) (f (T.foreignLibVersionLinux s)) {-# INLINE foreignLibVersionLinux #-} foreignLibModDefFile :: Lens' ForeignLib [FilePath] foreignLibModDefFile f s = fmap (\x -> s { T.foreignLibModDefFile = x }) (f (T.foreignLibModDefFile s)) {-# INLINE foreignLibModDefFile #-}