X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FLinker.lhs;h=fbef432a95ca21edc5a3128f80f849a81422696a;hb=0323459f422cc1cc62335f2ef5aac68d6896473b;hp=0d98fb965f5a8a1c50fd6cbaed0c92780f05b92d;hpb=43d9be898eadb04950bc0b0b272e0f05aedb463d;p=ghc-hetmet.git diff --git a/compiler/ghci/Linker.lhs b/compiler/ghci/Linker.lhs index 0d98fb9..fbef432 100644 --- a/compiler/ghci/Linker.lhs +++ b/compiler/ghci/Linker.lhs @@ -1068,11 +1068,11 @@ loadFrameworks pkg -- Try to find an object file for a given library in the given paths. -- If it isn't present, we assume it's a dynamic library. -#ifndef __PIC__ --- When the GHC package was not compiled as dynamic library (=__PIC__ not set), --- we search for .o libraries first. locateOneObj :: [FilePath] -> String -> IO LibrarySpec locateOneObj dirs lib + | not picIsOn + -- When the GHC package was not compiled as dynamic library + -- (=__PIC__ not set), we search for .o libraries first. = do { mb_obj_path <- findFile mk_obj_path dirs ; case mb_obj_path of Just obj_path -> return (Object obj_path) @@ -1081,14 +1081,9 @@ locateOneObj dirs lib ; case mb_lib_path of Just lib_path -> return (DLL (lib ++ "-ghc" ++ cProjectVersion)) Nothing -> return (DLL lib) }} -- We assume - where - mk_obj_path dir = dir lib <.> "o" - mk_dyn_lib_path dir = dir mkSOName (lib ++ "-ghc" ++ cProjectVersion) -#else --- When the GHC package was compiled as dynamic library (=__PIC__ set), --- we search for .so libraries first. -locateOneObj :: [FilePath] -> String -> IO LibrarySpec -locateOneObj dirs lib + | otherwise + -- When the GHC package was compiled as dynamic library (=__PIC__ set), + -- we search for .so libraries first. = do { mb_lib_path <- findFile mk_dyn_lib_path dirs ; case mb_lib_path of Just lib_path -> return (DLL (lib ++ "-ghc" ++ cProjectVersion)) @@ -1100,7 +1095,6 @@ locateOneObj dirs lib where mk_obj_path dir = dir (lib <.> "o") mk_dyn_lib_path dir = dir mkSOName (lib ++ "-ghc" ++ cProjectVersion) -#endif -- ---------------------------------------------------------------------------- -- Loading a dyanmic library (dlopen()-ish on Unix, LoadLibrary-ish on Win32)