[project @ 2004-11-22 14:18:40 by simonmar]
authorsimonmar <unknown>
Mon, 22 Nov 2004 14:18:40 +0000 (14:18 +0000)
committersimonmar <unknown>
Mon, 22 Nov 2004 14:18:40 +0000 (14:18 +0000)
Check the result of System.Cmd.system

ghc/utils/ghc-pkg/Main.hs

index 572ecdb..b83dd8e 100644 (file)
@@ -642,19 +642,18 @@ autoBuildGHCiLib dir batch_file ghci_file = do
   let ghci_lib_file  = dir ++ '/':ghci_file
       batch_lib_file = dir ++ '/':batch_file
   hPutStr stderr ("building GHCi library `" ++ ghci_lib_file ++ "'...")
-#ifdef darwin_TARGET_OS
-  system("ld -r -x -o " ++ ghci_lib_file ++ 
-        " -all_load " ++ batch_lib_file)
-#else
-#ifdef mingw32_HOST_OS
+#if defined(darwin_TARGET_OS)
+  r <- system("ld -r -x -o " ++ ghci_lib_file ++ 
+                " -all_load " ++ batch_lib_file)
+#elif defined(mingw32_HOST_OS)
   execDir <- getExecDir "/bin/ghc-pkg.exe"
-  system (maybe "" (++"/gcc-lib/") execDir++"ld -r -x -o " ++ ghci_lib_file ++ 
-        " --whole-archive " ++ batch_lib_file)
+  r <- system (maybe "" (++"/gcc-lib/") execDir++"ld -r -x -o " ++ 
+               ghci_lib_file ++ " --whole-archive " ++ batch_lib_file)
 #else
-  system("ld -r -x -o " ++ ghci_lib_file ++ 
-        " --whole-archive " ++ batch_lib_file)
-#endif
+  r <- system("ld -r -x -o " ++ ghci_lib_file ++ 
+                " --whole-archive " ++ batch_lib_file)
 #endif
+  when (r /= ExitSuccess) $ exitWith r
   hPutStrLn stderr (" done.")
 
 -- -----------------------------------------------------------------------------