Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
bca9a71
travis
dsyme Nov 1, 2016
e2c5111
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Nov 1, 2016
15fa9b4
travis
dsyme Nov 1, 2016
93955ec
fix travis
dsyme Nov 1, 2016
0131c9e
fix travis
dsyme Nov 1, 2016
f29f382
Update .travis.yml
dsyme Nov 2, 2016
b158f72
travis
dsyme Nov 2, 2016
a24d951
Update .travis.yml
dsyme Nov 2, 2016
991196e
Update .travis.yml
dsyme Nov 2, 2016
c784924
Update .travis.yml
dsyme Nov 2, 2016
ca739f9
Update .travis.yml
dsyme Nov 2, 2016
977543e
Update .travis.yml
dsyme Nov 2, 2016
18d3935
tools version update
dsyme Nov 2, 2016
a36e7b0
travis
dsyme Nov 2, 2016
89f7bdb
travis
dsyme Nov 2, 2016
464dd7f
travis
dsyme Nov 2, 2016
1f9b725
travis
dsyme Nov 2, 2016
9b9ab41
travis
dsyme Nov 2, 2016
5e62eb1
travis
dsyme Nov 2, 2016
a364df1
travis
dsyme Nov 2, 2016
a1e3d62
travis
dsyme Nov 2, 2016
96d8a44
travis
dsyme Nov 2, 2016
f871891
travis
dsyme Nov 2, 2016
c5910b3
fix capitalization
Nov 2, 2016
c1d70d8
fix registry access on startup
dsyme Nov 2, 2016
c490a51
Merge branch 'travis' of https://github.com/dsyme/visualfsharp into t…
dsyme Nov 2, 2016
82429e0
build.sh
Nov 2, 2016
03f89d6
Merge branch 'travis' of https://github.com/dsyme/visualfsharp into t…
Nov 2, 2016
f05026d
try dotnet instead of corehost
dsyme Nov 2, 2016
fcd3ab5
rename
dsyme Nov 3, 2016
db08502
merge
dsyme Nov 3, 2016
b6b5130
Merge branch 'travis' of https://github.com/dsyme/visualfsharp into t…
dsyme Nov 3, 2016
dff2e5d
minor update
dsyme Nov 3, 2016
9eb254a
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Nov 3, 2016
dc56924
Mono only
dsyme Nov 3, 2016
08fa8ab
Mono only
dsyme Nov 3, 2016
5d94463
Mono only
dsyme Nov 3, 2016
7a3efdc
update
dsyme Nov 3, 2016
1c5a113
update
dsyme Nov 3, 2016
b82f7b5
Mono only
dsyme Nov 4, 2016
ef9e7a3
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Nov 4, 2016
9acfa43
Mono only
dsyme Nov 4, 2016
52780cc
Mono only
dsyme Nov 4, 2016
42040d8
Mono only
dsyme Nov 4, 2016
dc98fa1
Mono only
dsyme Nov 4, 2016
69a2f3c
add diag
dsyme Nov 4, 2016
48604d7
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Nov 4, 2016
0fb8fe4
proper replace
dsyme Nov 4, 2016
bb55495
proper replace
dsyme Nov 4, 2016
d070633
proper replace
dsyme Nov 4, 2016
339e524
fssrgen
dsyme Nov 4, 2016
64c63b7
make fssrgen a script
dsyme Nov 4, 2016
53d876d
fix bug
dsyme Nov 4, 2016
b2c8aa3
registry hack
Nov 4, 2016
9ad0a02
don't use C# task
dsyme Nov 4, 2016
68e786b
don't use C# task
dsyme Nov 4, 2016
be3249a
fix arg parsing
dsyme Nov 4, 2016
b5f4608
merge
dsyme Nov 5, 2016
84967ba
fix arg parsing
dsyme Nov 5, 2016
a03d674
buikdtools --> scripts
dsyme Nov 5, 2016
bfcd9a5
build for net40 on Linux
dsyme Nov 5, 2016
d3e0d0a
make mono registry directory
dsyme Nov 5, 2016
c950aab
add diagnostics
dsyme Nov 5, 2016
bfd395c
fix indentation bug
dsyme Nov 5, 2016
e65ee6b
add diagnostics
dsyme Nov 5, 2016
64c1bf8
add diagnostics
dsyme Nov 5, 2016
617e2a9
try install of fsharp package
dsyme Nov 5, 2016
fbfc907
FsLexYacc 7.0.1
dsyme Nov 5, 2016
a8c99b2
fix fssrgen on linux
Nov 5, 2016
8e81fd3
fix fssrgen to avoid Mono bugs for F~ scripting
Nov 5, 2016
36cbc24
fix subst
dsyme Nov 5, 2016
46e3b1d
merge
dsyme Nov 5, 2016
37798d8
fix copying targets
dsyme Nov 5, 2016
b142300
fix copying targets
dsyme Nov 5, 2016
ffe0f01
Fix resources targets fo xbuild
dsyme Nov 5, 2016
ae5b3ec
minimize install
Nov 5, 2016
1256461
fix script path
dsyme Nov 5, 2016
2666cd0
fix script invocation
dsyme Nov 6, 2016
f908b27
fix diagnostics
dsyme Nov 6, 2016
f3b78c6
fix build.cmd
dsyme Nov 6, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified .nuget/NuGet.exe
100644 → 100755
Empty file.
28 changes: 28 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

language: csharp

sudo: required
dist: trusty

os:
- linux

mono:
- latest
- 4.6.1

env:
- BUILD_NET40=1 TEST_NET40_COREUNIT_SUITE=1

# These are not yet enabled
# - BUILD_CORECLR=1 TEST_CORECLR_COREUNIT_SUITE=1
# - BUILD_CORECLR=1 TEST_CORECLR_COREUNIT_SUITE=1 BUILD_PROTO_WITH_CORECLR_LKG=1

script:
- ./build.sh






2 changes: 1 addition & 1 deletion BuildToolsVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.26-prerelease-00920-02
1.0.27-prerelease-01001-04
21 changes: 19 additions & 2 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,24 @@ The primary technical documents for the F# compiler code are

## Quick Start: Build, Test, Develop

You can build the F# compiler for .NET Framework as follows:
### F# Compiler (Linux)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It mentions Linux but in before_install.sh the apt-get command are, I assume, ubuntu specific, maybe mention "tested with Ubuntu"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks


Currently you can do on Linux a bootstrap of the Mono version of the compiler. Full testing is not enabled,
nor is a .NET Core build of the compiler.

First [install Mono](http://www.mono-project.com/docs/getting-started/install/linux/).
Then:

./build.sh

results will be in ``Debug\net40\bin\...``. This doesn't do any testing (beyond the bootstrap). You can
run the compiler ``fsc.exe`` and F# Interactive ``fsi.exe`` by hand to test it.

These steps are tested under the Linux/Mono configuration(s) in ``.travis.yml`` (Ubuntu).

### F# Compiler (Windows)

On Windows you can build the F# compiler for .NET Framework as follows:

build.cmd

Expand Down Expand Up @@ -70,7 +87,7 @@ Building ``VisualFSharp.sln`` builds _nearly_ everything. However building porta
FSharp.Core.dll is not included. If you are just developing the core compiler, library
and Visual F# Tools then building the solution will be enough.

### [Optional] Install the Visual F# IDE Tools
## [Optional] Install the Visual F# IDE Tools (Windows Only)

At time of writing, the Visual F# IDE Tools can only be installed into Visual Studio "Next" (aka "Dev15") releases.
The new builds of the Visual F# IDE Tools can no longer be installed into Visual Studio 2015.
Expand Down
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,18 @@ See [DEVGUIDE.md](DEVGUIDE.md) and [TESTGUIDE.md](TESTGUIDE.md) in the root of t

####Development tools

For F# 4.1 development
For F# Compiler on Windows (``build net40``)

- [.NET 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40779)
- [MSBuild 12.0](http://www.microsoft.com/en-us/download/details.aspx?id=40760)

For F# Compiler on OSX and Linux (see .travis.yml for build steps)

- [Mono latest](http://www.mono-project.com/download/#download-lin)
- If building for .NET Core, then .NET Core will be downloaded from Linux packages


For Visual F# IDE Tools 4.1 development (Windows)

- [Visual Studio 15](https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs.aspx)
- Select Visual C++ / Common Tools For Visual C++
Expand All @@ -59,11 +70,10 @@ For F# 4.1 development

####Contributing

Guidelines for contributions to the Visual F# compiler, library, and tools can be found [here](CONTRIBUTING.md).
Guidelines for contributions to the F# compiler, library, and Visual F# IDE tools can be found [here](CONTRIBUTING.md).

How we label issues and PRs: https://github.com/dotnet/roslyn/wiki/Labels-used-for-issues


This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. This code of conduct has been [adopted by many other projects](http://contributor-covenant.org/adopters/). For more information see the [Code of conduct](https://github.com/Microsoft/visualfsharp/wiki/Code-of-Conduct).

If you would like to contribute to the F# ecosystem more generally see the F# Software Foundation's [Community Projects](http://fsharp.org/community/projects/) pages.
Expand All @@ -76,7 +86,9 @@ To download the bits for the latest CI builds see [these instructions](https://g

###Code Flow to Other Platforms

Currently, this repository only enables development and testing on the Windows platform. If you are using Linux, OSX, Android, or iOS, and would like to contribute, please see the instructions provided at the [Open Edition repo](https://github.com/fsharp/fsharp/#the-open-edition-of-the-f-compiler-core-library--tools).
This repository enables development on Windows, Linux and OSX. It enables automated CI testing primarily on Windows.

If using Android, or iOS, and would like to contribute, please see the instructions provided at the [Open Edition repo](https://github.com/fsharp/fsharp/#the-open-edition-of-the-f-compiler-core-library--tools).

Although the primary focus of this repo is F# for Windows and the Visual Studio F# tools, contributions here flow directly to the F# Open Edition repo. More details can be found [here](https://github.com/Microsoft/visualfsharp/wiki/Code-Flow-to-Open-Edition).

Expand Down
34 changes: 34 additions & 0 deletions before_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@

(if test x-$BUILD_CORECLR = x-1; then \
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'; \
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893; \
sudo apt-get update; \
sudo apt-get install dotnet-dev-1.0.0-preview2-003131; \
fi)
mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile .nuget/NuGet.Config

(if test x-$BUILD_CORECLR = x-1; then \
(cd tests/fsharp; mono ../../.nuget/NuGet.exe restore project.json -PackagesDirectory ../../packages -ConfigFile ../../.nuget/NuGet.Config); \
fi)
(if test x-$BUILD_CORECLR = x-1; then ./init-tools.sh; echo "------ start log"; cat ./init-tools.log; echo "------ end log"; fi)
(if test x-$BUILD_PROTO_WITH_CORECLR_LKG = x-1; then cd lkg/fsc && dotnet restore --packages ../packages && dotnet publish project.json -o ../Tools/lkg -r ubuntu.14.04-x64; fi)
(if test x-$BUILD_PROTO_WITH_CORECLR_LKG = x-1; then cd lkg/fsi && dotnet restore --packages ../packages && dotnet publish project.json -o ../Tools/lkg -r ubuntu.14.04-x64; fi)

#TODO: work out how to avoid the need for this
chmod u+x packages/FSharp.Compiler.Tools.4.0.1.19/tools/fsi.exe
chmod u+x packages/FsLexYacc.7.0.1/build/fslex.exe
chmod u+x packages/FsLexYacc.7.0.1/build/fsyacc.exe

# The FSharp.Compiler.Tools package doesn't work correctly unless a proper install of F# has been done on the machine
sudo apt-get install fsharp

# "access to the path /etc/mono/registry/last-time is denied"
sudo mkdir /etc/mono/registry
sudo chmod uog+rw /etc/mono/registry







4 changes: 2 additions & 2 deletions build-everything.proj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<ProjectsWithNet40 Include="src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj" />
<ProjectsWithNet40 Include="src/fsharp/Fsc/Fsc.fsproj" />
<ProjectsWithNet40 Include="src/fsharp/fsi/Fsi.fsproj" />
<ProjectsWithNet40 Include="src/fsharp/fsiAnyCpu/FsiAnyCpu.fsproj"/>
<ProjectsWithNet40 Include="src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj"/>
</ItemGroup>

<ItemGroup Condition="'$(BUILD_CORECLR)'=='1'">
Expand All @@ -27,7 +27,7 @@
</ItemGroup>

<ItemGroup Condition="'$(BUILD_PORTABLE)'=='1'">
<ProjectsWithPortableFrameworks Include="src/fsharp-library-build.proj" />
<ProjectsWithPortableFrameworks Include="src/fsharp/FSharp.Core/FSharp.Core.fsproj" />
</ItemGroup>

<ItemGroup Condition="'$(BUILD_VS)'=='1'">
Expand Down
Loading