Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FS-1030] - Anonymous records #2671

Closed
wants to merge 190 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
0170389
anon
dsyme Mar 3, 2017
92a1aed
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 8, 2017
f084288
basic property access
dsyme Mar 16, 2017
7458be2
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 16, 2017
eb27f17
simplify struct syntax
dsyme Mar 16, 2017
b4bb4ab
simplify struct syntax
dsyme Mar 16, 2017
b5771ae
syntax {| new ... |}
dsyme Mar 16, 2017
e1815ee
build fixes
dsyme Mar 16, 2017
afe95ff
fix build
dsyme Mar 17, 2017
47d7a13
fix syntax
dsyme Mar 17, 2017
69965c2
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 20, 2017
dd38b9e
generate types and cross-assembly support
dsyme Mar 20, 2017
ddc8d9a
share nodes in pickle format
dsyme Mar 21, 2017
ee704ac
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 21, 2017
f9ea73c
add smoke tests
dsyme Mar 21, 2017
d7f003f
fix proto build
dsyme Mar 21, 2017
08435e2
fix proto build
dsyme Mar 21, 2017
77a02e0
fix proto build
dsyme Mar 21, 2017
4254d72
fix proto build
dsyme Mar 21, 2017
d2665fe
fix proto build
dsyme Mar 21, 2017
180092c
fix equality/comparison/record-display-and-formatting
dsyme Mar 23, 2017
e14823d
Update IlxGen.fs
dsyme Mar 23, 2017
b2d799f
remove kind A anon records
dsyme Mar 24, 2017
6fe2768
update tests and implementation for cases where anon types occur only…
dsyme Mar 24, 2017
16376c0
completion
dsyme Mar 24, 2017
d3e9393
completion
dsyme Mar 24, 2017
03dc91e
fix build
dsyme Mar 24, 2017
8274d19
fix symbols
dsyme Mar 24, 2017
d6d214e
merge master
dsyme Apr 5, 2017
473b2d7
merge
dsyme Apr 28, 2017
5a5c88e
integrate with master
dsyme Jun 17, 2017
dcf869f
integrate with master
dsyme Jun 17, 2017
517e4eb
integrate with master
dsyme Jun 17, 2017
a5904a3
Merge branch 'master' into anon-1
dsyme Aug 18, 2017
d4ff140
integrate master
dsyme Sep 5, 2017
e69503e
integrate master
dsyme Sep 5, 2017
9958e32
integrate master
dsyme Sep 5, 2017
a146b89
integrate master
dsyme Sep 5, 2017
80533e6
integrate with master
Dec 1, 2017
db6acf0
integrate with master
Dec 1, 2017
8f63e88
Merge remote-tracking branch 'remotes/origin/master' into anon-1
realvictorprm Dec 28, 2017
259fd47
Merge pull request #12 from realvictorprm/anon-1
dsyme Jan 5, 2018
b334583
Symbols API: add IsNameGenerated to FSharpField
auduchinok Jan 19, 2018
603b71d
Change error text.
isaacabraham Jan 20, 2018
051fc59
update loc
Jan 22, 2018
6cb64f2
Add support for easy DesignTime Assembly Packing (#4239)
KevinRansom Jan 23, 2018
488e71c
It looks like we can get rid of some Some (#4244)
forki Jan 24, 2018
4f39f97
Merge pull request #4229 from isaacabraham/2307-protected-member-erro…
KevinRansom Jan 24, 2018
203d70e
show type of ignored expression (#4197)
dsyme Jan 24, 2018
09fc352
[WIP] Fix inlline rename at end of file (#3766)
vasily-kirichenko Jan 24, 2018
d70a450
Get declaration list symbols (#4204)
nosami Jan 24, 2018
e2af0fa
Fix CI. fixes #4256 (#4257)
nosami Jan 24, 2018
5728b68
Improve compiler designtime probing (#4250)
KevinRansom Jan 25, 2018
e2168fa
Enable preferreduilang for fsi (#4253)
KevinRansom Jan 29, 2018
bca446d
Fix the Mono and OSX builds (#4273)
dsyme Jan 29, 2018
65506e9
use dev15.5 for CI builds
brettfo Jan 29, 2018
5d88640
Merge pull request #4283 from brettfo/jenkins-image
brettfo Jan 29, 2018
8bfe56e
enable Microsoft.DiaSymReader* packages to be overridden during build
brettfo Feb 1, 2018
d771ea5
LOC CHECKIN | visualfsharp master | 20180202
v-zbsail Feb 2, 2018
ecb833c
Update README.md
cartermp Feb 2, 2018
b9d4942
Merge pull request #4299 from brettfo/dependency-uptake
brettfo Feb 2, 2018
58c4e60
Merge pull request #4304 from v-zbsail/loc_20180129_master
brettfo Feb 2, 2018
02cb8cd
restore tools before dependency uptake work
brettfo Feb 2, 2018
71fcc34
Merge pull request #4306 from brettfo/build-tools-order
brettfo Feb 2, 2018
19dd0df
propagate Microsoft.DiaSymReader* version overrides to NuGet packages
brettfo Feb 5, 2018
8f4f2ae
Merge pull request #4314 from brettfo/dependency-uptake-nuspec
brettfo Feb 5, 2018
ac2d8d5
miscfiles (#4328)
KevinRansom Feb 9, 2018
5c491b2
Improve warning for ignored values in sequence expressions - fixes #4…
forki Feb 9, 2018
bc7ce19
Remove minimumElement and maximumElement from Set module (#4309)
PatrickMcDonald Feb 11, 2018
78ea65d
only publish Microsoft.FSharp.Compiler.* package to the blob feed
brettfo Feb 13, 2018
a1c55cf
Merge pull request #4349 from brettfo/blob-publish
brettfo Feb 13, 2018
7377b02
Revert #4173 (i.e. reapply #1650 and #3366)" (#4347)
dsyme Feb 13, 2018
32307bc
Update README.md (#4351)
dsyme Feb 13, 2018
a12c05c
Removed NoSourceCode at GetDeclarationLocation (#4277)
amieres Feb 14, 2018
be5b58c
Merge pull request #4225 from auduchinok/record-fields-name-generated
KevinRansom Feb 17, 2018
2180de4
Optimize in FCS (#3784)
forki Feb 17, 2018
3d0ae5e
[WIP] simplify mono build (#4358)
dsyme Feb 17, 2018
e1a6afa
Update DEVGUIDE.md
dsyme Feb 17, 2018
f53f536
use the official build number (if provided) to version the compiler p…
brettfo Feb 17, 2018
828fb11
Merge pull request #4361 from brettfo/nuget-version
brettfo Feb 20, 2018
02dbf9e
Reduce FCS memory footprint (#4272)
AviAvni Feb 21, 2018
3db878f
Enable --debug:full on coreclr (#4366)
KevinRansom Feb 21, 2018
e1e4cce
Remove FSharp.Editor dependency on FSharp.Language Service redux (#4132)
cartermp Feb 22, 2018
689da32
LOC CHECKIN | visualfsharp master | 20180222
v-zbsail Feb 22, 2018
2b44f64
Add support for UnmanagedType.LPUTF8Str (#4360)
BillHally Feb 22, 2018
2b52d90
Merge pull request #4370 from v-zbsail/loc_20180220_master
brettfo Feb 22, 2018
570e5aa
Update netci.groovy (#4371)
dsyme Feb 22, 2018
814aa75
Update netci.groovy (#4373)
dsyme Feb 22, 2018
ce36262
Update netci.groovy
dsyme Feb 22, 2018
0bdad51
Use mutli-line string (#4374)
mmitche Feb 22, 2018
e0203f0
rejig netci.groovy (#4377)
dsyme Feb 22, 2018
1caefc1
Update netci.groovy
dsyme Feb 22, 2018
b26d549
Update netci.groovy
dsyme Feb 22, 2018
929b8c3
Updates to CI (#4381)
dsyme Feb 22, 2018
19ce02d
Allow sudo on CI Ubuntu to install latest Mono (#4382)
dsyme Feb 22, 2018
7fe3465
fix casing of FCS outputs (#4383)
dsyme Feb 22, 2018
4a7575b
No longer sudo as no outer-latest jobs are being executed in CI (#4384)
dsyme Feb 23, 2018
d688e0f
Update netci.groovy
dsyme Feb 23, 2018
509a8a2
simplify defines and move FCS to .NET Standard 2.0 (#4368)
dsyme Feb 23, 2018
161b3c2
Update netci.groovy
dsyme Feb 23, 2018
2d0452a
move NuGet.Config to the root
brettfo Jan 24, 2018
7b1d303
remove '-proto' file name suffixes
brettfo Jan 25, 2018
a37642b
update xlf plugin
brettfo Feb 7, 2018
b280da9
convert FSharp.Editor to the dotnet SDK
brettfo Feb 5, 2018
204fa02
convert FSharp.LanguageService to the dotnet SDK
brettfo Feb 7, 2018
f1884fc
convert FSharp.ProjectSystem.FSharp to the dotnet SDK
brettfo Feb 8, 2018
bff5665
convert FSharp.VS.FSI to the dotnet SDK
brettfo Feb 8, 2018
1b6a9cf
convert FSharp.LanguageService.Base to the dotnet SDK
brettfo Feb 8, 2018
daacde6
convert FSharp.ProjectSystem.Base to the dotnet SDK
brettfo Feb 9, 2018
9586ecd
convert FSharp.UIResources to the dotnet SDK
brettfo Feb 10, 2018
b921e22
set OutputPath after TargetFramework
brettfo Feb 22, 2018
d244507
generate NuGet package version from #4350
brettfo Feb 22, 2018
b8a36be
fix package versions
brettfo Feb 22, 2018
ecf4ba8
fix design-time builds in VSSDK projects that don't produce a VSIX
brettfo Feb 22, 2018
a44472c
Merge pull request #4317 from brettfo/sdk-proj
brettfo Feb 23, 2018
ab0da53
update paket bootstrapper (#4388)
dsyme Feb 23, 2018
9404e9c
update CI to allow sudo on Ubuntu (#4392)
dsyme Feb 24, 2018
9687654
Test CI after https://github.com/Microsoft/visualfsharp/pull/4392
dsyme Feb 24, 2018
7131143
get latest mono in CI (#4394)
dsyme Feb 24, 2018
2c3cfbf
fix tuple warnings (#4389)
dsyme Feb 24, 2018
44ef814
Fix 4240 - MakeTuple on struct tuples (#4387)
dsyme Feb 25, 2018
e7ce9cd
Re-enable FCS build on Jenkins Ubuntu (#4391)
dsyme Feb 27, 2018
1605352
Fix build and test issues (#4396)
KevinRansom Feb 27, 2018
fb54266
convert FSharp.PropertyPages to use PackageReference
brettfo Feb 28, 2018
8b2d732
Update feed tasks version
mmitche Feb 28, 2018
fa80142
Remove unsupported `-c` switch from `dotnet restore`
brettfo Feb 28, 2018
551613c
Merge pull request #4409 from Microsoft/remove-proto-config
brettfo Feb 28, 2018
a50f4c5
Debugger View for lists (#4399)
KevinRansom Feb 28, 2018
e0ce4a4
consolidate Directory.Build.props/.targets
brettfo Feb 28, 2018
3f42446
Merge pull request #4406 from brettfo/propertypages-packagereference
brettfo Feb 28, 2018
b6cce2c
convert `vsintegration/tests` to the dotnet SDK
brettfo Feb 28, 2018
dfd6b2e
consolidate Roslyn versions to `RoslynPackageVersion.txt`
brettfo Feb 28, 2018
fa9fa49
Add DesignTimeBuild=true to legacy build from ProjectSystem (#4407)
KevinRansom Mar 1, 2018
f697a7d
Reduce memory footprint for Val type (#4375)
AviAvni Mar 1, 2018
d812517
Merge pull request #4410 from brettfo/salsa-sdk
brettfo Mar 1, 2018
ee2927d
convert item template projects to the dotnet SDK
brettfo Mar 1, 2018
668825a
convert project template projects to the dotnet SDK
brettfo Mar 1, 2018
2a7188c
Merge pull request #4411 from brettfo/template-sdk
brettfo Mar 1, 2018
cb2990e
Update feed tasks version
mmitche Mar 1, 2018
59fadd0
convert LanguageServiceProfiling to the dotnet SDK
brettfo Mar 1, 2018
c0ac091
Merge pull request #4408 from mmitche/update-tasks-and-such
brettfo Mar 1, 2018
226ca53
convert VisualFSharpTemplates to the dotnet SDK
brettfo Mar 1, 2018
be22484
convert VisualFSharpOpenSource to the dotnet SDK
brettfo Mar 1, 2018
4314d69
convert VisualFSharpFull to the dotnet SDK
brettfo Mar 1, 2018
2296c2b
cleanup Directory.Build.props/.targets and remove packages.config
brettfo Mar 1, 2018
f214dcc
Merge pull request #4417 from brettfo/vsix-sdk
brettfo Mar 2, 2018
bfdc9d0
Merge remote-tracking branch 'upstream/dev15.6' into merges/dev15.6-t…
brettfo Mar 2, 2018
a98b806
upgrade System.ValueTuple to 4.4.0 (asm ver 4.0.2.0)
brettfo Mar 5, 2018
0dbb19b
fix usage of <DeployExtension>
brettfo Mar 5, 2018
0adb823
Merge pull request #4425 from Microsoft/merges/dev15.6-to-master
brettfo Mar 6, 2018
4462b3a
consolidate assembly attribute writing
brettfo Mar 6, 2018
a044057
don't try to invoke fsi.exe if it wasn't built
brettfo Mar 6, 2018
a15c1f4
ensure all resources assemblies get shipped
brettfo Mar 6, 2018
9e7a610
Merge pull request #4450 from brettfo/assembly-attributes
brettfo Mar 6, 2018
f21648e
Merge pull request #4451 from brettfo/assembly-version-check
brettfo Mar 6, 2018
ba9b757
Merge pull request #4452 from brettfo/editor-resources
brettfo Mar 6, 2018
3188acf
restore SDK projects after proto has been built
brettfo Mar 6, 2018
beadbdb
Merge pull request #4453 from brettfo/restore-order
brettfo Mar 7, 2018
970c0fe
fixes typos (#4459)
forki Mar 7, 2018
29a3bdd
Faster check if IsExtensionMember (#4458)
forki Mar 7, 2018
3d17049
Add instructions to install fsharp to custom user defined path; fix a…
boloutaredoubeni Mar 7, 2018
214475e
small cleanup in TProvidedNamespaceExtensionPoint (#4441)
forki Mar 7, 2018
b7c2099
Reduce intermediate collections when checking symboluse (#4442)
forki Mar 7, 2018
f1e781c
shortcut singleton list in append (#4445)
forki Mar 7, 2018
51dac00
Couple of cleanups in ErrorLogger (#4433)
forki Mar 7, 2018
2e43924
ensure build outputs always go to `$(Configuration)\$(TargetDotnetPro…
brettfo Mar 7, 2018
be1877c
use VS version as base for insertion packages
brettfo Mar 7, 2018
2c9030d
Merge pull request #4454 from brettfo/outputpath
brettfo Mar 7, 2018
f1a9088
remove the `Proto` configuration from VisualFSharp.sln
brettfo Mar 7, 2018
7cc4cfa
Merge pull request #4464 from brettfo/vs-f5
brettfo Mar 7, 2018
3fc5e6d
Merge pull request #4463 from brettfo/product-version
brettfo Mar 7, 2018
f5e05e8
add the commit hash to the description of shipping NuGet packages
brettfo Mar 8, 2018
25ee345
add the commit hash to the VS package
brettfo Mar 9, 2018
da5d0f6
One lookup in nenv.eFieldLabels should be enough (#4469)
forki Mar 9, 2018
792dbe5
Shortcut NameResolution searches (#4444)
forki Mar 9, 2018
ed8393c
No need to decompile coreDisplayName all the time (#4443)
forki Mar 9, 2018
e4fb0fc
small cleanups in MethodCalls.fs (#4435)
forki Mar 9, 2018
bbf07fb
List.isEmpty instead of iterating through the list to get the count (…
forki Mar 9, 2018
1a3f1e8
try to minimize intermediate NameRes environments (#4440)
forki Mar 9, 2018
aee2fa8
Merge pull request #4474 from brettfo/package-commit-hash
brettfo Mar 9, 2018
47e74f5
Toggles for outlining and structured guidelines (#4227)
cartermp Mar 9, 2018
d49f3dd
fix cancellation for PostAndAsyncReply (#4477)
dsyme Mar 9, 2018
f5992a7
consolidate Newtonsoft.Json version to match what's shipped in VS
brettfo Mar 8, 2018
33159e8
Merge pull request #4479 from Microsoft/newtonsoft-json-version
brettfo Mar 9, 2018
360b52e
integrate master
dsyme Mar 9, 2018
3fb44a4
Remove dependency on FSharp.LanguageService from FSharp.ProjectSystem…
cartermp Mar 9, 2018
d7274c6
Clean up illib (#4428)
forki Mar 10, 2018
4952f84
Move basex1 and basey1 down (#4491)
forki Mar 12, 2018
2521f81
Equality is 0 (#4493)
forki Mar 12, 2018
352a030
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 12, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 2 additions & 5 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,8 @@
*.rtf diff=astextplain
*.RTF diff=astextplain

autogen.sh text eol=lf
launcher.in text eol=lf
config.make.in text eol=lf
mono/launcher text eol=lf
mono/config.make text eol=lf
targets.make text eol=lf
configure.ac text eol=lf
Makefile.in text eol=lf

*.bsl linguist-vendored=true
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,7 @@ Proto
sign_temp
.libs
configure
launcher
autom4te.cache
config.log
mono/config.make
config.status
*~
*.suo
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,3 +228,4 @@ Includes commits up to `3385e58aabc91368c8e1f551650ba48705aaa285`
[4.0.0]: http://fsharp.org
[3.1.2]: http://blogs.msdn.com/b/fsharpteam/archive/2014/08/20/announcing-the-release-of-visual-f-tools-3-1-2.aspx
[3.1.1]: http://blogs.msdn.com/b/fsharpteam/archive/2014/01/22/announcing-visual-f-3-1-1-and-support-for-desktop-express.aspx

63 changes: 40 additions & 23 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@ Follow the instructions below to build and develop the F# Compiler, Core Library

Install

- [.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) or Visual Studio 2013 (or later)
- [.NET 4.6](https://www.microsoft.com/en-gb/download/details.aspx?id=48130)

**NOTE on Windows:**
1. It is recommended to run the build.cmd and the qualifiers below on a command prompt with path set to have the location of MSBuild. If we have Visual Studio, we can also run using `Developer Command Prompt for Visual Studio 20xx` (depends on Visual Studio version). This developer command prompt is easier to use than normal command prompt, because it already has the correct path of Visual Studio and .NET's tooling set for us to use (including MSBuild).
1. It is recommended to run the build.cmd and the qualifiers below on a command prompt with path set to have the location of MSBuild. If you have Visual Studio, we can also run using `Developer Command Prompt for Visual Studio 20xx` (depends on Visual Studio version). This developer command prompt is easier to use than normal command prompt, because it already has the correct path of Visual Studio and .NET's tooling set for us to use (including MSBuild).
2. The running command prompt must be run under Administrator right (`Run as Administrator`).

Before running the build scripts, ensure that you have cleaned up the visualfsharp repo by running this git command:
Expand Down Expand Up @@ -62,36 +61,60 @@ or just build it directly:

msbuild FSharp.sln

Building ``FSharp.sln`` builds nearly everything. However building portable profiles of
FSharp.Core.dll is not included. If you are just developing the core compiler and library
then building the solution will be enough.
If you are just developing the core compiler and library then building ``FSharp.sln`` will be enough.

### Developing the F# Compiler (Linux)

For Linux/Mono, follow [these instructions](http://www.mono-project.com/docs/getting-started/install/linux/). Also you may need:

sudo apt-get install mono-complete autoconf libtool pkg-config make git automake
sudo apt-get install mono-complete make git

Then:

./autoconf.sh --prefix /usr
make
make install

Full testing is not yet enabled on Linux, nor is a .NET Core build of the compiler.
Then to replace your machine-wide installation:

You can alternatively use
sudo make install

./build.sh
Full testing is not yet enabled on Linux.

### Developing the F# Compiler (macOS)

Install Xamarin Studio, then
Install XCode command line tools (or homebrew equivalents) and Mono or Visual Studio for Mac.

Then:

./autogen.sh --prefix=/Library/Frameworks/Mono.framework/Versions/Current/
make

Then to replace your machine-wide installation:

sudo make install

Full testing is not yet enabled on macOS.

### [Optional] Specifying the install path (Linux or macOS)

You can specify a custom installation path using the DESTDIR shell variable

DESTDIR=/my/path/to/fsharp make install

### Developing the F# Compiler (Linux or macOS - .NET Core)

Install [the latest .NET SDK](https://www.microsoft.com/net/download/). Then use

src/buildfromsource.sh

Outputs are placed in

BuildFromSource/Debug/...
BuildFromSource/Release/...

This uses an installed .NET SDK 2.0 to build the various duplicated project

Testing the .NET Core version of the F# compiler on macOS and Linux is TBD.


### Developing the Visual F# IDE Tools (Windows Only)

To build and test Visual F# IDE Tools, install these requirements:
Expand Down Expand Up @@ -175,13 +198,7 @@ For **Release**:
#### Windows: Links to Additional frameworks

- [Git for windows](http://msysgit.github.io/)
- [.NET 3.5](http://www.microsoft.com/en-us/download/details.aspx?id=21)
- [.NET 4.5](http://www.microsoft.com/en-us/download/details.aspx?id=30653)
- [.NET 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40779)
- [.NET 4.6](http://www.microsoft.com/en-us/download/details.aspx?id=48137)
- [MSBuild 12.0](http://www.microsoft.com/en-us/download/details.aspx?id=40760)
- [Windows 7 SDK](http://www.microsoft.com/en-us/download/details.aspx?id=8279)
- [Windows 8 SDK](http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx)
- [Windows 8.1 SDK](http://msdn.microsoft.com/en-us/library/windows/desktop/bg162891.aspx)
- [Windows 10 SDK](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk)

Expand All @@ -200,9 +217,9 @@ For **Release**:

If you are behind a proxy server, NuGet client tool must be configured to use it:

.nuget\nuget.exe config -set http_proxy=proxy.domain.com:8080 -ConfigFile .nuget\NuGet.Config
.nuget\nuget.exe config -set http_proxy.user=user_name -ConfigFile .nuget\NuGet.Config
.nuget\nuget.exe config -set http_proxy.password=user_password -ConfigFile .nuget\NuGet.Config
.nuget\nuget.exe config -set http_proxy=proxy.domain.com:8080 -ConfigFile NuGet.Config
.nuget\nuget.exe config -set http_proxy.user=user_name -ConfigFile NuGet.Config
.nuget\nuget.exe config -set http_proxy.password=user_password -ConfigFile NuGet.Config

Where you should set proper proxy address, user name and password.

Expand Down
55 changes: 55 additions & 0 deletions FSharp.Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<Project>

<Import Project="build\targets\PackageVersions.props" />
<Import Project="build\targets\CommonPackages.targets" />

<!-- directory locations -->
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<FSharpSourcesRoot>$(RepoRoot)src</FSharpSourcesRoot>
<ToolsRoot>$(RepoRoot)Tools</ToolsRoot>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<ProtoOutputPath>$(RepoRoot)Proto\net40\bin</ProtoOutputPath>
</PropertyGroup>

<!-- nuget -->
<PropertyGroup>
<!-- default NuGet package restore location -->
<NugetPackageRoot Condition="'$(NugetPackageRoot)' == ''">$(UserProfile)\.nuget\packages\</NugetPackageRoot>
</PropertyGroup>

<!-- signing -->
<PropertyGroup>
<SkipSigning>false</SkipSigning>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\msft.pubkey</AssemblyOriginatorKeyFile>
<StrongNames>true</StrongNames>
<DelaySign>true</DelaySign>
</PropertyGroup>

<!-- mono -->
<PropertyGroup>
<MonoPackaging Condition="$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'">true</MonoPackaging>
</PropertyGroup>

<!-- localization -->
<PropertyGroup>
<EnableXlfLocalization Condition="'$(Configuration)' == 'Proto' or '$(MonoPackaging)' == 'true'">false</EnableXlfLocalization>
<UpdateXlfOnBuild Condition="'$(CI)' != '1'">true</UpdateXlfOnBuild>
</PropertyGroup>

<!-- other -->
<PropertyGroup>
<MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage>
<UseStandardResourceNames>false</UseStandardResourceNames>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

<!-- SDK targets override -->
<PropertyGroup Condition="'$(Configuration)' != 'Proto'">
<ProtoFSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</ProtoFSharpTargetsShim>
<FSharpTargetsShim Condition="Exists('$(ProtoFSharpTargetsShim)')">$(ProtoFSharpTargetsShim)</FSharpTargetsShim>
</PropertyGroup>

</Project>
40 changes: 40 additions & 0 deletions FSharp.Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<Project>

<PropertyGroup>
<XlfLanguages>en;$(XlfLanguages)</XlfLanguages>
<TargetDotnetProfile Condition="$(TargetFramework.StartsWith('netstandard')) or $(TargetFramework.StartsWith('netcoreapp'))">coreclr</TargetDotnetProfile>
<TargetDotnetProfile Condition="$(TargetFramework.StartsWith('net4'))">net40</TargetDotnetProfile>
<ActualOutputPath Condition="'$(Language)' != 'VB'">$(MSBuildProjectDirectory)\$(OutputPath)</ActualOutputPath>
<ActualOutputPath Condition="'$(Language)' == 'VB'">$(OutputPath)</ActualOutputPath>
<FinalOutputPath>$(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\bin</FinalOutputPath>
<FinalIntermediateOutputPath>$(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\obj</FinalIntermediateOutputPath>
</PropertyGroup>

<Target Name="HACK_CopyOutputsToTheProperLocation"
AfterTargets="AfterBuild"
Condition="'$(DisableOutputPathCopying)' != 'true'">
<!--
Ideally we'd set <OutputPath> to `$(Configuration)\[net40|coreclr]\bin`, but the calculation of `[net40|coreclr]`
depends on the `$(TargetFramework)` variable which is set by the individual project files, but by the time we have
that value (e.g., in this file) it's too late; some targets, particularly from the VsSDK have already used the
values of $(OutputPath)/$(OutDir).

The fix is to not set `$(Outputpath)` and simply copy stuff there after the fact.
-->

<ItemGroup>
<OutputFilesToCopy Include="$(ActualOutputPath)**" />
<IntermediateFilesToCopy Include="$(IntermediateOutputPath)\**" />
</ItemGroup>

<Message Text="Copying build artifacts to $(FinalOutputPath)" />
<MakeDir Directories="$(FinalOutputPath);$(FinalIntermediateOutputPath)" />
<Copy SourceFiles="@(OutputFilesToCopy)" DestinationFolder="$(FinalOutputPath)" />
<Copy SourceFiles="@(IntermediateFilesToCopy)" DestinationFolder="$(FinalIntermediateOutputPath)" />
</Target>

<Import Project="build\targets\AssemblyVersions.props" />
<Import Project="build\targets\GenerateAssemblyAttributes.targets" />
<Import Project="build\targets\GenerateInternalsVisibleTo.targets" />

</Project>
28 changes: 1 addition & 27 deletions FSharp.sln
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,14 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Tests.FSharpSuite",
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.UnitTests", "tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj", "{A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Core.UnitTests", "tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj", "{88E2D422-6852-46E3-A740-83E391DC7973}"
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Core.UnitTests", "tests\FSharp.Core.UnitTests\FSharp.Core.Unittests.fsproj", "{88E2D422-6852-46E3-A740-83E391DC7973}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Compiler", "Compiler", "{3881429D-A97A-49EB-B7AE-A82BA5FE9C77}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{B8DDA694-7939-42E3-95E5-265C2217C142}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{3058BC79-8E79-4645-B05D-48CC182FA8A6}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "HostedCompilerServer", "tests\fsharpqa\testenv\src\HostedCompilerServer\HostedCompilerServer.fsproj", "{4239EFEA-E746-446A-BF7A-51FCBAB13946}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "ILComparer", "tests\fsharpqa\testenv\src\ILComparer\ILComparer.fsproj", "{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -185,26 +181,6 @@ Global
{88E2D422-6852-46E3-A740-83E391DC7973}.Release|Any CPU.Build.0 = Release|Any CPU
{88E2D422-6852-46E3-A740-83E391DC7973}.Release|x86.ActiveCfg = Release|Any CPU
{88E2D422-6852-46E3-A740-83E391DC7973}.Release|x86.Build.0 = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|x86.ActiveCfg = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Debug|x86.Build.0 = Debug|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Proto|Any CPU.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Proto|x86.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|Any CPU.Build.0 = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|x86.ActiveCfg = Release|Any CPU
{4239EFEA-E746-446A-BF7A-51FCBAB13946}.Release|x86.Build.0 = Release|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Debug|x86.ActiveCfg = Debug|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Debug|x86.Build.0 = Debug|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Proto|Any CPU.ActiveCfg = Release|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Proto|x86.ActiveCfg = Release|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Release|Any CPU.Build.0 = Release|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Release|x86.ActiveCfg = Release|Any CPU
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -221,7 +197,5 @@ Global
{C163E892-5BF7-4B59-AA99-B0E8079C67C4} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{A8D9641A-9170-4CF4-8FE0-6DB8C134E1B5} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{88E2D422-6852-46E3-A740-83E391DC7973} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{4239EFEA-E746-446A-BF7A-51FCBAB13946} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
EndGlobalSection
EndGlobal
19 changes: 15 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,30 @@
include $(topsrcdir)mono/config.make

.PHONY: restore
.PHONY: restore build build-proto

restore:
MONO_ENV_OPTIONS=$(monoopts) mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile .nuget/NuGet.Config
MONO_ENV_OPTIONS=$(monoopts) mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile ./NuGet.Config
chmod u+x packages/FSharp.Compiler.Tools.4.1.27/tools/fsi.exe
chmod u+x packages/FsLexYacc.7.0.6/build/fslex.exe
chmod u+x packages/FsLexYacc.7.0.6/build/fsyacc.exe

# Make the proto using the bootstrap, then make the final compiler using the proto
# We call MAKE sequentially because we don't want build-final to explicitly depend on build-proto,
# as that causes a complete recompilation of both proto and final everytime you touch the
# compiler sources.
all:
@echo -----------
@echo prefix=$(prefix)
@echo topdir=$(topdir)
@echo monodir=$(monodir)
@echo monolibdir=$(monolibdir)
@echo monobindir=$(monobindir)
@echo -----------
$(MAKE) restore
$(MAKE) build-proto
$(MAKE) build

build-proto: restore
build-proto:
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=Proto /p:TargetDotnetProfile=$(TargetDotnetProfile) src/fsharp/FSharp.Build-proto/FSharp.Build-proto.fsproj
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=Proto /p:TargetDotnetProfile=$(TargetDotnetProfile) src/fsharp/Fsc-proto/Fsc-proto.fsproj

Expand All @@ -27,7 +38,7 @@ build:
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/fsi/Fsi.fsproj
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 tests/FSharp.Core.UnitTests/FSharp.Core.Unittests.fsproj
mkdir -p $(Configuration)/fsharp30/net40/bin
mkdir -p $(Configuration)/fsharp31/net40/bin
mkdir -p $(Configuration)/fsharp40/net40/bin
Expand Down
4 changes: 2 additions & 2 deletions .nuget/NuGet.Config → NuGet.Config
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
<packageSources>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="artifacts" value="../artifacts" />
<add key="artifacts" value="../artifacts/4.2" />
<add key="artifacts" value="./artifacts" />
<add key="artifacts" value="./artifacts/4.2" />
<add key="myget.org fsharp-daily" value="https://www.myget.org/F/fsharp-daily/api/v3/index.json" />
<add key="myget.org roslyn-master-nightly" value="https://dotnet.myget.org/F/roslyn-master-nightly/api/v3/index.json" />
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
Expand Down
Loading