diff options
| author | Ian Lynagh <igloo@earth.li> | 2010-10-31 16:17:32 +0000 |
|---|---|---|
| committer | Ian Lynagh <igloo@earth.li> | 2010-10-31 16:17:32 +0000 |
| commit | db5a9f514725061683e91118e8ff608c80104d36 (patch) | |
| tree | ed95e3b1b6fe773c8195ad32793f3ff3ed4da7ca /libraries/base/codepages/MakeTable.hs | |
| parent | e44eac21d911766dec925245a12a8c71eba63bf6 (diff) | |
| download | haskell-db5a9f514725061683e91118e8ff608c80104d36.tar.gz | |
Add a Makefile for MakeTable, and remove GHC.Num generated import
Diffstat (limited to 'libraries/base/codepages/MakeTable.hs')
| -rw-r--r-- | libraries/base/codepages/MakeTable.hs | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/libraries/base/codepages/MakeTable.hs b/libraries/base/codepages/MakeTable.hs index 408d932a75..cd9a8b6efb 100644 --- a/libraries/base/codepages/MakeTable.hs +++ b/libraries/base/codepages/MakeTable.hs @@ -33,11 +33,22 @@ import Control.Exception(evaluate) main :: IO () main = do moduleName:outFile:files <- getArgs - sbes <- mapM readMapAndIx files + let badFiles = -- These fail with an error like + -- MakeTable: Enum.toEnum{Word8}: tag (33088) is outside of bounds (0,255) + -- I have no idea what's going on, so for now we just + -- skip them. + ["CPs/CP932.TXT", + "CPs/CP936.TXT", + "CPs/CP949.TXT", + "CPs/CP950.TXT"] + let files' = filter (`notElem` badFiles) files + sbes <- mapM readMapAndIx files' + putStrLn "Writing output" withBinaryFile outFile WriteMode $ flip hPutStr - $ unlines $ makeTableFile moduleName files sbes + $ unlines $ makeTableFile moduleName files' sbes where readMapAndIx f = do + putStrLn ("Reading " ++ f) m <- readMap f return (codePageNum f, m) @@ -201,7 +212,7 @@ firstComment files = map ("-- " ++) $ theImports :: [String] theImports = map ("import " ++ ) - ["GHC.Prim", "GHC.Base", "GHC.Word", "GHC.Num"] + ["GHC.Prim", "GHC.Base", "GHC.Word"] theTypes :: [String] theTypes = [ "data ConvArray a = ConvArray Addr#" |
