anchor.diff:  
   let FSharpVersion = "3.2.17"
   
  -let LinuxPaths = 
  +let UnixPaths = 
       [ "/usr/lib/monodevelop"
         "/usr/local/monodevelop/lib/monodevelop"
         "/usr/local/lib/monodevelop"
  
positive.code:         mdVersion <- Grep (GetPath [mdDir; "../../main/configure.in"], @"AC_INIT.*?(?<ver>([0-9]|\.)+)", "ver")
  else
      // Using installed MonoDevelop
      let searchPaths = if IsWindows then WindowsPaths else LinuxPaths
      mdDir <- searchPaths.FirstOrDefault (fun p -> File.Exists (GetPath [p; MdCheckFile]))
      if (mdDir <> null) then
          let mutable mdExe = null
          if (File.Exists (GetPath[mdDir; "../../XamarinStudio"])) then
              mdExe <- GetPath[mdDir; "../../XamarinStudio"]
          elif (File.Exists (GetPath [mdDir; "../../MonoDevelop"])) then
              mdExe <- GetPath [mdDir; "../../MonoDevelop"]
          elif (File.Exists (GetPath[mdDir; "bin/XamarinStudio.exe"])) then
              mdExe <- GetPath[mdDir; "bin/XamarinStudio.exe"]
          elif (File.Exists (GetPath [mdDir; "bin/MonoDevelop.exe"])) then
              mdExe <- GetPath [mdDir; "bin/MonoDevelop.exe"]
          if (mdExe <> null) then
              let outp = Run(mdExe, "/?").ReadLine()
              mdVersion <- outp.Split([| ' ' |], StringSplitOptions.RemoveEmptyEntries).Last()
  
  if not IsWindows then
      // Update the makefile. We don't use that on windows
      FileReplace ("Makefile.orig", "Makefile", "INSERT_MDROOT", mdDir)
      FileReplace ("Makefile", "Makefile", "INSERT_MDVERSION4", mdVersion)
      FileReplace ("Makefile", "Makefile", "INSERT_VERSION", FSharpVersion)
      
  if (mdDir <> null) then
      Console.WriteLine ("MonoDevelop binaries found at: {0}", mdDir)
  else
      Console.WriteLine ("MonoDevelop binaries not found. Continuing anyway")
  
  Console.WriteLine ("Detected version: {0}", mdVersion)
  
  let tag = if IsWindows then "windows" else "local"
  
  let fsprojFile = "MonoDevelop.FSharpBinding/MonoDevelop.FSharp." + tag + ".fsproj"
  let xmlFile = "MonoDevelop.FSharpBinding/FSharpBinding.addin.xml"
  
negative.code: let MdCheckFile = "bin/MonoDevelop.Core.dll"
  
  
  let isWindows = (Path.DirectorySeparatorChar = '\\')
  
  let GetPath (str: string list) =
      Path.GetFullPath (String.Join (Path.DirectorySeparatorChar.ToString (), str.Select(fun (s:string) -> s.Replace ('/', Path.DirectorySeparatorChar))))
  
  
  let Grep (file, regex, group:string) =
  