Remove more ifdeffery
authorIan Lynagh <igloo@earth.li>
Sat, 14 Jun 2008 20:51:31 +0000 (20:51 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 14 Jun 2008 20:51:31 +0000 (20:51 +0000)
compiler/ghci/Linker.lhs
compiler/utils/Util.lhs

index 0d98fb9..fbef432 100644 (file)
@@ -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)
index 1ecf82c..82e0393 100644 (file)
@@ -6,7 +6,7 @@
 
 \begin{code}
 module Util (
-        debugIsOn, ghciTablesNextToCode,
+        debugIsOn, ghciTablesNextToCode, picIsOn,
         isWindowsHost, isWindowsTarget, isDarwinTarget,
 
         -- general list processing
@@ -126,6 +126,13 @@ ghciTablesNextToCode = True
 ghciTablesNextToCode = False
 #endif
 
+picIsOn :: Bool
+#ifdef __PIC__
+picIsOn = True
+#else
+picIsOn = False
+#endif
+
 isWindowsHost :: Bool
 #ifdef mingw32_HOST_OS
 isWindowsHost = True