diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -139,6 +139,9 @@
                          , ("intptr_t",  "IntPtr")
                          , ("uintptr_t", "WordPtr") ]
 
+makeModuleName :: String -> String
+makeModuleName = Prelude.concatMap capitalize . splitOn "-"
+
 -- Write out the gathered data
 
 writeProducts :: C2HscOptions -> FilePath -> [String] -> [String] -> IO ()
@@ -154,7 +157,7 @@
       vars   = [ ("libName",   prefix opts)
                , ("cFileName", cap)
                , ("headerFileName", fileName) ]
-      cap    = capitalize . dropExtension . takeFileName $ fileName
+      cap    = makeModuleName . dropExtension . takeFileName $ fileName
       target = cap ++ ".hsc"
 
   handle <- if useStdout opts
@@ -169,7 +172,7 @@
   for_ includes $ \inc -> do
     let incPath      = splitOn "\"" inc !! 1
         incPathParts = map dropTrailingPathSeparator $ splitPath $ dropExtension incPath
-        modName      = intercalate "." $ prefix opts : map capitalize incPathParts
+        modName      = intercalate "." $ prefix opts : map makeModuleName incPathParts
     hPutStrLn handle $ "import " ++ modName
 
   traverse_ (hPutStrLn handle) hscs
diff --git a/c2hsc.cabal b/c2hsc.cabal
--- a/c2hsc.cabal
+++ b/c2hsc.cabal
@@ -1,6 +1,6 @@
 Name: c2hsc
 
-Version:  0.6.4
+Version:  0.6.5
 Synopsis: Convert C API header files to .hsc and .hsc.helper.c files
 
 Description: Convert C API header files to .hsc and .hsc.helper.c files
