diff options
Diffstat (limited to 'compiler/main/PackageConfig.hs')
-rw-r--r-- | compiler/main/PackageConfig.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/compiler/main/PackageConfig.hs b/compiler/main/PackageConfig.hs index 3c41151c11..71a84d8622 100644 --- a/compiler/main/PackageConfig.hs +++ b/compiler/main/PackageConfig.hs @@ -12,13 +12,18 @@ module PackageConfig ( -- * PackageKey packageConfigId, + -- * LibraryName + LibraryName(..), + -- * The PackageConfig type: information about a package PackageConfig, InstalledPackageInfo(..), InstalledPackageId(..), SourcePackageId(..), PackageName(..), + UnitName(..), Version(..), + packageUnitName, defaultPackageConfig, installedPackageIdString, sourcePackageIdString, @@ -54,6 +59,8 @@ type PackageConfig = InstalledPackageInfo newtype InstalledPackageId = InstalledPackageId FastString deriving (Eq, Ord) newtype SourcePackageId = SourcePackageId FastString deriving (Eq, Ord) newtype PackageName = PackageName FastString deriving (Eq, Ord) +newtype UnitName = UnitName FastString deriving (Eq, Ord) +newtype LibraryName = LibraryName FastString deriving (Eq, Ord) instance BinaryStringRep InstalledPackageId where fromStringRep = InstalledPackageId . mkFastStringByteString @@ -67,6 +74,10 @@ instance BinaryStringRep PackageName where fromStringRep = PackageName . mkFastStringByteString toStringRep (PackageName s) = fastStringToByteString s +instance BinaryStringRep LibraryName where + fromStringRep = LibraryName . mkFastStringByteString + toStringRep (LibraryName s) = fastStringToByteString s + instance Uniquable InstalledPackageId where getUnique (InstalledPackageId n) = getUnique n @@ -79,6 +90,12 @@ instance Uniquable PackageName where instance Outputable InstalledPackageId where ppr (InstalledPackageId str) = ftext str +instance Outputable UnitName where + ppr (UnitName str) = ftext str + +instance Outputable LibraryName where + ppr (LibraryName str) = ftext str + instance Outputable SourcePackageId where ppr (SourcePackageId str) = ftext str @@ -172,3 +189,6 @@ pprPackageConfig InstalledPackageInfo {..} = packageConfigId :: PackageConfig -> PackageKey packageConfigId = packageKey +packageUnitName :: PackageConfig -> UnitName +packageUnitName pkg = let PackageName fs = packageName pkg + in UnitName fs |