diff --git a/src/fsharp/FSharp.Build/Fsc.fs b/src/fsharp/FSharp.Build/Fsc.fs index d56dab90f0f..79d54e43780 100644 --- a/src/fsharp/FSharp.Build/Fsc.fs +++ b/src/fsharp/FSharp.Build/Fsc.fs @@ -30,6 +30,7 @@ type public Fsc () as this = let mutable debugType : string = null let mutable defineConstants : ITaskItem[] = [||] let mutable delaySign : bool = false + let mutable deterministic : bool = false let mutable disabledWarnings : string = null let mutable documentationFile : string = null let mutable dotnetFscCompilerPath : string = null @@ -234,6 +235,9 @@ type public Fsc () as this = builder.AppendSwitch("--nocopyfsharpcore") + if deterministic then + builder.AppendSwitch("--deterministic+") + // OtherFlags - must be second-to-last builder.AppendSwitchUnquotedIfNotNull("", otherFlags) capturedArguments <- builder.CapturedArguments() @@ -264,6 +268,10 @@ type public Fsc () as this = with get() = debugType and set(s) = debugType <- s + member fsc.Deterministic + with get() = deterministic + and set(p) = deterministic <- p + member fsc.DelaySign with get() = delaySign and set(s) = delaySign <- s diff --git a/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets b/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets index 19f9843e4ae..d54715a7090 100644 --- a/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets +++ b/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets @@ -281,6 +281,7 @@ this file. DebugType="$(DebugType)" DefineConstants="$(DefineConstants)" DelaySign="$(DelaySign)" + Deterministic="$(Deterministic)" DisabledWarnings="$(NoWarn)" DocumentationFile="$(DocumentationFile)" DotnetFscCompilerPath="$(DotnetFscCompilerPath)"