Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ For **Release**:

1. The `update.cmd` script adds required strong name validation skips, and NGens the compiler and libraries. This requires admin privileges.
1. The compiler binaries produced are "private" and strong-named signed with a test key.
1. Some additional tools are required to build the compiler, notably `fslex.exe`, `fsyacc.exe`, `FSharp.PowerPack.Build.Tasks.dll`, `FsSrGen.exe`, `FSharp.SRGen.Build.Tasks.dll`, and the other tools found in the `lkg` directory.
1. Some additional tools are required to build the compiler, notably `fslex.exe`, `fsyacc.exe`, `FSharp.PowerPack.Build.Tasks.dll` and the other tools found in the `lkg` directory.
1. The overall bootstrapping process executes as follows
- We first need an existing F# compiler. We use the one in the `lkg` directory. Let's assume this compiler has an `FSharp.Core.dll` with version X.
- We use this compiler to compile the source in this distribution, to produce a "proto" compiler, dropped to the `proto` directory. When run, this compiler still relies on `FSharp.Core.dll` with version X.
Expand Down
2 changes: 1 addition & 1 deletion lkg/FSharp-14.0.23413.0/bin/FSharp.Core/README.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
The copy of FSharp.Core in this directory is version 2.0.50726.900, required by FSharp.SRGen.Build.Tasks.dll and other legacy Power Pack libraries in the parent directory.
The copy of FSharp.Core in this directory is version 2.0.50726.900, required by legacy Power Pack libraries in the parent directory.

This copy of FSharp.Core.dll should not be referenced as an LKG, it is present merely as a workaround to enable the legacy libraries to work without needing to update the GAC.
Binary file not shown.
67 changes: 0 additions & 67 deletions lkg/FSharp-14.0.23413.0/bin/FSharp.SRGen.targets

This file was deleted.

Binary file removed lkg/FSharp-14.0.23413.0/bin/FindUnusedResources.exe
Binary file not shown.
Binary file removed lkg/FSharp-14.0.23413.0/bin/FsSrGen.exe
Binary file not shown.
3 changes: 2 additions & 1 deletion packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<package id="Microsoft.DiaSymReader.PortablePdb" version="1.0.0-rc-60301" />
<package id="Microsoft.DiaSymReader" version="1.0.7" />
<package id="NUnit3TestAdapter" version="3.0.8-ctp-8" targetFramework="net45" />
<package id="FsSrGen" version="2.0.0" targetFramework="net46" />
<package id="fssrgen" version="3.0.0" targetFramework="net46" />
<package id="FSharp.SRGen.Build.Tasks" version="3.0.0" targetFramework="net46" />
<package id="MicroBuild.Core" version="0.2.0" />
</packages>
1 change: 0 additions & 1 deletion src/FSharpSource.Settings.targets
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@

<PropertyGroup>
<FsiToolPath>$(FSharpSourcesRoot)\..\lkg\FSharp-$(LkgVersion)\bin</FsiToolPath>
<FsSrGenToolPath>$(FSharpSourcesRoot)\..\lkg\FSharp-$(LkgVersion)\bin</FsSrGenToolPath>
<FsLexToolPath>$(FSharpSourcesRoot)\..\lkg\FSharp-$(LkgVersion)\bin</FsLexToolPath>
<FsYaccToolPath>$(FSharpSourcesRoot)\..\lkg\FSharp-$(LkgVersion)\bin</FsYaccToolPath>
<FsiToolExe>fsi.exe</FsiToolExe>
Expand Down
7 changes: 5 additions & 2 deletions src/FSharpSource.targets
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,9 @@
<FsCheckVersion>2.0.3</FsCheckVersion>
<FsCheckFullVersion>2.0.3.0</FsCheckFullVersion>
<FsCheckLibDir>$(FSharpSourcesRoot)\..\packages\FsCheck.$(FsCheckVersion)\lib\</FsCheckLibDir>
<FsSrGenVersion>3.0.0</FsSrGenVersion>
<FsSrGenBuildTasksVersion>3.0.0</FsSrGenBuildTasksVersion>
<FsSrGenToolPath>$(FSharpSourcesRoot)\..\packages\fssrgen.$(FsSrGenVersion)\lib\net46</FsSrGenToolPath>
</PropertyGroup>

<!-- v2.0-specific flags -->
Expand Down Expand Up @@ -230,6 +233,7 @@
<DefineConstants>$(DefineConstants);NO_LOADER_OPTIMIZATION</DefineConstants>
<DefineConstants>$(DefineConstants);SILVERLIGHT_COMPILER_FSHARP_CORE</DefineConstants>
<DefineConstants>$(DefineConstants);I_DONT_KNOW_HOW_TO_DO_THIS_YET</DefineConstants>
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmmm I really need to do something about this one, I thought I had got rid of it. The: "I_DONT_KNOW_HOW_TO_DO_THIS_YET"

<DefineConstants>$(DefineConstants);NETSTANDARD1_5</DefineConstants>
Copy link
Contributor

Choose a reason for hiding this comment

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

Where is this define used?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

the generated file from fssrgen contains an #if NETSTANDARD1_5 so the same file can work for both net46 and netstandard1.5 (dnxcore50 too, but now is useless)
NETSTANDARD1_5 it's the default define added for netstandard1.5 framework (like NET46 for .net 4.6)

Copy link
Contributor

Choose a reason for hiding this comment

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

Does the generated code need to be different?

From: Enrico Sada [mailto:notifications@github.com]
Sent: Wednesday, April 13, 2016 4:32 PM
To: Microsoft/visualfsharp visualfsharp@noreply.github.com
Cc: Kevin Ransom Kevin.Ransom@microsoft.com
Subject: Re: [Microsoft/visualfsharp] Revert the revert of fssrgen (#1064)

In src/FSharpSource.targetshttps://github.com//pull/1064#discussion_r59643851:

@@ -230,6 +233,7 @@

 <DefineConstants>$(DefineConstants);NO_LOADER_OPTIMIZATION</DefineConstants>

 <DefineConstants>$(DefineConstants);SILVERLIGHT_COMPILER_FSHARP_CORE</DefineConstants>

 <DefineConstants>$(DefineConstants);I_DONT_KNOW_HOW_TO_DO_THIS_YET</DefineConstants>
  • $(DefineConstants);NETSTANDARD1_5

the generated file from fssrgen contains an #if NETSTANDARD1_5 so the same file can work for both net46 and netstandard1.5 (dnxcore50 too, but now is useless)
NETSTANDARD1_5 it's the default define added for netstandard1.5 framework (like NET46 for .net 4.6)


You are receiving this because you commented.
Reply to this email directly or view it on GitHubhttps://github.com//pull/1064/files/9e72d0c1b22f2a8d91e7e7e047def11637acb773#r59643851

<TargetFrameworkProfile>profile7</TargetFrameworkProfile> <!-- We are currently directly referencing corefx assemblies, so profile7 is not really true -->
<ImplicitlyExpandTargetFramework>false</ImplicitlyExpandTargetFramework> <!-- To stop msbuild being helpfull and referencing the dlls for the profile -->
</PropertyGroup>
Expand Down Expand Up @@ -826,7 +830,6 @@
<CompileDependsOn>ValidateConfiguration;$(CompileDependsOn);CustomCopyLocalFiles</CompileDependsOn>
<RootNamespace></RootNamespace>
<DocumentationFile>$(OutputPath)$(AssemblyName).xml</DocumentationFile>
<EnsureThereAreNoUnusedFsSrGenResources>false</EnsureThereAreNoUnusedFsSrGenResources>
</PropertyGroup>

<Target Name="ValidateConfiguration">
Expand Down Expand Up @@ -865,7 +868,7 @@
</CreateItem>
</Target>

<Import Project="..\lkg\FSharp-$(LkgVersion)\bin\FSharp.SRGen.targets" />
<Import Project="..\packages\FSharp.SRGen.Build.Tasks.$(FsSrGenBuildTasksVersion)\content\FSharp.SRGen.targets" />
<Import Project="Microbuild.Settings.targets" />

<Target Name="ReorderCompileItems"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
<TargetType>LIBRARY</TargetType>
<NoWarn>58;75</NoWarn>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<EnsureThereAreNoUnusedFsSrGenResources>False</EnsureThereAreNoUnusedFsSrGenResources>
<DefineConstants>DEBUG;TRACE;$(DefineConstants)</DefineConstants>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<CustomOutputPath>true</CustomOutputPath>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
<OutputType>Library</OutputType>
<AssemblyName>EmptyAssembly</AssemblyName>
<TargetType>LIBRARY</TargetType>
<EnsureThereAreNoUnusedFsSrGenResources>False</EnsureThereAreNoUnusedFsSrGenResources>
<NoWarn>58;75</NoWarn>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<DefineConstants>DEBUG;TRACE;$(DefineConstants)</DefineConstants>
Expand Down