[project @ 2005-01-12 13:36:30 by simonmar]
authorsimonmar <unknown>
Wed, 12 Jan 2005 13:36:34 +0000 (13:36 +0000)
committersimonmar <unknown>
Wed, 12 Jan 2005 13:36:34 +0000 (13:36 +0000)
Restore splitting at ':' for the -i option, which I broke recently.

ghc/compiler/Makefile
ghc/compiler/main/DriverFlags.hs
ghc/compiler/main/DriverState.hs

index 26ed9fb..4cadc67 100644 (file)
@@ -190,7 +190,6 @@ $(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk Makefile
        @echo "cProjectPatchLevel    = \"$(ProjectPatchLevel)\"" >> $(CONFIG_HS)
        @echo "cBooterVersion        = \"$(GhcVersion)\"" >> $(CONFIG_HS)
        @echo "cHscIfaceFileVersion  = \"$(HscIfaceFileVersion)\"" >> $(CONFIG_HS)
-       @echo "cHOSTPLATFORM         = \"$(HOSTPLATFORM)\"" >> $(CONFIG_HS)
        @echo "cTARGETPLATFORM       = \"$(TARGETPLATFORM)\"" >> $(CONFIG_HS)
        @echo "cTARGETOS             = \"$(TargetOS_CPP)\"" >> $(CONFIG_HS)
        @echo "cTARGETARCH           = \"$(TargetArch_CPP)\"" >> $(CONFIG_HS)
index 2787040..6d24d53 100644 (file)
@@ -543,7 +543,9 @@ ignorePackage p =
 
 -- -i on its own deletes the import paths
 addImportPath "" = updDynFlags (\s -> s{importPaths = []})
-addImportPath p  = updDynFlags (\s -> s{importPaths = p : importPaths s})
+addImportPath p  = do
+  paths <- splitPathList p
+  updDynFlags (\s -> s{importPaths = importPaths s ++ paths})
 
 -- we can only switch between HscC, HscAsmm, and HscILX with dynamic flags 
 -- (-fvia-C, -fasm, -filx respectively).
index 23c7cbb..cb8e6a9 100644 (file)
@@ -205,21 +205,20 @@ GLOBAL_VAR(v_Framework_paths, [], [String])
 GLOBAL_VAR(v_Cmdline_frameworks, [], [String])
 #endif
 
-addToOrDeleteDirList :: IORef [String] -> String -> IO ()
-addToOrDeleteDirList ref ""   = writeIORef ref []
-addToOrDeleteDirList ref path = addToDirList ref path
-
 addToDirList :: IORef [String] -> String -> IO ()
 addToDirList ref path
   = do paths           <- readIORef ref
-       shiny_new_ones  <- splitUp path
-       writeIORef ref (paths ++ filter notNull shiny_new_ones)
+       shiny_new_ones  <- splitPathList path
+       writeIORef ref (paths ++ shiny_new_ones)
+
+
+splitPathList :: String -> IO [String]
+splitPathList s = do ps <- splitUp s; return (filter notNull ps)
                -- empty paths are ignored: there might be a trailing
                -- ':' in the initial list, for example.  Empty paths can
                -- cause confusion when they are translated into -I options
                -- for passing to gcc.
   where
-    splitUp ::String -> IO [String]
 #ifdef mingw32_TARGET_OS
      -- 'hybrid' support for DOS-style paths in directory lists.
      --