Permalink
Browse files

Update bootstrap compiler to build as far as the proto compiler

Update bootstrap compiler using a modified F# 2.0 compiler which traps
a harmless error about XMLDocs and prints it to the screen. This allows
the F# 3.0 build to proceed as far as building the proto compiler.

The finalized F# 3.0 FSharp.Core does not yet build.
  • Loading branch information...
funnelweb committed Oct 9, 2012
1 parent 1afbef6 commit 107f1d90762a62099c349583583b654b652e2b8e
View
BIN lib/bootstrap/2.0/FSharp.Build.dll 100644 → 100755
Binary file not shown.
Binary file not shown.
Binary file not shown.
View
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,194 @@
+<!--
+***********************************************************************************************
+Microsoft.FSharp.targets
+
+WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
+ created a backup copy. Incorrect changes to this file will make it
+ impossible to load or build your projects from the command-line or the IDE.
+
+This file defines the steps in the standard build process specific for F# .NET projects.
+For example, it contains the step that actually calls the F# compiler. The remainder
+of the build process is defined in Microsoft.Common.targets, which is imported by
+this file.
+
+Copyright (C) Microsoft Corporation. All rights reserved.
+***********************************************************************************************
+-->
+
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <UsingTask TaskName="Fsc" AssemblyFile="FSharp.Build.dll"/>
+ <UsingTask TaskName="CreateFSharpManifestResourceName" AssemblyFile="FSharp.Build.dll"/>
+
+
+ <PropertyGroup>
+ <!-- FSharpTargetsDir is the directory where the targets file lives -->
+ <FSharpTargetsDir Condition="'$(FSharpTargetsDir)'==''">$(MSBuildExtensionsPath32)\FSharp\1.0\</FSharpTargetsDir>
+ <!-- FSharpTargetsFullPath is the full path (dir + filename) of the targets file -->
+ <FSharpTargetsFullPath Condition="'$(FSharpTargetsDir)'!=''">$(FSharpTargetsDir)\Microsoft.FSharp.targets</FSharpTargetsFullPath>
+ <MSBuildAllProjects>$(MSBuildAllProjects);$(FSharpTargetsFullPath)</MSBuildAllProjects>
+ <DefaultLanguageSourceExtension>.fs</DefaultLanguageSourceExtension>
+ <Language>F#</Language>
+ <Tailcalls Condition="'$(Tailcalls)'==''">$(Optimize)</Tailcalls>
+ <!-- Visual studio requires a non-empty RootNamespace value for "Add New Item" to work. -->
+ <RootNamespace Condition="'$(RootNamespace)'==''">RootNamespace</RootNamespace>
+ </PropertyGroup>
+
+ <!--
+ The CreateManifestResourceNames target create the manifest resource names from the .RESX
+ files.
+
+ [IN]
+ @(EmbeddedResource) - The list of EmbeddedResource items that have been pre-processed to add metadata about resource type
+ Expected Metadata "Type" can either be "Resx" or "Non-Resx"
+
+ [OUT]
+ @(EmbeddedResource) - EmbeddedResource items with metadata
+
+ For F# applications the transformation is like:
+
+ Resources1.resx => Resources1 => Build into main assembly
+ SubFolder\Resources1.resx => SubFolder.Resources1 => Build into main assembly
+ Resources1.fr.resx => Resources1.fr => Build into satellite assembly
+ Resources1.notaculture.resx => Resources1.notaculture => Build into main assembly
+
+ For other project systems, this transformation may be different.
+ -->
+ <PropertyGroup>
+ <CreateManifestResourceNamesDependsOn></CreateManifestResourceNamesDependsOn>
+ </PropertyGroup>
+ <Target
+ Name="CreateManifestResourceNames"
+ Condition="'@(EmbeddedResource)' != ''"
+ DependsOnTargets="$(CreateManifestResourceNamesDependsOn)"
+ >
+
+ <ItemGroup>
+ <_Temporary Remove="@(_Temporary)" />
+ </ItemGroup>
+
+ <!-- Create manifest names for culture and non-culture Resx files, and for non-culture Non-Resx resources -->
+ <CreateFSharpManifestResourceName
+ ResourceFiles="@(EmbeddedResource)"
+ RootNamespace="$(RootNamespace)"
+ Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and ('%(EmbeddedResource.WithCulture)' == 'false' or '%(EmbeddedResource.Type)' == 'Resx')">
+
+ <Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
+
+ </CreateFSharpManifestResourceName>
+
+ <!-- Create manifest names for all culture non-resx resources -->
+ <CreateFSharpManifestResourceName
+ ResourceFiles="@(EmbeddedResource)"
+ RootNamespace="$(RootNamespace)"
+ PrependCultureAsDirectory="false"
+ Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and '%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
+
+ <Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
+
+ </CreateFSharpManifestResourceName>
+
+ <ItemGroup>
+ <EmbeddedResource Remove="@(EmbeddedResource)" Condition="'%(EmbeddedResource.ManifestResourceName)' == ''"/>
+ <EmbeddedResource Include="@(_Temporary)" />
+ <_Temporary Remove="@(_Temporary)" />
+ </ItemGroup>
+ </Target>
+
+ <ItemGroup>
+ <DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)'!=''"/>
+ </ItemGroup>
+
+ <ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(PdbFile)' != ''">
+ <_DebugSymbolsIntermediatePathTemporary Include="$(PdbFile)"/>
+ <!-- Add any missing .pdb extension, as the compiler does -->
+ <_DebugSymbolsIntermediatePath Include="@(_DebugSymbolsIntermediatePathTemporary->'%(RootDir)%(Directory)%(Filename).pdb')"/>
+ </ItemGroup>
+
+ <PropertyGroup>
+ <CoreCompileDependsOn>_ComputeNonExistentFileProperty</CoreCompileDependsOn>
+ </PropertyGroup>
+
+ <Target
+ Name="CoreCompile"
+ Inputs="$(MSBuildAllProjects);
+ @(CompileBefore);
+ @(Compile);
+ @(CompileAfter);
+ @(_CoreCompileResourceInputs);
+ $(ApplicationIcon);
+ $(AssemblyOriginatorKeyFile);
+ @(ReferencePath);
+ @(CompiledLicenseFile);
+ @(EmbeddedDocumentation);
+ $(Win32Resource);
+ $(Win32Manifest);
+ @(CustomAdditionalCompileInputs);
+ $(VersionFile);
+ $(KeyOriginatorFile)"
+ Outputs="@(DocFileItem);
+ @(IntermediateAssembly);
+ @(_DebugSymbolsIntermediatePath);
+ $(NonExistentFile);
+ @(CustomAdditionalCompileOutputs)"
+ DependsOnTargets="$(CoreCompileDependsOn)"
+ >
+
+ <!-- See bug 6053
+ <Error
+ Condition="'$(SilverlightVersion)' != '' and !(Exists('$(ProgramFiles)\Microsoft F#\Silverlight\Libraries\Client\$(SilverlightVersion)\FSharp.Core.dll'))"
+ Text="F# runtime for Silverlight version $(SilverlightVersion) is not installed. Please go to http://go.microsoft.com/fwlink/?LinkId=177463 to download and install matching F# runtime"
+ />
+ -->
+
+ <Warning
+ Condition="'$(Win32ResourceFile)' != '' "
+ Text="The property &lt;Win32ResourceFile> has been renamed to &lt;Win32Resource>. Update your project file to ensure that the correct value is passed via the --win32res option to the F# compiler."
+ />
+
+ <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
+ <Fsc Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' "
+ BaseAddress="$(BaseAddress)"
+ CodePage="$(CodePage)"
+ DebugSymbols="$(DebugSymbols)"
+ DebugType="$(DebugType)"
+ DefineConstants="$(DefineConstants)"
+ DisabledWarnings="$(NoWarn)"
+ DocumentationFile="$(DocumentationFile)"
+ GenerateInterfaceFile="$(GenerateInterfaceFile)"
+ KeyFile="$(KeyOriginatorFile)"
+ LCID="$(LCID)"
+ NoFramework="true"
+ Optimize="$(Optimize)"
+ OtherFlags="$(OtherFlags)"
+ OutputAssembly="@(IntermediateAssembly)"
+ PdbFile="$(PdbFile)"
+ Platform="$(PlatformTarget)"
+ References="@(ReferencePath)"
+ ReferencePath="$(ReferencePath)"
+ Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile);@(AdditionalEmbeddedResource)"
+ Sources="@(CompileBefore);@(Compile);@(CompileAfter)"
+ Tailcalls="$(Tailcalls)"
+ TargetType="$(OutputType)"
+ ToolExe="$(FscToolExe)"
+ ToolPath="$(FscToolPath)"
+ TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
+ Utf8Output="$(Utf8Output)"
+ VersionFile="$(VersionFile)"
+ VisualStudioStyleErrors="$(VisualStudioStyleErrors)"
+ WarningLevel="$(WarningLevel)"
+ WarningsAsErrors="$(WarningsAsErrors)"
+ Win32ManifestFile="$(Win32Manifest)"
+ Win32ResourceFile="$(Win32Resource)"
+ />
+
+ <ItemGroup>
+ <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
+ </ItemGroup>
+
+ </Target>
+
+ <Import Project="$(MSBuildBinPath)\Microsoft.Common.targets"/>
+
+</Project>
+
View
BIN lib/bootstrap/2.0/fsc.exe 100644 → 100755
Binary file not shown.
View
Binary file not shown.
View
BIN lib/bootstrap/4.0/FSharp.Build.dll 100644 → 100755
Binary file not shown.
Binary file not shown.
Binary file not shown.
View
Binary file not shown.
View
BIN lib/bootstrap/4.0/FSharp.Core.dll 100644 → 100755
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -191,4 +191,4 @@ Copyright (C) Microsoft Corporation. All rights reserved.
<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets"/>
</Project>
-
+
View
Binary file not shown.
View
Binary file not shown.
View
@@ -12,6 +12,9 @@
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<FSharpSourcesRoot>..\..</FSharpSourcesRoot>
+ <ProductVersion>10.0.0</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <UsePartialTypes>False</UsePartialTypes>
</PropertyGroup>
<Import Project="$(FSharpSourcesRoot)\FSharpSource.Settings.targets" />
<PropertyGroup>
@@ -31,12 +34,7 @@
<OtherFlags Condition=" '$(TargetFramework)'=='net20' or '$(TargetFramework)'=='mono20'">$(OtherFlags) --compiling-fslib-20:"$(SystemRoot)\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" </OtherFlags>
<OtherFlags Condition=" '$(TargetFramework)'=='net40' or '$(TargetFramework)'=='mono40'">$(OtherFlags) --compiling-fslib-40</OtherFlags>
</PropertyGroup>
-
-
<ItemGroup>
- <CustomAdditionalCompileInputs Include="$(FSharpSourcesRoot)\..\Proto\$(protoCLIDir)\bin\fsc-proto.exe">
- <Visible>false</Visible>
- </CustomAdditionalCompileInputs>
<EmbeddedResource Include="FSCore.resx">
<Link>FSCore.resx</Link>
</EmbeddedResource>
@@ -133,18 +131,6 @@
<Compile Include="event.fs">
<Link>event.fs</Link>
</Compile>
- <Compile Include="math/n.fsi">
- <Link>n.fsi</Link>
- </Compile>
- <Compile Include="math/n.fs">
- <Link>n.fs</Link>
- </Compile>
- <Compile Include="math/z.fsi">
- <Link>z.fsi</Link>
- </Compile>
- <Compile Include="math/z.fs">
- <Link>z.fs</Link>
- </Compile>
<Compile Include="..\..\utils\sformat.fsi">
<Link>sformat.fsi</Link>
</Compile>
@@ -176,31 +162,24 @@
<Link>control.fs</Link>
</Compile>
<Compile Include="Linq.fsi">
- <Visible>true</Visible>
<Link>Linq.fsi</Link>
</Compile>
<Compile Include="Linq.fs">
- <Visible>true</Visible>
<Link>Linq.fs</Link>
</Compile>
<Compile Include="MutableTuple.fs">
- <Visible>true</Visible>
<Link>MutableTuple.fs</Link>
</Compile>
<Compile Include="QueryExtensions.fs">
- <Visible>true</Visible>
<Link>QueryExtensions.fs</Link>
</Compile>
- <Compile Include="Query.fsi" >
- <Visible>true</Visible>
+ <Compile Include="Query.fsi">
<Link>Query.fsi</Link>
</Compile>
- <Compile Include="Query.fs" >
- <Visible>true</Visible>
+ <Compile Include="Query.fs">
<Link>Query.fs</Link>
</Compile>
- <Compile Include="SI.fs" >
- <Visible>true</Visible>
+ <Compile Include="SI.fs">
<Link>SI.fs</Link>
</Compile>
<Compile Include="fslib-extra-pervasives.fsi">
@@ -212,20 +191,29 @@
<Compile Include="..\..\assemblyinfo\assemblyinfo.FSharp.Core.dll.fs">
<Link>assemblyinfo.FSharp.Core.dll.fs</Link>
</Compile>
+ <CustomAdditionalCompileInputs Include="Proto\%24%28protoCLIDir%29\bin\fsc-proto.exe">
+ <Visible>False</Visible>
+ </CustomAdditionalCompileInputs>
+ <Compile Include="math\n.fsi">
+ <Link>n.fsi</Link>
+ </Compile>
+ <Compile Include="math\n.fs">
+ <Link>n.fs</Link>
+ </Compile>
+ <Compile Include="math\z.fsi">
+ <Link>z.fsi</Link>
+ </Compile>
+ <Compile Include="math\z.fs">
+ <Link>z.fs</Link>
+ </Compile>
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Numerics" Condition="'$(TargetFramework)' == 'net40' or '$(TargetFramework)'=='mono40'" />
- <Reference Include="System.Net" Condition="'$(TargetFramework)' == 'sl5' OR
- '$(TargetFramework)' == 'sl5-compiler' OR
- '$(TargetFramework)' == 'XNA\5.0' OR
- '$(TargetFramework)' == 'sl3-wp' "/>
- <Reference Include="System.Observable" Condition="'$(TargetFramework)' == 'sl3-wp' "/>
- <Reference Include="System.Core" Condition="'$(TargetFramework)' == 'sl5' OR
- '$(TargetFramework)' == 'sl5-compiler' OR
- '$(TargetFramework)' == 'XNA\5.0' OR
- '$(TargetFramework)' == 'sl3-wp' "/>
+ <Reference Include="System.Net" Condition="'$(TargetFramework)' == 'sl5' OR &#xD;&#xA; '$(TargetFramework)' == 'sl5-compiler' OR &#xD;&#xA; '$(TargetFramework)' == 'XNA\5.0' OR &#xD;&#xA; '$(TargetFramework)' == 'sl3-wp' " />
+ <Reference Include="System.Observable" Condition="'$(TargetFramework)' == 'sl3-wp' " />
+ <Reference Include="System.Core" Condition="'$(TargetFramework)' == 'sl5' OR &#xD;&#xA; '$(TargetFramework)' == 'sl5-compiler' OR &#xD;&#xA; '$(TargetFramework)' == 'XNA\5.0' OR &#xD;&#xA; '$(TargetFramework)' == 'sl3-wp' " />
</ItemGroup>
<!-- References -->
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
@@ -10,13 +10,21 @@ FSC=$(protodir)fsc-proto.exe
FLAGS_2_0 += \
$(FINAL_FLAGS) \
- --target:library \
- --compiling-fslib
+ --compiling-fslib \
+ --nowarn:75,1204 \
+ --target:library \
+ --define:FX_NO_BIGINT \
+ --compiling-fslib-20:$(monolibdir)mscorlib.dll \
+ --extraoptimizationloops:1
FLAGS_4_0 += \
$(FINAL_FLAGS) \
- $(FLAGS_2_0) \
- --compiling-fslib-mscorlib40:$(monolibdir)mscorlib.dll
+ --compiling-fslib \
+ --nowarn:75,1204 \
+ --target:library \
+ --define:FX_NO_BIGINT_CULTURE_PARSE \
+ --compiling-fslib-40 \
+ --extraoptimizationloops:1
DEFINES += \
--define:RUNTIME
@@ -67,6 +75,13 @@ sources = \
nativeptr.fs \
control.fsi \
control.fs \
+ Linq.fsi \
+ Linq.fs \
+ MutableTuple.fs \
+ QueryExtensions.fs \
+ Query.fsi \
+ Query.fs \
+ SI.fs \
fslib-extra-pervasives.fsi \
fslib-extra-pervasives.fs \
../../assemblyinfo/assemblyinfo.FSharp.Core.dll.fs
Oops, something went wrong.

0 comments on commit 107f1d9

Please sign in to comment.