Skip to content

Commit d2433da

Browse files
committed
Merge pull request dotnet#186 from KevinRansom/VS2015Support
Vs2015 support
2 parents 1a246cc + fb309a9 commit d2433da

File tree

46 files changed

+557
-319
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+557
-319
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ src/*.userprefs
1111
src/fsharp/FSStrings.resources
1212
lkg
1313
packages
14+
packages
1415
src/fsharp/FSharp.Build/*.resx
1516
src/fsharp/FSharp.Build-proto/*.resx
1617
src/fsharp/FSharp.Build-proto/*.resources
@@ -30,6 +31,8 @@ src/fsharp/FSharp.Compiler/*.userprefs
3031
src/*.log
3132
Debug
3233
Release
34+
vsdebug
35+
vsrelease
3336
Proto
3437
.libs
3538
Makefile
@@ -99,3 +102,4 @@ tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExprLi
99102
*.log
100103
*.jrs
101104
*.chk
105+
*.bak

appveyor-build.cmd

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@
33
set APPVEYOR_CI=1
44

55
:: Check prerequisites
6-
set _msbuildexe="%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
7-
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\12.0\Bin\MSBuild.exe"
8-
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
9-
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\14.0\Bin\MSBuild.exe"
6+
if not '%VisualStudioVersion%' == '' goto vsversionset
7+
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\common7\ide\devenv.exe" set VisualStudioVersion=14.0
8+
if not '%VisualStudioVersion%' == '' goto vsversionset
9+
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\common7\ide\devenv.exe" set VisualStudioVersion=12.0
10+
:vsversionset
11+
if '%VisualStudioVersion%' == '' echo Error: Could not find a Visual Studio Installed.MSBuild.exe. Please see http://www.visualstudio.com/en-us/news/vs2015-vs.aspx. && goto :eof
12+
13+
if '%VisualStudioVersion%'=='14.0' set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
14+
if '%VisualStudioVersion%'=='12.0' set _msbuildexe="%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
1015
if not exist %_msbuildexe% echo Error: Could not find MSBuild.exe. Please see http://www.microsoft.com/en-us/download/details.aspx?id=40760. && goto :eof
1116

1217
set _ngenexe="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\ngen.exe"
@@ -19,14 +24,16 @@ if not exist %_ngenexe% echo Error: Could not find ngen.exe. && goto :eof
1924
%_msbuildexe% src\fsharp-proto-build.proj
2025
@if ERRORLEVEL 1 echo Error: compiler proto build failed && goto :eof
2126

22-
%_ngenexe% install Proto\net40\bin\fsc-proto.exe
23-
@if ERRORLEVEL 1 echo Error: NGen of proto failed && goto :eof
27+
%_ngenexe% install proto\net40\bin\FSharp.Compiler-proto.dll
28+
%_ngenexe% install proto\net40\bin\fsharp.core.dll
29+
%_ngenexe% install proto\net40\bin\FSharp.Build-proto.dll
30+
%_ngenexe% install proto\net40\bin\fsc-proto.exe
2431

25-
%_msbuildexe% src/fsharp-library-build.proj /p:Configuration=Release
26-
@if ERRORLEVEL 1 echo Error: library build failed && goto :eof
32+
%_msbuildexe% src/fsharp-library-build.proj /p:UseNugetPackages=true /p:Configuration=Release
33+
@if ERRORLEVEL 1 echo Error: library release build failed && goto :eof
2734

28-
%_msbuildexe% src/fsharp-compiler-build.proj /p:Configuration=Release
29-
@if ERRORLEVEL 1 echo Error: compiler build failed && goto :eof
35+
%_msbuildexe% src/fsharp-compiler-build.proj /p:UseNugetPackages=true /p:Configuration=Release
36+
@if ERRORLEVEL 1 echo Error: compile Release build failed && goto :eof
3037

3138
REM We don't build new net20 FSharp.Core anymore
3239
REM %_msbuildexe% src/fsharp-library-build.proj /p:TargetFramework=net20 /p:Configuration=Release
@@ -43,11 +50,8 @@ REM @if ERRORLEVEL 1 echo Error: library net20 build failed && goto :eof
4350

4451
%_msbuildexe% src/fsharp-library-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
4552
@if ERRORLEVEL 1 echo Error: library portable259 build failed && goto :eof
46-
47-
4853
%_msbuildexe% src/fsharp-compiler-unittests-build.proj
49-
@if ERRORLEVEL 1 echo Error: compiler unittests debug build failed && goto :eof
50-
54+
@if ERRORLEVEL 1 echo Error: compiler unittests Release build failed && goto :eof
5155

5256
%_msbuildexe% src/fsharp-library-unittests-build.proj /p:Configuration=Release
5357
@if ERRORLEVEL 1 echo Error: library unittests build failed && goto :eof
@@ -64,7 +68,6 @@ REM @if ERRORLEVEL 1 echo Error: library net20 build failed && goto :eof
6468
%_msbuildexe% src/fsharp-library-unittests-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
6569
@if ERRORLEVEL 1 echo Error: library unittests build failed portable259 && goto :eof
6670

67-
6871
@echo on
6972
call src\update.cmd release -ngen
7073

@@ -78,15 +81,14 @@ pushd tests
7881

7982
REM Disabled while working out perl problem, see https://github.com/Microsoft/visualfsharp/pull/169
8083
REM call RunTests.cmd release fsharp Smoke
81-
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd release fsharpqa Smoke' failed && goto :eof
84+
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd Release fsharpqa Smoke' failed && goto :eof
8285

8386
REM Disabled while working out perl problem, see https://github.com/Microsoft/visualfsharp/pull/169
8487
REM call RunTests.cmd release fsharpqa Smoke
8588
REM @if ERRORLEVEL 1 echo Error: 'RunTests.cmd release fsharpqa Smoke' failed && goto :eof
8689

8790
call RunTests.cmd release compilerunit
8891
@if ERRORLEVEL 1 echo Error: 'RunTests.cmd release compilerunit' failed && goto :eof
89-
9092
call RunTests.cmd release coreunit
9193
@if ERRORLEVEL 1 echo Error: 'RunTests.cmd release coreunit' failed && goto :eof
9294

appveyor.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
os: Visual Studio 2015 CTP
2+
13
init:
24
build_script:
35
- cmd: appveyor-build.cmd
6+
7+
# scripts that run after cloning repository
8+
install:
9+
# by default, all script lines are interpreted as batch
10+
- set PATH=%ProgramFiles(x86)%\MSBuild\14.0\Bin;%PATH%
11+
412
test: off
513
version: 0.0.1.{build}
614
artifacts:
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
3+
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4+
<!-- F# compiler has a depedency on MsBuild. Different VS and F# Deployments carry various MsBuild versions -->
5+
<!-- This section sets the MsBuild references the compiler requires depending on the value of the environment variable -->
6+
<!-- VisualStudioVersion, 12.0 for VS2013, 1 for VS2015 -->
7+
<!-- By Default uses VS2013 values -->
8+
<Choose>
9+
<When Condition="'$(VisualStudioVersion)' == '14.0'">
10+
<PropertyGroup>
11+
<MsBuild_FrameworkReference>Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_FrameworkReference>
12+
<MsBuild_EngineReference>Microsoft.Build.Engine, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_EngineReference>
13+
<MsBuild_Reference>Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_Reference>
14+
<MsBuild_UtilitiesReference>Microsoft.Build.Utilities.core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_UtilitiesReference>
15+
<MsBuild_TaskReference>Microsoft.Build.Tasks.core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_TaskReference>
16+
<MsBuild_ConversionReference>Microsoft.Build.Conversion.core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_ConversionReference>
17+
</PropertyGroup>
18+
</When>
19+
<Otherwise>
20+
<PropertyGroup>
21+
<MsBuild_FrameworkReference>Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_FrameworkReference>
22+
<MsBuild_EngineReference>Microsoft.Build.Engine, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_EngineReference>
23+
<MsBuild_Reference>Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_Reference>
24+
<MsBuild_UtilitiesReference>Microsoft.Build.Utilities.V12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_UtilitiesReference>
25+
<MsBuild_TaskReference>Microsoft.Build.Tasks.V12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_TaskReference>
26+
<MsBuild_ConversionReference>Microsoft.Build.Conversion.V12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</MsBuild_ConversionReference>
27+
</PropertyGroup>
28+
</Otherwise>
29+
</Choose>
30+
</Project>

src/FSharpSource.targets

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
</Otherwise>
6565
</Choose>
6666

67+
<Import Project="FSharpSource.msbuildreferences.targets" />
68+
6769
<!-- For the proto build, portable and Silverlight framework implementations, we don't use strong names. -->
6870
<!-- For Silverlight, there is no way to disable strong name verification, so using the Microsoft name is not possible -->
6971
<PropertyGroup Condition="'$(StrongNames)' != 'true'">
@@ -121,7 +123,7 @@
121123
<PropertyGroup Condition="'$(TargetFramework)'=='net40'">
122124
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
123125
<DefineConstants>$(DefineConstants);FSHARP_CORE_4_5</DefineConstants>
124-
<DefineConstants>$(DefineConstants);FX_ATLEAST_45</DefineConstants>
126+
<DefineConstants Condition="'$(Configuration)'!='Proto'">$(DefineConstants);FX_ATLEAST_45</DefineConstants>
125127
<DefineConstants>$(DefineConstants);FX_ATLEAST_40</DefineConstants>
126128
<DefineConstants>$(DefineConstants);FX_ATLEAST_35</DefineConstants>
127129
<DefineConstants>$(DefineConstants);BE_SECURITY_TRANSPARENT</DefineConstants>

src/assemblyinfo/assemblyinfo.FSharp.Compiler.Interactive.Settings.dll.fs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
#light
44
namespace Microsoft.FSharp
55
open System.Reflection
6+
open System.Runtime.InteropServices
7+
68
[<assembly:AssemblyDescription("FSharp.Compiler.Interactive.Settings.dll")>]
79
[<assembly:AssemblyCompany("Microsoft Corporation")>]
810
[<assembly:AssemblyTitle("FSharp.Compiler.Interactive.Settings.dll")>]
911
[<assembly:AssemblyCopyright("\169 Microsoft Corporation. Apache 2.0 License.")>]
1012
[<assembly:AssemblyProduct("Microsoft\174 F#")>]
13+
[<assembly:ComVisible(false)>]
1114

1215
#if NO_STRONG_NAMES
1316
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("fsi")>]

src/assemblyinfo/assemblyinfo.FSharp.Compiler.Server.Shared.dll.fs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
#light
44
namespace Microsoft.FSharp
55
open System.Reflection
6+
open System.Runtime.InteropServices
67

78
[<assembly:AssemblyDescription("FSharp.Compiler.Server.Shared.dll")>]
89
[<assembly:AssemblyCompany("Microsoft Corporation")>]
910
[<assembly:AssemblyTitle("FSharp.Compiler.Server.Shared.dll")>]
1011
[<assembly:AssemblyCopyright("\169 Microsoft Corporation. Apache 2.0 License.")>]
1112
[<assembly:AssemblyProduct("Microsoft\174 F#")>]
13+
[<assembly:ComVisible(false)>]
1214

1315
#if NO_STRONG_NAMES
1416
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("fsi")>]

src/assemblyinfo/assemblyinfo.FSharp.Compiler.dll.fs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
#light
44
namespace Microsoft.FSharp
55
open System.Reflection
6+
open System.Runtime.InteropServices
67

78
[<assembly:AssemblyDescription("FSharp.Compiler.dll")>]
89
[<assembly:AssemblyCompany("Microsoft Corporation")>]
910
[<assembly:AssemblyTitle("FSharp.Compiler.dll")>]
1011
[<assembly:AssemblyCopyright("\169 Microsoft Corporation. Apache 2.0 License.")>]
1112
[<assembly:AssemblyProduct("Microsoft\174 F#")>]
13+
[<assembly:ComVisible(false)>]
14+
1215
#if NO_STRONG_NAMES
1316
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("fsc")>]
1417
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("fsi")>]

src/assemblyinfo/assemblyinfo.FSharp.Core.dll.fs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22

33
namespace Microsoft.FSharp
44
open System.Reflection
5+
open System.Runtime.InteropServices
6+
57
[<assembly:AssemblyDescription("FSharp.Core.dll")>]
68
[<assembly:AssemblyCompany("Microsoft Corporation")>]
79
[<assembly:AssemblyTitle("FSharp.Core.dll")>]
810
[<assembly:AssemblyCopyright("\169 Microsoft Corporation. Apache 2.0 License.")>]
911
[<assembly:AssemblyProduct("Microsoft\174 F#")>]
12+
#if !FSHARP_CORE_PORTABLE
13+
[<assembly:ComVisible(false)>]
14+
#endif
1015

1116
#if PORTABLE
1217
[<assembly:AssemblyProduct("Microsoft\174 F#")>]

src/assemblyinfo/assemblyinfo.FSharp.Data.TypeProviders.dll.fs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
#light
44
namespace Microsoft.FSharp
55
open System.Reflection
6+
open System.Runtime.InteropServices
7+
68
[<assembly:AssemblyDescription("FSharp.Data.TypeProviders.dll")>]
79
[<assembly:AssemblyCompany("Microsoft Corporation")>]
810
[<assembly:AssemblyTitle("FSharp.Data.TypeProviders.dll")>]
911
[<assembly:AssemblyCopyright("\169 Microsoft Corporation. All rights reserved.")>]
1012
[<assembly:AssemblyProduct("Microsoft\174 F#")>]
13+
[<assembly:ComVisible(false)>]
1114
do()
1215

1316
#if NO_STRONG_NAMES

0 commit comments

Comments
 (0)