diff --git a/ghc/driver/Main.hs b/ghc/driver/Main.hs
index 45c5fee71e64bae137de645a8da3cbbb01b432f1..63d2a76a6e1e0a5ea0c242e5b4107e35e6f2bdea 100644
--- a/ghc/driver/Main.hs
+++ b/ghc/driver/Main.hs
@@ -731,6 +731,7 @@ GLOBAL_VAR(build_tag, "", String)
 data WayName
   = WayProf
   | WayUnreg
+  | WayDll
   | WayTicky
   | WayPar
   | WayGran
@@ -757,6 +758,8 @@ data WayName
 
 GLOBAL_VAR(ways, [] ,[WayName])
 
+-- ToDo: allow WayDll with any other allowed combination
+
 allowed_combinations = 
    [  [WayProf,WayUnreg],
       [WayProf,WaySMP]	   -- works???
@@ -811,6 +814,9 @@ way_details =
 	, "-fno-asm-mangling"
 	, "-funregisterised" ]),
 
+    (WayDll, Way  "dll" "DLLized"
+        [ ]),
+
     (WayPar, Way  "mp" "Parallel" 
 	[ "-fstack-check"
 	, "-fparallel"
@@ -1684,6 +1690,7 @@ run_something phase_name cmd
 	putStr phase_name
 	putStrLn ":"
 	putStrLn cmd
+	hFlush stdout
 
    -- test for -n flag
    n <- readIORef dry_run
@@ -1748,6 +1755,7 @@ opts =
 	------- ways --------------------------------------------------------
   ,  ( "prof"		, NoArg (addNoDups ways	WayProf) )
   ,  ( "unreg"		, NoArg (addNoDups ways	WayUnreg) )
+  ,  ( "dll"            , NoArg (addNoDups ways WayDll) )
   ,  ( "ticky"		, NoArg (addNoDups ways	WayTicky) )
   ,  ( "parallel"	, NoArg (addNoDups ways	WayPar) )
   ,  ( "gransim"	, NoArg (addNoDups ways	WayGran) )