anchor.diff:              :?> FSharpCompilationServer 
   
           static member TryCompileUsingServer(fscServerExe,argv) =
  +            // Enable these lines to write a log file, e.g. when running under xbuild
  +            //let os = System.IO.File.CreateText "/tmp/fsc-client-log"
  +            //let printfn fmt = Printf.kfprintf (fun () -> fprintfn os ""; os.Flush()) os fmt
  +            progress := !progress ||  condition "FSHARP_SERVER_PROGRESS"
               let pwd = System.Environment.CurrentDirectory
               let clientOpt = 
  +                if !progress then printfn "client: creating client"
                   // Detect the absence of the channel via the exception. Probably not the best way.
                   // Different exceptions get thrown here on Mono and Windows.
                   let client = FSharpCompilationServer.ConnectToServer()
  
positive.code:                      
                      // Create the client proxy and attempt to connect to the server
                      let rec tryAcccesServer nRemaining =
                          if nRemaining = 0 then 
                              // Failed to connect to server, give up 
                              None
  
negative.code:                     if !progress then printfn "client: connected to existing service"
                      Some client
                  with _ ->
                      if !progress then printfn "client: error while creating client, starting client instead"
                      let procInfo = 
                          if runningOnMono then
                              let shellName, useShellExecute = 
                                  match System.Environment.GetEnvironmentVariable("FSC_MONO") with 
                                  | null -> 
                                      if onWindows then 
                                          // e.g. "C:\Program Files\Mono-2.6.1\lib\mono\2.0\mscorlib.dll" --> "C:\Program Files\Mono-2.6.1\bin\mono.exe"
                                          Path.Combine(Path.GetDirectoryName (typeof<Object>.Assembly.Location), @"..\..\..\bin\mono.exe"), false
                                      else
                                          "mono-sgen", true
                                  | path -> path, true
                                       
                              ProcessStartInfo(FileName = shellName,
                                               Arguments = fscServerExe + " /server",
                                               CreateNoWindow = true,
  