如何从源代码构建F#编译器

时间:2010-11-05 08:51:09

标签: f#

recent announcement that the F# compiler source was available under the apache license之后,我决定要从源代码构建编译器。但是,由于似乎缺少文件“Microsoft.FSharp-proto.Targets”,我在第一篇文章中摔倒了。这是“Microsoft F#, August 2010 Community Technology Preview”中提供的“Microsoft.FSharp-proto.Targets”吗?构建编译器还需要哪些其他步骤。 F#团队是否会提供一个“正常工作”来构建编译器的脚本?

3 个答案:

答案 0 :(得分:6)

我还没有运行这些(PC配置问题?),但在compiler/2.0/Nov2010/README.html的源代码发布中有一套详细的说明。

这些说明与@desco撰写的与之前的CTP相关的说明略有不同。

答案 1 :(得分:3)

就在不久之前,我已经写过关于使用F#CTP(F#: Building compiler from sources.)提供的源代码构建编译器。希望从那时起没有任何改变。

答案 2 :(得分:2)

我刚刚下载并成功编译了F#,所以我想我会添加更新。

  1. 我是从http://fsharppowerpack.codeplex.com/SourceControl/list/changesets
  2. 下载的
  3. 我解压缩了文件并导航到fsharppowerpack-66272\compiler\2.0\Aug2011
  4. 它包含一个readme.html,它提出了许多构建方法。
  5. 通过该自述文件,我制作了以下脚本,成功为我编译了F#。
  6. 如果要编译单元测试,请先安装NUnit。

    set MSB40=C:\Windows\Microsoft.NET\Framework\v4.0.30319\
    set Path=%Path%;%MSB40%
    cd src
    msbuild fsharp-proto-build.proj /p:TargetFramework=cli\4.0
    ngen install ..\Proto\cli\4.0\bin\fsc-proto.exe
    msbuild fsharp-library-build.proj /p:TargetFramework=cli\4.0
    msbuild fsharp-compiler-build.proj /p:TargetFramework=cli\4.0
    msbuild fsharp-library-unittests-build.proj /p:TargetFramework=cli\4.0
    msbuild fsharp-compiler-unittests-build.proj /p:TargetFramework=cli\4.0
    ngen install ..\Debug\cli\4.0\bin\fsi.exe
    pause
    

    Note:我已经安装了VS2010和FSharpPowerPack。