[project @ 2000-11-14 15:03:46 by sewardj]
authorsewardj <unknown>
Tue, 14 Nov 2000 15:03:46 +0000 (15:03 +0000)
committersewardj <unknown>
Tue, 14 Nov 2000 15:03:46 +0000 (15:03 +0000)
Don't forget to prepend paths to source module names.

ghc/compiler/main/Finder.lhs

index 387864f..ae4ff77 100644 (file)
@@ -92,28 +92,33 @@ maybeHomeModule mod_name = do
        lhs = basename ++ ".lhs"
 
    case lookupFM home_map hs of {
-       Just path -> mkHomeModuleLocn mod_name (path ++ '/':basename) hs;
+       Just path -> mkHomeModuleLocn mod_name (path ++ '/':basename) 
+                                               (path ++ '/':hs);
        Nothing ->
 
    case lookupFM home_map lhs of {
-       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename) lhs;
+       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename) 
+                                                (path ++ '/':lhs);
        Nothing -> do
 
    -- can't find a source file anywhere, check for a lone .hi file.
    hisuf <- readIORef v_Hi_suf
    let hi = basename ++ '.':hisuf
    case lookupFM home_map hi of {
-       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename) hs;
+       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename)
+                                                (path ++ '/':hs);
        Nothing -> do
 
    -- last chance: .hi-boot and .hi-boot-<ver>
    let hi_boot = basename ++ ".hi-boot"
    let hi_boot_ver = basename ++ ".hi-boot-" ++ cHscIfaceFileVersion
    case lookupFM home_map hi_boot of {
-       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename) hs;
+       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename)
+                                                (path ++ '/':hs);
        Nothing -> do
    case lookupFM home_map hi_boot_ver of {
-       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename) hs;
+       Just path ->  mkHomeModuleLocn mod_name (path ++ '/':basename)
+                                                (path ++ '/':hs);
        Nothing -> return Nothing
    }}}}}