- let mod_basename = dots_to_slashes (moduleNameUserString mod_name)
- (basename,extension) = splitFilename src_filename
-
- case maybePrefixMatch (reverse mod_basename) (reverse basename) of
- Just "" ->
- mkHomeModLocationSearched mod_name "." mod_basename extension
- Just rest -> do
- let path = reverse (dropWhile (=='/') rest)
- mkHomeModLocationSearched mod_name path mod_basename extension
- Nothing -> do
- -- hPutStrLn stderr ("Warning: " ++ src_filename ++
- -- ": filename and module name do not match")
- let (dir,basename,ext) = splitFilename3 src_filename
- mkHomeModLocationSearched mod_name dir basename ext
-
-mkHomeModLocationSearched mod_name path src_basename ext = do
- hisuf <- readIORef v_Hi_suf
- hidir <- readIORef v_Hi_dir
-
- let mod_basename = dots_to_slashes (moduleNameUserString mod_name)
-
- obj_fn <- mkObjPath path mod_basename
+ let (basename,extension) = splitFilename src_filename
+ mkHomeModLocation' mod_name basename extension