You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Note: Make sure you run the .NET 4.0`msbuild.exe`, e.g.`C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe`.
65
71
@@ -104,7 +110,9 @@ Here **net20** gives a runtime for .NET 2.0-3.5, **sl3-wp** gives a runtime for
104
110
105
111
This uses the proto compiler to build the unit tests that check some parts of`FSharp.Core.dll` and`FSharp.Compiler.dll`. There is also another set of tests under`tests\fsharp`.
Some tests for LINQ queries require SQL Server be installed. A failing test will look like this:
133
141
134
-
`ERRORLEVEL=1: in C:\projects\openfsharp\Compiler\3.0\head\tests\fsharp\core\csfromfs\build.bat`
142
+
```
143
+
ERRORLEVEL=1: in C:\projects\openfsharp\Compiler\3.0\head\tests\fsharp\core\csfromfs\build.bat
144
+
```
135
145
136
146
You can then go to the relevant directory and run`build.bat` and`run.bat`.
137
147
@@ -150,7 +160,7 @@ However, this is not recommended except in the rare case you are adding extra fu
150
160
151
161
##Preparing for inclusion in Mono
152
162
153
-
Building for the**mono20** and**mono40** frameworks gives strong-named, delay-signed assemblies with the`msfinal.pub` key and standard version numbers such as 2.0.0.0,2.3.0.0,4.0.0.0 and 4.3.0.0. You complete the signing of these assemblies using[http://github.com/fsharp/fsharp/raw/master/mono.snk](http://github.com/fsharp/fsharp/raw/master/mono.snk). These assemblies will not run if you already have a version of them installed in your GAC (e.g. if you have Visual Studio 2012).
163
+
Building for the**mono20** and**mono40** frameworks gives strong-named, delay-signed assemblies with the`msfinal.pub` key and standard version numbers such as**2.0.0.0**,**2.3.0.0**,**4.0.0.0** and**4.3.0.0**. You complete the signing of these assemblies using[http://github.com/fsharp/fsharp/raw/master/mono.snk](http://github.com/fsharp/fsharp/raw/master/mono.snk). These assemblies will not run if you already have a version of them installed in your GAC (e.g. if you have Visual Studio 2012).
154
164
155
165
```
156
166
sn -R ..\Debug\mono40\bin\fsc.exe mono.snk
@@ -161,17 +171,17 @@ sn -R ..\Debug\mono40\bin\FSharp.Compiler.Server.Shared.dll mono.snk
161
171
sn -R ..\Debug\mono40\bin\FSharp.Compiler.Interactive.Settings.dll mono.snk
162
172
```
163
173
164
-
This is the way the assemblies are built in a source build of the canonical GitHub repository forfsharp and how the binaries are shipped in Mono binary distributions.
174
+
This is the way the assemblies are built in a source build of the canonical GitHub repository forF# and how the binaries are shipped in Mono binary distributions.
165
175
166
176
167
177
##Notes on the build
168
178
169
179
The prerequisites and build command line for compiling the source (on Windows) are shown later in this README. Here's the logic of the build:
170
180
171
181
* We first need an existing F# compiler, usually the one available from[http://fsharp.net](fsharp.net), although it could also be another. Let's assume this compiler has an`FSharp.Core.dll` with version X.
172
-
* We use this compiler to compile the source in this distribution, to produce a "proto" compiler, in the Proto directory. When run, this compiler still relies on the`FSharp.Core.dll` with version X.
173
-
* We use the proto compiler to compile the source for`FSharp.Core.dll` in this distribution, producing an`FSharp.Core.dll` with the version identified in`src\source-build-version`, usually 1.9.999.
174
-
* We use the proto compiler to compile the source for`FSharp.Compiler.dll`,`fsc.exe`,`fsi.exe` and other binaries found in this distribution. When run, these binaries will rely on the`FSharp.Core.dll` with version 1.9.999. This is good, since it means the 1.9.999 binaries now form a consistent, bootstrapped compiler. If you like you should now be able to throw away the compiler with version X.
182
+
* We use this compiler to compile the source in this distribution, to produce a "proto" compiler, in the`Proto` directory. When run, this compiler still relies on the`FSharp.Core.dll` with version X.
183
+
* We use the proto compiler to compile the source for`FSharp.Core.dll` in this distribution, producing an`FSharp.Core.dll` with the version identified in`src\source-build-version`, usually**1.9.999**.
184
+
* We use the proto compiler to compile the source for`FSharp.Compiler.dll`,`fsc.exe`,`fsi.exe` and other binaries found in this distribution. When run, these binaries will rely on the`FSharp.Core.dll` with version**1.9.999**. This is good, since it means the 1.9.999 binaries now form a consistent, bootstrapped compiler. If you like you should now be able to throw away the compiler with version X.
175
185
176
186
Some additional tools are required to build the compiler, notably`fslex.exe`,`fsyacc.exe`,`FSharp.PowerPack.Build.Tasks.dll`,`FsSrGen.exe`,`FSharp.SRGen.Build.Tasks.dll` and the other tools found in the`lkg` directory. These are "Last Known Good" binaries created from a version of the F# Power Pack on CodePlex. If you like you can throw away these binaries and use your own compiled versions of these. tools.
177
187
@@ -222,7 +232,9 @@ del /q FSharp.Core.dll
222
232
223
233
##Some alternative Steps - Building an optimized (Release) compiler for .NET 4.0 profile