После недавнего анонса о том, что источник компилятора F # был доступен под лицензией apache, я решил, что хотел бы пойти на создание компилятора из источника. Тем не менее, я упал на первое сообщение, так как кажется, что отсутствует файл "Microsoft.FSharp-proto.Targets". Это тот же самый "Microsoft.FSharp-proto.Targets", который доступен в "Microsoft F #, август 2010 г. Предварительный просмотр технологий в области технологий" ? Какие еще шаги необходимы для создания компилятора. Будет ли команда F # предоставлять script, который "просто работает" для сборки компилятора?
Как создать компилятор F # из источника
Ответ 1
Я еще не запускал их (проблемы с конфигурацией ПК?), но там есть подробный набор инструкций в дистрибутиве источника compiler/2.0/Nov2010/README.html
.
Эти инструкции немного отличаются от тех, которые @desco пишет, которые относятся к предыдущему CTP.
Ответ 2
Не так давно перед этим анонсом я написал о создании компилятора из источников, поставляемых с F # CTP (F #: компилятор построения из источников.). Надеюсь, с тех пор ничего не изменилось.
Ответ 3
Я только что загрузил и успешно скомпилировал F #, поэтому я решил добавить обновление.
- Я скачал из http://fsharppowerpack.codeplex.com/SourceControl/list/changesets
- Я извлек файлы и перешел на
fsharppowerpack-66272\compiler\2.0\Aug2011
- Он содержит
readme.html
, который предлагает несколько способов создания. - С этим readme я сделал следующий script, который успешно скомпилировал F # для меня.
Сначала установите 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.