Я намереваюсь распространять программу на F # как двоичную, так и исходную, чтобы у пользователя была возможность перекомпилировать ее при желании. В Windows я понимаю, как это сделать: предоставить файлы .fsproj и .sln, которые могут понять и Visual Studio, и MSBuild.
В Linux традиционным решением для программ на Си является make-файл. Это зависит от того, является ли gcc доступным напрямую, и это всегда так.
Компилятор F # может быть установлен в Linux и работает под Mono, так что пока все хорошо. Однако, насколько я могу судить, он не создает сценарий, в котором fsc
запускает компилятор, вместо этого команда mono ...path.../fsc.exe
. Это тоже хорошо, за исключением того, что я не знаю, каким будет путь. Таким образом, полная команда для запуска компилятора в моем случае может быть mono ~/FSharp-2.0.0.0/bin/fsc.exe types.fs tptp.fs main.fs -r FSharp.PowerPack.dll
, за исключением того, что я не уверен, где на самом деле будет находиться файл fsc.exe на компьютере пользователя.
Есть ли способ выяснить это в make-файле, или было бы лучше прибегнуть к простому объяснению вышеприведенного в документации и полагаться на то, что пользователь изменяет команду в соответствии с его настройкой?