-H80m isn't allowed in an options pragma. Just remove it for now.
[ghc-hetmet.git] / compiler / main / ParsePkgConf.y
index ac0cebb..b09f2b3 100644 (file)
@@ -1,5 +1,5 @@
 {
-{-# OPTIONS -fno-warn-unused-binds -fno-warn-unused-matches -fno-warn-missing-signatures #-}
+{-# OPTIONS -fno-warn-unused-binds -fno-warn-unused-matches -fno-warn-missing-signatures -fno-warn-incomplete-patterns #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and fix
 -- any warnings in the module. See
@@ -10,6 +10,7 @@ module ParsePkgConf( loadPackageConfig ) where
 
 #include "HsVersions.h"
 
+import Distribution.Package hiding ( depends )
 import PackageConfig
 import Lexer
 import Module
@@ -112,9 +113,15 @@ field      :: { PackageConfig -> PackageConfig }
                }
 
 pkgid  :: { PackageIdentifier }
-       : CONID '{' VARID '=' STRING ',' VARID '=' version '}'
-                       { PackageIdentifier{ pkgName = unpackFS $5, 
-                                            pkgVersion = $9 } }
+       : CONID '{' VARID '=' CONID STRING ',' VARID '=' version '}'
+            {% case unpackFS $5 of
+               "PackageName" ->
+                   return $ PackageIdentifier {
+                                pkgName = PackageName (unpackFS $6),
+                                pkgVersion = $10
+                            }
+               _ -> happyError
+            }
 
 version :: { Version }
        : CONID '{' VARID '=' intlist ',' VARID '=' strlist '}'