[Pkg-cli-apps-commits] [fsharp] 11/71: Simply build to use xbuild. Install targets into correct place. Adjust policy DLLs for F# 3.1
Christopher Halse Rogers
raof-guest at moszumanska.debian.org
Fri Jan 17 05:18:09 UTC 2014
This is an automated email from the git hooks/post-receive script.
raof-guest pushed a commit to tag 3.1.0
in repository fsharp.
commit e581d6ca1038b12dcb3d24168cce825af47d9ba5
Author: Don Syme <donsyme at fastmail.fm>
Date: Thu Oct 3 20:53:10 2013 +0100
Simply build to use xbuild. Install targets into correct place. Adjust policy DLLs for F# 3.1
---
.gitattributes | 7 +
Makefile.in | 2 +-
README.md | 11 ++
config.make.in | 107 +-----------
configure.ac | 3 +-
src/FSharpSource.targets | 30 ++--
src/fsharp/FSharp.Build-proto/Makefile.in | 33 +---
src/fsharp/FSharp.Build/Makefile.in | 31 +---
.../FSharp.Compiler-proto.fsproj | 10 ++
src/fsharp/FSharp.Compiler-proto/Makefile.in | 183 +------------------
.../Makefile.in | 20 +--
.../FSharp.Compiler.Server.Shared/Makefile.in | 19 +-
src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj | 1 +
src/fsharp/FSharp.Compiler/Makefile.in | 194 +--------------------
src/fsharp/FSharp.Core/FSharp.Core.fsproj | 3 +-
src/fsharp/FSharp.Core/Makefile.in | 98 +----------
src/fsharp/FSharp.Data.TypeProviders/Makefile.in | 36 +---
src/fsharp/Fsc-proto/Makefile.in | 27 +--
src/fsharp/Fsc/Makefile.in | 4 +-
src/fsharp/Fsc/fsc.exe.config | 25 +--
src/fsharp/Makefile.in | 14 +-
src/fsharp/fsi/Makefile.in | 34 +---
src/fsharp/fsi/fsi.exe.config | 39 +----
src/fsharp/fsiAnyCpu/Makefile.in | 35 +---
src/fsharp/fsiAnyCpu/fsiAnyCPU.exe.config | 39 +----
src/fsharp/policy.2.0.FSharp.Core/Makefile.in | 28 +--
src/fsharp/policy.2.3.FSharp.Core/Makefile.in | 28 +--
src/fsharp/policy.3.3.FSharp.Core/Makefile.in | 37 ++++
.../policy.3.3.FSharp.Core.dll.config | 11 ++
src/fsharp/policy.4.0.FSharp.Core/Makefile.in | 25 ++-
src/fsharp/policy.4.3.FSharp.Core/Makefile.in | 25 ++-
src/fsharp/targets.make | 186 +++++---------------
32 files changed, 281 insertions(+), 1064 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index 6a35cef..ac2ad93 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -20,3 +20,10 @@
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
+
+autogen.sh text eol=lf
+launcher.in text eol=lf
+config.make.in text eol=lf
+targets.make text eol=lf
+configure.ac text eol=lf
+Makefile.in text eol=lf
\ No newline at end of file
diff --git a/Makefile.in b/Makefile.in
index be25c99..419cf77 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,6 +1,6 @@
include $(topsrcdir)config.make
-all clean install do-proto do-final do-2-1 install-2-1 clean-2-0 clean-2-1 clean-4-0:
+all clean install build-proto build-final build-2-0 build-2-1 build-4-0 install-2-1 clean-2-0 clean-2-1 clean-4-0:
$(MAKE) -C src/fsharp $@
dist:
diff --git a/README.md b/README.md
index 258bc7c..9ba1a30 100644
--- a/README.md
+++ b/README.md
@@ -221,3 +221,14 @@ F# compiler sources dropped by Microsoft are available from [fsharppowerpack.cod
Uses bootstrapping libraries, tools and F# compiler. The `lib/bootstrap/X.0` directories contain mono-built libraries, compiler and tools that can be used to bootstrap a build. You can also supply your own via the `--with-bootstrap` option.
+
+### Wheezy build
+
+vagrant up
+vagrant ssh
+cd /vagrant
+sudo apt-get install dos2unix autoconf
+dos2unix ./autogen.sh launcher.in Makefile.in config.make.in configure.ac
+./autogen.sh --prefix=/usr
+make
+sudo make install
diff --git a/config.make.in b/config.make.in
index 54498c6..f77297b 100644
--- a/config.make.in
+++ b/config.make.in
@@ -9,7 +9,7 @@ monogacdir := @MONOGACDIR@
monogacdir20 := @MONOGACDIR20@
-#This is where to find MonoTouch of MonoAndroid, for "make do-2-1"
+#This is where to find MonoTouch of MonoAndroid, for "make build-2-1"
#
#For now this is hardwired, it should be optionally detected by configure.ac
monogacdir21 := @abs_top_srcdir@/dependencies/mono/2.1
@@ -23,14 +23,16 @@ gacdir40 := ${gacdir}/4.0
tooldir := $(topdir)lib/bootstrap/4.0/
+monoopts = @mono_gc_options@
MONO_OPTIONS += @mono_gc_options@
CONFIG = release
+Configuration = Release
DISTVERSION = 201011
-VERSION_2_0 = 2.3.0.0
-VERSION_2_1 = 2.3.1.0
-VERSION_4_0 = 4.3.0.0
+VERSION_2_0 = 2.3.1.0
+VERSION_2_1 = 2.3.98.0
+VERSION_4_0 = 4.3.1.0
TARGET_2_0 = 2.0
TARGET_2_1 = 2.1
TARGET_4_0 = 4.0
@@ -42,101 +44,8 @@ tmpdir = .libs/$(CONFIG)/
objdir = $(tmpdir)$(TARGET)/
protodir = $(builddir)/lib/proto/4.0/
outdir = $(builddir)lib/$(CONFIG)/$(TARGET)/
-
-FSSRGEN = $(tooldir)../2.0/fssrgen.exe
-FSLEX = $(tooldir)../2.0/fslex.exe
-FSYACC = $(tooldir)../2.0/fsyacc.exe
-
-
-FLAGS = \
- --doc:$(objdir)$(NAME).xml \
- --version:$(VERSION) \
- --debug:pdbonly \
- --optimize+ \
- --mlcompatibility \
- --noframework \
- --fullpaths \
- --times \
- --nowarn:9
-
-DELAY_SIGN_FLAGS = \
- --define:STRONG_NAME_AND_DELAY_SIGN_FSHARP_COMPILER_WITH_MSFT_KEY \
- --delaysign+ \
- --keyfile:$(topdir)msfinal.pub
-
-SIGN_FLAGS = \
- --define:STRONG_NAME_FSHARP_COMPILER_WITH_TEST_KEY \
- --keyfile:$(topdir)/src/fsharp/test.snk
-
-DEFINES_GENERAL = \
- --define:TRACE \
- --define:CROSS_PLATFORM_COMPILER
-
-ifeq ($(CONFIG),debug)
-DEFINES_DEBUG = \
- --define:CODE_ANALYSIS \
- --define:DEBUG
-else
-DEFINES_DEBUG =
-endif
-
-DEFINES_2_0 = \
- $(DEFINES_GENERAL) \
- $(DEFINES_DEBUG) \
- --define:FX_NO_STRUCTURAL_EQUALITY \
- --define:FX_NO_IOBSERVABLE \
- --define:FX_NO_TUPLE \
- --define:FX_ATLEAST_35 \
- --define:FX_NO_LAZY \
- --define:FX_NO_CANCELLATIONTOKEN_CLASSES \
- --define:FX_NO_MONITOR_REPORTS_LOCKTAKEN \
- --define:FX_NO_TPL_PARALLEL \
- --define:FX_NO_CUSTOMATTRIBUTEDATA \
- --define:FX_NO_TASK \
- --define:FX_NO_BIGINT
-
-DEFINES_2_1 = \
- $(DEFINES_GENERAL) \
- $(DEFINES_DEBUG) \
- --define:FX_NO_STRUCTURAL_EQUALITY \
- --define:FX_NO_CUSTOMATTRIBUTEDATA \
- --define:FX_NO_BIGINT_CULTURE_PARSE \
- --define:FX_ATLEAST_40 \
- --define:FX_ATLEAST_35 \
- --define:FX_ATLEAST_LINQ \
- --define:FX_NO_BIGINT
-
-DEFINES_4_0 = \
- $(DEFINES_GENERAL) \
- $(DEFINES_DEBUG) \
- --define:FX_NO_BIGINT_CULTURE_PARSE \
- --define:FX_ATLEAST_40 \
- --define:FX_ATLEAST_35 \
- --define:FX_ATLEAST_LINQ
-
-REFERENCES_2_0 = \
- -r:$(monogacdirXX)/Microsoft.Build.Engine.dll \
- -r:$(monogacdirXX)/Microsoft.Build.Framework.dll \
- -r:$(monogacdir35)/Microsoft.Build.Tasks.v3.5.dll \
- -r:$(monogacdir35)/Microsoft.Build.Utilities.v3.5.dll \
- -r:$(monogacdirXX)/mscorlib.dll \
- -r:$(monogacdirXX)/System.Core.dll \
- -r:$(monogacdirXX)/System.dll
-
-REFERENCES_2_1 = \
- -r:$(monogacdir21)/mscorlib.dll \
- -r:$(monogacdir21)/System.Core.dll \
- -r:$(monogacdir21)/System.dll
-
-REFERENCES_4_0 = \
- -r:$(monogacdirXX)/Microsoft.Build.Engine.dll \
- -r:$(monogacdirXX)/Microsoft.Build.Framework.dll \
- -r:$(monogacdirXX)/Microsoft.Build.Tasks.v4.0.dll \
- -r:$(monogacdirXX)/Microsoft.Build.Utilities.v4.0.dll \
- -r:$(monogacdirXX)/mscorlib.dll \
- -r:$(monogacdirXX)/System.Core.dll \
- -r:$(monogacdirXX)/System.dll \
- -r:$(monogacdirXX)/System.Numerics.dll
+outdir20 = $(builddir)lib/$(CONFIG)/$(TARGET_2_0)
+outdir40 = $(builddir)lib/$(CONFIG)/$(TARGET_4_0)
INSTALL = $(SHELL) $(topdir)install-sh
INSTALL_DATA = $(INSTALL) -c -m 644
diff --git a/configure.ac b/configure.ac
index f74f7f8..e6d5da5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -102,8 +102,9 @@ src/fsharp/FSharp.Data.TypeProviders/Makefile
src/fsharp/fsi/Makefile
src/fsharp/fsiAnyCpu/Makefile
src/fsharp/policy.2.0.FSharp.Core/Makefile
-src/fsharp/policy.4.0.FSharp.Core/Makefile
src/fsharp/policy.2.3.FSharp.Core/Makefile
+src/fsharp/policy.3.3.FSharp.Core/Makefile
+src/fsharp/policy.4.0.FSharp.Core/Makefile
src/fsharp/policy.4.3.FSharp.Core/Makefile
])
AC_OUTPUT
diff --git a/src/FSharpSource.targets b/src/FSharpSource.targets
index 71d799d..53830da 100755
--- a/src/FSharpSource.targets
+++ b/src/FSharpSource.targets
@@ -22,23 +22,23 @@
<!-- Compute the assembly version numbers to use -->
<AssemblyVersion>2.9.9.999</AssemblyVersion>
<!-- This is the primary framework, used to run the compiler itself -->
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'net40'">4.3.1.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'net40'">4.3.1.0</AssemblyVersion>
<!-- These correspond to the frameworks supported by Microsoft -->
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'net20'">2.3.1.0</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'portable-net45+sl5+win8' ">2.3.5.1</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'portable-net4+sl4+wp71+win8' ">2.3.6.1</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'mono21' ">2.3.98.1</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'monotouch' ">2.3.99.1</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'portable-windows8+net45'">3.3.1.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'net20'">2.3.1.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'portable-net45+sl5+win8' ">2.3.5.1</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'portable-net4+sl4+wp71+win8' ">2.3.6.1</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'mono21' ">2.3.98.1</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'monotouch' ">2.3.99.1</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'portable-windows8+net45'">3.3.1.0</AssemblyVersion>
<!-- These are simulations of previous versions of FSharp.Core for F# 3.0, useable to support the 'build a library compatible with a back version of F#' multi-targeting option supported by some IDEs -->
<!-- The actual libraries will contain additional functionality related to F# 3.1 etc. but that doesn't matter - the version number will be right which is what counts -->
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'net20' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.0.0</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'net40' AND '$(FSharpCoreBackVersion)' == '3.0' ">4.3.0.0</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'portable-net45+sl5+win8' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.5.0</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'portable-net4+sl4+wp71+win8' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.6.0</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'mono21' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.98.0</AssemblyVersion>
- <AssemblyVersion Condition="'$(AssemblyName)' == 'FSharp.Core' AND '$(TargetFramework)' == 'monotouch' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.99.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'net20' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.0.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'net40' AND '$(FSharpCoreBackVersion)' == '3.0' ">4.3.0.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'portable-net45+sl5+win8' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.5.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'portable-net4+sl4+wp71+win8' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.6.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'mono21' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.98.0</AssemblyVersion>
+ <AssemblyVersion Condition="'$(TargetFramework)' == 'monotouch' AND '$(FSharpCoreBackVersion)' == '3.0' ">2.3.99.0</AssemblyVersion>
<!-- FSharp.Core using System.Runtime -->
<OtherFlags>$(OtherFlags) --version:$(AssemblyVersion)</OtherFlags>
<!--
@@ -94,6 +94,7 @@ Some other NuGET monikers to support in the future, see http://docs.nuget.org/do
<PropertyGroup Condition="'$(Configuration)'=='Proto'">
<Optimize>true</Optimize>
<DefineConstants>DEBUG;NO_STRONG_NAMES;$(DefineConstants)</DefineConstants>
+ <DefineConstants Condition="'$(TargetFrameworkVersion)' == 'v4.5'">$(DefineConstants);FX_ATLEAST_45</DefineConstants>
<ConfigurationOutputDirectory>proto</ConfigurationOutputDirectory>
</PropertyGroup>
@@ -121,8 +122,9 @@ Some other NuGET monikers to support in the future, see http://docs.nuget.org/do
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net40'">
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion>
<TargetFrameworkOutputDirectory>4.0</TargetFrameworkOutputDirectory>
+ <DefineConstants Condition="'$(TargetFrameworkVersion)' == 'v4.5'">$(DefineConstants);FX_ATLEAST_45</DefineConstants>
<DefineConstants>$(DefineConstants);FX_ATLEAST_40</DefineConstants>
<DefineConstants>$(DefineConstants);FX_ATLEAST_35</DefineConstants>
<DefineConstants>$(DefineConstants);BE_SECURITY_TRANSPARENT</DefineConstants>
diff --git a/src/fsharp/FSharp.Build-proto/Makefile.in b/src/fsharp/FSharp.Build-proto/Makefile.in
index 60a0463..2c89507 100644
--- a/src/fsharp/FSharp.Build-proto/Makefile.in
+++ b/src/fsharp/FSharp.Build-proto/Makefile.in
@@ -5,36 +5,11 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-CONFIG=proto
+build-proto:
+ xbuild /p:Configuration=Proto
-FSC=$(bootstrapdir)fsc.exe
-
-FLAGS += --target:library
-
-DEFINES += \
- --define:BUILDING_WITH_LKG
-
-REFERENCES += \
- -r:$(bootstrapdir)FSharp.Core.dll
-
-sources= \
- $(tmpdir)FSBuild.fs \
- ../../utils/CompilerLocationUtils.fs \
- ../FSharp.Build/CreateFSharpManifestResourceName.fsi \
- ../FSharp.Build/CreateFSharpManifestResourceName.fs \
- ../FSharp.Build/Fsc.fsi \
- ../FSharp.Build/Fsc.fs
-
-RESOURCES = \
- $(tmpdir)FSBuild.resources
-
-$(tmpdir)FSBuild.fs $(tmpdir)FSBuild.resources: ../FSharp.Build/FSBuild.txt
- mono $(MONO_OPTIONS) $(FSSRGEN) $< $(tmpdir)FSBuild.fs $(tmpdir)FSBuild.resx
- resgen $(tmpdir)FSBuild.resx $(tmpdir)FSBuild.resources
-
-do-proto: do-4-0
-
-clean: clean-4-0
+clean:
+ xbuild /p:Configuration=Proto /t:Clean
include $(topdir)/src/fsharp/targets.make
diff --git a/src/fsharp/FSharp.Build/Makefile.in b/src/fsharp/FSharp.Build/Makefile.in
index 8aea6db..54ae5a0 100644
--- a/src/fsharp/FSharp.Build/Makefile.in
+++ b/src/fsharp/FSharp.Build/Makefile.in
@@ -6,36 +6,11 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS += \
- $(SIGN_FLAGS) \
- --target:library
-
-REFERENCES += \
- -r:$(outdir)FSharp.Core.dll
-
-sources= \
- $(tmpdir)FSBuild.fs \
- ../../assemblyinfo/assemblyinfo.FSharp.Build.dll.fs \
- ../../utils/CompilerLocationUtils.fs \
- Fsc.fsi \
- Fsc.fs \
- CreateFSharpManifestResourceName.fsi \
- CreateFSharpManifestResourceName.fs
-
-RESOURCES = \
- $(tmpdir)FSBuild.resources
-
-$(tmpdir)FSBuild.fs $(tmpdir)FSBuild.resources: FSBuild.txt
- mono $(MONO_OPTIONS) $(FSSRGEN) $< $(tmpdir)FSBuild.fs $(tmpdir)FSBuild.resx
- resgen $(tmpdir)FSBuild.resx $(tmpdir)FSBuild.resources
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-2-0 do-4-0
+build-final: build-4-0
-clean: clean-2-0 clean-4-0
+clean: clean-4-0
-install: install-lib-2 install-lib-4 install-lib-4-5
+install: install-lib-4-0 install-lib-4-5
diff --git a/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj b/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj
index 40e5e01..9fe60a4 100644
--- a/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj
+++ b/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj
@@ -1,4 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--
+# Copyright (c) 2002-2011 Microsoft Corporation.
+#
+#
+#
+#
+#
+#
+# You must not remove this notice, or any other, from this software.
+-->
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..</FSharpSourcesRoot>
diff --git a/src/fsharp/FSharp.Compiler-proto/Makefile.in b/src/fsharp/FSharp.Compiler-proto/Makefile.in
index ee92d99..c58cf0f 100644
--- a/src/fsharp/FSharp.Compiler-proto/Makefile.in
+++ b/src/fsharp/FSharp.Compiler-proto/Makefile.in
@@ -5,185 +5,10 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-CONFIG=proto
+build-proto:
+ xbuild /p:Configuration=Proto
-FSC=$(bootstrapdir)fsc.exe
-
-FLAGS += --target:library
-
-DEFINES += \
- --define:BUILDING_WITH_LKG \
- --define:BUILDING_PROTO \
- --define:COMPILER \
- --define:NO_STRONG_NAMES \
- --define:INCLUDE_METADATA_READER \
- --define:INCLUDE_METADATA_WRITER
-
-REFERENCES += \
- -r:$(bootstrapdir)FSharp.Core.dll \
- -r:$(monogacdirXX)/System.Windows.Forms.dll
-
-
-sources = \
- $(tmpdir)FSComp.fs \
- ../../assemblyinfo/assemblyinfo.FSharp.Compiler.dll.fs \
- ../../utils/sformat.fsi \
- ../../utils/sformat.fs \
- ../sr.fsi \
- ../sr.fs \
- ../../utils/prim-lexing.fsi \
- ../../utils/prim-lexing.fs \
- ../../utils/prim-parsing.fsi \
- ../../utils/prim-parsing.fs \
- ../../utils/resizearray.fsi \
- ../../utils/resizearray.fs \
- ../../utils/HashMultiMap.fsi \
- ../../utils/HashMultiMap.fs \
- ../../utils/TaggedCollections.fsi \
- ../../utils/TaggedCollections.fs \
- ../FlatList.fs \
- ../../absil/illib.fs \
- ../../utils/filename.fsi \
- ../../utils/filename.fs \
- ../../absil/zmap.fsi \
- ../../absil/zmap.fs \
- ../../absil/zset.fsi \
- ../../absil/zset.fs \
- ../../absil/bytes.fsi \
- ../../absil/bytes.fs \
- ../../absil/ildiag.fsi \
- ../../absil/ildiag.fs \
- ../ReferenceResolution.fs \
- ../../absil/il.fsi \
- ../../absil/il.fs \
- ../../absil/ilx.fsi \
- ../../absil/ilx.fs \
- ../../absil/ilascii.fsi \
- ../../absil/ilascii.fs \
- ../../absil/ilprint.fsi \
- ../../absil/ilprint.fs \
- ../../absil/ilmorph.fsi \
- ../../absil/ilmorph.fs \
- ../../absil/ilsupp.fsi \
- ../../absil/ilsupp.fs \
- $(tmpdir)ilpars.fs \
- $(tmpdir)illex.fs \
- ../../absil/ilbinary.fsi \
- ../../absil/ilbinary.fs \
- ../lib.fs \
- ../range.fsi \
- ../range.fs \
- ../ErrorLogger.fs \
- ../InternalCollections.fsi \
- ../InternalCollections.fs \
- ../../absil/ilread.fsi \
- ../../absil/ilread.fs \
- ../../absil/ilwrite.fsi \
- ../../absil/ilwrite.fs \
- ../../absil/ilreflect.fs \
- ../../utils/CompilerLocationUtils.fs \
- ../PrettyNaming.fs \
- ../../ilx/ilxsettings.fs \
- ../../ilx/pubclo.fsi \
- ../../ilx/pubclo.fs \
- ../../ilx/cu_erase.fsi \
- ../../ilx/cu_erase.fs \
- ../InternalFileSystemUtils.fsi \
- ../InternalFileSystemUtils.fs \
- ../unilex.fsi \
- ../unilex.fs \
- ../layout.fsi \
- ../layout.fs \
- ../ast.fs \
- $(tmpdir)pars.fs \
- ../lexhelp.fsi \
- ../lexhelp.fs \
- $(tmpdir)lex.fs \
- ../sreflect.fsi \
- ../sreflect.fs \
- ../QueueList.fs \
- ../tast.fs \
- ../env.fs \
- ../tastops.fsi \
- ../tastops.fs \
- ../pickle.fsi \
- ../pickle.fs \
- ../lexfilter.fs \
- ../import.fsi \
- ../import.fs \
- ../infos.fs \
- ../NicePrint.fs \
- ../augment.fsi \
- ../augment.fs \
- ../typrelns.fs \
- ../patcompile.fsi \
- ../patcompile.fs \
- ../outcome.fsi \
- ../outcome.fs \
- ../csolve.fsi \
- ../csolve.fs \
- ../formats.fsi \
- ../formats.fs \
- ../nameres.fsi \
- ../nameres.fs \
- ../unsolved.fs \
- ../creflect.fsi \
- ../creflect.fs \
- ../check.fsi \
- ../check.fs \
- ../tc.fsi \
- ../tc.fs \
- ../opt.fsi \
- ../opt.fs \
- ../detuple.fsi \
- ../detuple.fs \
- ../tlr.fsi \
- ../tlr.fs \
- ../lowertop.fs \
- ../ilxgen.fsi \
- ../ilxgen.fs \
- ../TraceCall.fs \
- ../build.fsi \
- ../build.fs \
- ../fscopts.fsi \
- ../fscopts.fs \
- ../vs/IncrementalBuild.fsi \
- ../vs/IncrementalBuild.fs \
- ../fsc.fs
-
-RESOURCES= \
- $(tmpdir)FSStrings.resources \
- $(tmpdir)FSComp.resources
-
-$(tmpdir)FSComp.fs $(tmpdir)FSComp.resources: ../FSComp.txt
- mono $(MONO_OPTIONS) $(FSSRGEN) $< $(tmpdir)FSComp.fs $(tmpdir)FSComp.resx
- resgen $(tmpdir)FSComp.resx $(tmpdir)FSComp.resources
-
-$(tmpdir)FSStrings.resources: ../FSStrings.resx
- resgen $< $@
-
-$(tmpdir)lex.fs: ../lex.fsl
- mono $(MONO_OPTIONS) $(FSLEX) $< -o $@ --lexlib Internal.Utilities.Text.Lexing --unicode
- @-mkdir -p ../FSharp.Compiler/.libs/
- cp -p $(tmpdir)lex.fs* ../FSharp.Compiler/.libs/
-
-$(tmpdir)illex.fs: ../../absil/illex.fsl
- mono $(MONO_OPTIONS) $(FSLEX) $< -o $@ --lexlib Internal.Utilities.Text.Lexing --unicode
- @-mkdir -p ../FSharp.Compiler/.libs/
- cp -p $(tmpdir)illex.fs* ../FSharp.Compiler/.libs/
-
-$(tmpdir)pars.fs: ../pars.fsy
- mono $(MONO_OPTIONS) $(FSYACC) $< -o $@ --internal --open Microsoft.FSharp.Compiler --module Microsoft.FSharp.Compiler.Parser --lexlib Internal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing | tee $@.report | grep "time"
- @-mkdir -p ../FSharp.Compiler/.libs/
- cp -p $(tmpdir)pars.fs* ../FSharp.Compiler/.libs/
-
-$(tmpdir)ilpars.fs: ../../absil/ilpars.fsy
- mono $(MONO_OPTIONS) $(FSYACC) $< -o $@ --internal --module Microsoft.FSharp.Compiler.AbstractIL.Internal.AsciiParser --lexlib Internal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing | tee $@.report | grep "time"
- @-mkdir -p ../FSharp.Compiler/.libs/
- cp -p $(tmpdir)ilpars.fs* ../FSharp.Compiler/.libs/
-
-do-proto: do-4-0
-
-clean: clean-4-0
+clean:
+ xbuild /p:Configuration=Proto /t:Clean
include $(topdir)/src/fsharp/targets.make
diff --git a/src/fsharp/FSharp.Compiler.Interactive.Settings/Makefile.in b/src/fsharp/FSharp.Compiler.Interactive.Settings/Makefile.in
index fed3f5d..3ecefba 100644
--- a/src/fsharp/FSharp.Compiler.Interactive.Settings/Makefile.in
+++ b/src/fsharp/FSharp.Compiler.Interactive.Settings/Makefile.in
@@ -6,29 +6,13 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS += \
- $(SIGN_FLAGS) \
- --target:library
-
-REFERENCES += \
- -r:$(outdir)FSharp.Core.dll \
- -r:Mono.Security.dll
-
-sources = \
- ../../assemblyinfo/assemblyinfo.FSharp.Compiler.Interactive.Settings.dll.fs \
- ../fsiaux.fsi \
- ../fsiaux.fs \
- ../fsiattrs.fs
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0
+build-final: build-4-0
clean: clean-4-0
-install: install-lib-4 install-lib-4-5
+install: install-lib-4-0 install-lib-4-5
diff --git a/src/fsharp/FSharp.Compiler.Server.Shared/Makefile.in b/src/fsharp/FSharp.Compiler.Server.Shared/Makefile.in
index 2678437..c558054 100644
--- a/src/fsharp/FSharp.Compiler.Server.Shared/Makefile.in
+++ b/src/fsharp/FSharp.Compiler.Server.Shared/Makefile.in
@@ -6,28 +6,13 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS += \
- $(SIGN_FLAGS) \
- --target:library
-
-REFERENCES += \
- -r:$(outdir)FSharp.Core.dll \
- -r:System.Runtime.Remoting.dll \
- -r:Mono.Security.dll
-
-sources = \
- ../../assemblyinfo/assemblyinfo.FSharp.Compiler.Server.Shared.dll.fs \
- ../fsiserver/fsiserver.fs
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0
+build-final: build-4-0
clean: clean-4-0
-install: install-lib-4 install-lib-4-5
+install: install-lib-4-0 install-lib-4-5
diff --git a/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj b/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj
index afa77b9..f2668c1 100644
--- a/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj
+++ b/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj
@@ -17,6 +17,7 @@
<ProjectGuid>{2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}</ProjectGuid>
<AllowCrossTargeting>true</AllowCrossTargeting>
<TargetFrameworkVersion Condition="'$(TargetFramework)'=='net20'">v2.0</TargetFrameworkVersion>
+ <TargetFrameworkVersion Condition="'$(TargetFramework)'=='net40'">v4.5</TargetFrameworkVersion>
<BaseAddress>0x06800000</BaseAddress>
<OtherFlags>$(OtherFlags) /warnon:1182</OtherFlags>
</PropertyGroup>
diff --git a/src/fsharp/FSharp.Compiler/Makefile.in b/src/fsharp/FSharp.Compiler/Makefile.in
index 67b850f..afcb5ae 100644
--- a/src/fsharp/FSharp.Compiler/Makefile.in
+++ b/src/fsharp/FSharp.Compiler/Makefile.in
@@ -6,203 +6,13 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS += \
- $(SIGN_FLAGS) \
- --target:library
-
-DEFINES += \
- --define:COMPILER \
- --define:INCLUDE_METADATA_READER \
- --define:INCLUDE_METADATA_WRITER
-
-DEFINES_4_0 += \
- --define:EXTENSIONTYPING
-
-REFERENCES += \
- -r:$(outdir)FSharp.Core.dll \
- -r:$(monogacdirXX)/System.Drawing.dll \
- -r:$(monogacdirXX)/System.Windows.Forms.dll
-
-
-sources = \
- $(tmpdir)FSComp.fs \
- ../../assemblyinfo/assemblyinfo.FSharp.Compiler.dll.fs \
- ../../utils/sformat.fsi \
- ../../utils/sformat.fs \
- ../sr.fsi \
- ../sr.fs \
- ../../utils/prim-lexing.fsi \
- ../../utils/prim-lexing.fs \
- ../../utils/prim-parsing.fsi \
- ../../utils/prim-parsing.fs \
- ../../utils/resizearray.fsi \
- ../../utils/resizearray.fs \
- ../../utils/HashMultiMap.fsi \
- ../../utils/HashMultiMap.fs \
- ../../utils/TaggedCollections.fsi \
- ../../utils/TaggedCollections.fs \
- ../FlatList.fs \
- ../../absil/illib.fs \
- ../../utils/filename.fsi \
- ../../utils/filename.fs \
- ../../absil/zmap.fsi \
- ../../absil/zmap.fs \
- ../../absil/zset.fsi \
- ../../absil/zset.fs \
- ../../absil/bytes.fsi \
- ../../absil/bytes.fs \
- ../../absil/ildiag.fsi \
- ../../absil/ildiag.fs \
- ../ReferenceResolution.fs \
- ../../absil/il.fsi \
- ../../absil/il.fs \
- ../../absil/ilx.fsi \
- ../../absil/ilx.fs \
- ../../absil/ilascii.fsi \
- ../../absil/ilascii.fs \
- ../../absil/ilprint.fsi \
- ../../absil/ilprint.fs \
- ../../absil/ilmorph.fsi \
- ../../absil/ilmorph.fs \
- ../../absil/ilsupp.fsi \
- ../../absil/ilsupp.fs \
- $(tmpdir)ilpars.fs \
- $(tmpdir)illex.fs \
- ../../absil/ilbinary.fsi \
- ../../absil/ilbinary.fs \
- ../lib.fs \
- ../range.fsi \
- ../range.fs \
- ../ErrorLogger.fs \
- ../tainted.fsi \
- ../tainted.fs \
- ../InternalCollections.fsi \
- ../InternalCollections.fs \
- ../../absil/ilread.fsi \
- ../../absil/ilread.fs \
- ../../absil/ilwrite.fsi \
- ../../absil/ilwrite.fs \
- ../../absil/ilreflect.fs \
- ../../utils/CompilerLocationUtils.fs \
- ../PrettyNaming.fs \
- ../../ilx/ilxsettings.fs \
- ../../ilx/pubclo.fsi \
- ../../ilx/pubclo.fs \
- ../../ilx/cu_erase.fsi \
- ../../ilx/cu_erase.fs \
- ../InternalFileSystemUtils.fsi \
- ../InternalFileSystemUtils.fs \
- ../unilex.fsi \
- ../unilex.fs \
- ../layout.fsi \
- ../layout.fs \
- ../ast.fs \
- ../est.fsi \
- ../est.fs \
- $(tmpdir)pars.fs \
- ../lexhelp.fsi \
- ../lexhelp.fs \
- $(tmpdir)lex.fs \
- ../sreflect.fsi \
- ../sreflect.fs \
- ../QueueList.fs \
- ../tast.fs \
- ../env.fs \
- ../tastops.fsi \
- ../tastops.fs \
- ../pickle.fsi \
- ../pickle.fs \
- ../lexfilter.fs \
- ../import.fsi \
- ../import.fs \
- ../infos.fs \
- ../NicePrint.fs \
- ../augment.fsi \
- ../augment.fs \
- ../typrelns.fs \
- ../patcompile.fsi \
- ../patcompile.fs \
- ../outcome.fsi \
- ../outcome.fs \
- ../csolve.fsi \
- ../csolve.fs \
- ../formats.fsi \
- ../formats.fs \
- ../nameres.fsi \
- ../nameres.fs \
- ../unsolved.fs \
- ../creflect.fsi \
- ../creflect.fs \
- ../check.fsi \
- ../check.fs \
- ../tc.fsi \
- ../tc.fs \
- ../opt.fsi \
- ../opt.fs \
- ../detuple.fsi \
- ../detuple.fs \
- ../tlr.fsi \
- ../tlr.fs \
- ../lowertop.fs \
- ../ilxgen.fsi \
- ../ilxgen.fs \
- ../TraceCall.fs \
- ../build.fsi \
- ../build.fs \
- ../fscopts.fsi \
- ../fscopts.fs \
- ../vs/IncrementalBuild.fsi \
- ../vs/IncrementalBuild.fs \
- ../vs/Reactor.fsi \
- ../vs/Reactor.fs \
- ../vs/ServiceLexing.fsi \
- ../vs/ServiceLexing.fs \
- ../vs/ServiceConstants.fs \
- ../vs/ServiceParseTreeWalk.fs \
- ../vs/ServiceNavigation.fsi \
- ../vs/ServiceNavigation.fs \
- ../vs/ServiceParamInfoLocations.fsi \
- ../vs/ServiceParamInfoLocations.fs \
- ../vs/ServiceUntypedParse.fsi \
- ../vs/ServiceUntypedParse.fs \
- ../vs/ServiceDeclarations.fsi \
- ../vs/ServiceDeclarations.fs \
- ../vs/service.fsi \
- ../vs/service.fs \
- ../fsc.fs
-
-RESOURCES= \
- $(tmpdir)FSStrings.resources \
- $(tmpdir)FSComp.resources
-
-$(tmpdir)FSComp.fs $(tmpdir)FSComp.resources: ../FSComp.txt
- mono $(MONO_OPTIONS) $(FSSRGEN) $< $(tmpdir)FSComp.fs $(tmpdir)FSComp.resx
- resgen $(tmpdir)FSComp.resx $(tmpdir)FSComp.resources
-
-$(tmpdir)FSStrings.resources: ../FSStrings.resx
- resgen $< $@
-
-$(tmpdir)lex.fs: ../lex.fsl
- mono $(MONO_OPTIONS) $(FSLEX) $< -o $@ --lexlib Internal.Utilities.Text.Lexing --unicode
-
-$(tmpdir)illex.fs: ../../absil/illex.fsl
- mono $(MONO_OPTIONS) $(FSLEX) $< -o $@ --lexlib Internal.Utilities.Text.Lexing --unicode
-
-$(tmpdir)pars.fs: ../pars.fsy
- mono $(MONO_OPTIONS) $(FSYACC) $< -o $@ --internal --open Microsoft.FSharp.Compiler --module Microsoft.FSharp.Compiler.Parser --lexlib Internal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing | tee $@.report | grep "time"
-
-$(tmpdir)ilpars.fs: ../../absil/ilpars.fsy
- mono $(MONO_OPTIONS) $(FSYACC) $< -o $@ --internal --module Microsoft.FSharp.Compiler.AbstractIL.Internal.AsciiParser --lexlib Internal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing | tee $@.report | grep "time"
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0
+build-final: build-4-0
clean: clean-4-0
-install: install-lib-4 install-lib-4-5
+install: install-lib-4-0 install-lib-4-5
diff --git a/src/fsharp/FSharp.Core/FSharp.Core.fsproj b/src/fsharp/FSharp.Core/FSharp.Core.fsproj
index 2e187b1..a43a96f 100644
--- a/src/fsharp/FSharp.Core/FSharp.Core.fsproj
+++ b/src/fsharp/FSharp.Core/FSharp.Core.fsproj
@@ -22,7 +22,8 @@
<AllowCrossTargeting>true</AllowCrossTargeting>
<TargetFrameworkVersion Condition=" '$(TargetFramework)'=='net20'">v2.0</TargetFrameworkVersion>
<OtherFlags>$(OtherFlags) --warnon:1182 --compiling-fslib --optimize --maxerrors:20 --extraoptimizationloops:1 </OtherFlags>
- <OtherFlags Condition=" '$(TargetFramework)'=='net20'">$(OtherFlags) --compiling-fslib-20:"$(SystemRoot)\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" </OtherFlags>
+ <OtherFlags Condition=" '$(TargetFramework)'=='net20' AND EXISTS('$(SystemRoot)\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll')">$(OtherFlags) --compiling-fslib-20:"$(SystemRoot)\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" </OtherFlags>
+ <OtherFlags Condition=" '$(TargetFramework)'=='net20' AND EXISTS('$(MonoLibDir40)/mscorlib.dll')">$(OtherFlags) --compiling-fslib-20:"$(MonoLibDir40)/mscorlib.dll" </OtherFlags>
<OtherFlags Condition=" '$(TargetFramework)'=='net40'">$(OtherFlags) --compiling-fslib-40</OtherFlags>
</PropertyGroup>
<!-- MonoDevelop likes these here to recognise the configurations -->
diff --git a/src/fsharp/FSharp.Core/Makefile.in b/src/fsharp/FSharp.Core/Makefile.in
index b051736..86866af 100644
--- a/src/fsharp/FSharp.Core/Makefile.in
+++ b/src/fsharp/FSharp.Core/Makefile.in
@@ -7,106 +7,12 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS_2_0 += \
- $(DELAY_SIGN_FLAGS) \
- --compiling-fslib \
- --nowarn:75,1204 \
- --target:library \
- --compiling-fslib-20:$(monogacdir40)/mscorlib.dll \
- --extraoptimizationloops:1
-
-FLAGS_2_1 += \
- $(DELAY_SIGN_FLAGS) \
- --compiling-fslib \
- --nowarn:75,1204 \
- --target:library \
- --extraoptimizationloops:1
-
-FLAGS_4_0 += \
- $(DELAY_SIGN_FLAGS) \
- --compiling-fslib \
- --nowarn:75,1204 \
- --target:library \
- --compiling-fslib-40 \
- --define:BE_SECURITY_TRANSPARENT \
- --define:QUERIES_IN_FSLIB \
- --define:PUT_TYPE_PROVIDERS_IN_FSCORE \
- --extraoptimizationloops:1
-
-DEFINES += \
- --define:RUNTIME
-
-sources = \
- prim-types-prelude.fsi \
- prim-types-prelude.fs \
- SR.fs \
- prim-types.fsi \
- prim-types.fs \
- local.fsi \
- local.fs \
- array2.fsi \
- array2.fs \
- option.fsi \
- option.fs \
- collections.fsi \
- collections.fs \
- seq.fsi \
- seq.fs \
- string.fsi \
- string.fs \
- list.fsi \
- list.fs \
- array.fsi \
- array.fs \
- array3.fsi \
- array3.fs \
- map.fsi \
- map.fs \
- set.fsi \
- set.fs \
- reflect.fsi \
- reflect.fs \
- event.fsi \
- event.fs \
- math/n.fsi \
- math/n.fs \
- math/z.fsi \
- math/z.fs \
- ../../utils/sformat.fsi \
- ../../utils/sformat.fs \
- printf.fsi \
- printf.fs \
- quotations.fsi \
- quotations.fs \
- nativeptr.fsi \
- 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
-
-RESOURCES = \
- $(tmpdir)FSCore.resources
-
-$(tmpdir)FSCore.resources: FSCore.resx
- resgen $< $@
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0 do-2-0 do-2-1
+build-final: build-4-0 build-2-0 build-2-1
clean: clean-4-0 clean-2-0 clean-2-1
-install: install-lib-4 install-lib-4-5 install-lib-2 install-lib-2-1
+install: install-lib-4-0 install-lib-4-5 install-lib-2 install-lib-2-1
diff --git a/src/fsharp/FSharp.Data.TypeProviders/Makefile.in b/src/fsharp/FSharp.Data.TypeProviders/Makefile.in
index 9167054..ec115cf 100644
--- a/src/fsharp/FSharp.Data.TypeProviders/Makefile.in
+++ b/src/fsharp/FSharp.Data.TypeProviders/Makefile.in
@@ -6,45 +6,13 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS += \
- $(SIGN_FLAGS) \
- --target:library \
- --define:TPEMIT_INTERNAL_AND_MINIMAL_FOR_TYPE_CONTAINERS
-
-REFERENCES += \
- -r:$(outdir)FSharp.Core.dll \
- -r:System.Xml.dll \
- -r:System.Configuration.dll \
- -r:System.ServiceModel.dll \
- -r:System.Xml.Linq.dll \
- -r:System.Core.dll \
- -r:System.Data.dll
-
-sources = \
- $(tmpdir)FSData.fs \
- ../../assemblyinfo/assemblyinfo.FSharp.Data.TypeProviders.dll.fs \
- Util.fsi Util.fs \
- TypeProviderEmit.fsi TypeProviderEmit.fs \
- TypeProvidersImpl.fs \
- TypeProviders.fs
-
-RESOURCES= \
- $(tmpdir)FSData.resources
-
-$(tmpdir)FSData.fs $(tmpdir)FSData.resources: FSData.txt
- mono $(MONO_OPTIONS) $(FSSRGEN) $< $(tmpdir)FSData.fs $(tmpdir)FSData.resx
- resgen $(tmpdir)FSData.resx $(tmpdir)FSData.resources
-
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0
+build-final: build-4-0
clean: clean-4-0
-install: install-lib-4 install-lib-4-5
+install: install-lib-4-0 install-lib-4-5
diff --git a/src/fsharp/Fsc-proto/Makefile.in b/src/fsharp/Fsc-proto/Makefile.in
index 81deb1a..15f66c9 100644
--- a/src/fsharp/Fsc-proto/Makefile.in
+++ b/src/fsharp/Fsc-proto/Makefile.in
@@ -5,30 +5,11 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-CONFIG=proto
+build-proto: $(protodir)FSharp.Core.dll
+ xbuild /p:Configuration=Proto
-FSC=$(bootstrapdir)fsc.exe
-
-FLAGS += --target:exe
-
-DEFINES += \
- --define:BUILDING_PROTO \
- --define:BUILDING_WITH_LKG \
- --define:COMPILER \
- --define:NO_STRONG_NAMES
-
-REFERENCES += \
- -r:$(bootstrapdir)FSharp.Core.dll \
- -r:$(outdir)FSharp.Compiler-proto.dll \
- -r:$(monogacdirXX)/System.Runtime.Remoting.dll \
- -r:$(monogacdirXX)/System.Windows.Forms.dll
-
-sources = \
- ../fscmain.fs
-
-do-proto: do-4-0 $(protodir)FSharp.Core.dll
-
-clean: clean-4-0
+clean:
+ xbuild /p:Configuration=Proto /t:Clean
include $(topdir)/src/fsharp/targets.make
diff --git a/src/fsharp/Fsc/Makefile.in b/src/fsharp/Fsc/Makefile.in
index 8497cf0..c436ffb 100644
--- a/src/fsharp/Fsc/Makefile.in
+++ b/src/fsharp/Fsc/Makefile.in
@@ -24,11 +24,11 @@ sources = \
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0
+build-final: build-4-0
clean: clean-4-0
-install: install-bin-4 install-lib-4-5
+install: install-bin
diff --git a/src/fsharp/Fsc/fsc.exe.config b/src/fsharp/Fsc/fsc.exe.config
index 694b0ff..cf4b939 100644
--- a/src/fsharp/Fsc/fsc.exe.config
+++ b/src/fsharp/Fsc/fsc.exe.config
@@ -4,22 +4,15 @@
<legacyUnhandledExceptionPolicy enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
- <assemblyIdentity
- name="FSharp.Core"
- publicKeyToken="b03f5f7f11d50a3a"
- culture="neutral"/>
- <bindingRedirect
- oldVersion="2.0.0.0"
- newVersion="4.3.0.0"/>
- <bindingRedirect
- oldVersion="2.3.0.0"
- newVersion="4.3.0.0"/>
- <bindingRedirect
- oldVersion="2.3.5.0"
- newVersion="4.3.0.0"/>
- <bindingRedirect
- oldVersion="4.0.0.0"
- newVersion="4.3.0.0"/>
+ <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+ <bindingRedirect oldVersion="2.0.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.1.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.5.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.5.1" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="3.3.1.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="4.0.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="4.3.0.0" newVersion="4.3.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
diff --git a/src/fsharp/Makefile.in b/src/fsharp/Makefile.in
index 6ddf24d..83793ff 100644
--- a/src/fsharp/Makefile.in
+++ b/src/fsharp/Makefile.in
@@ -1,18 +1,18 @@
# Make the proto using the bootstrap, then make the final compiler using the proto
-# We call MAKE sequentially because we don't want do-final to explicitly depend on do-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:
- $(MAKE) do-proto
- $(MAKE) do-final
+ $(MAKE) build-proto
+ $(MAKE) build-final
-do-proto:
+build-proto:
$(MAKE) -C FSharp.Build-proto $@
$(MAKE) -C FSharp.Compiler-proto $@
$(MAKE) -C Fsc-proto $@
-do-final install:
+build-2-0 build-4-0 build-final install:
$(MAKE) -C FSharp.Core $@
$(MAKE) -C FSharp.Build $@
$(MAKE) -C FSharp.Compiler $@
@@ -47,10 +47,10 @@ clean clean-2-0 clean-4-0:
$(MAKE) -C policy.3.3.FSharp.Core $@
$(MAKE) -C policy.4.3.FSharp.Core $@
-clean-2-1 do-2-1:
+clean-2-1 build-2-1:
$(MAKE) -C FSharp.Core $@
-install-2-1: do-2-1
+install-2-1: build-2-1
$(MAKE) -C FSharp.Core $@
diff --git a/src/fsharp/fsi/Makefile.in b/src/fsharp/fsi/Makefile.in
index 99d9b7b..e0a6b42 100644
--- a/src/fsharp/fsi/Makefile.in
+++ b/src/fsharp/fsi/Makefile.in
@@ -6,43 +6,13 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS += \
- $(SIGN_FLAGS) \
- --target:exe
-
-REFERENCES += \
- -r:$(outdir)FSharp.Core.dll \
- -r:$(outdir)FSharp.Compiler.dll \
- -r:$(outdir)FSharp.Compiler.Interactive.Settings.dll \
- -r:$(outdir)FSharp.Compiler.Server.Shared.dll \
- -r:$(monogacdirXX)/System.Windows.Forms.dll \
- -r:$(monogacdirXX)/System.Drawing.dll
-
-sources = \
- $(tmpdir)FSIstrings.fs \
- ../../assemblyinfo/assemblyinfo.fsi.exe.fs \
- ../InternalCollections.fsi \
- ../InternalCollections.fs \
- console.fs \
- fsi.fs \
- fsimain.fs
-
-RESOURCES = \
- $(tmpdir)FSIstrings.resources
-
-$(tmpdir)FSIstrings.fs $(tmpdir)FSIstrings.resources: FSIstrings.txt
- mono $(MONO_OPTIONS) $(FSSRGEN) $< $(tmpdir)FSIstrings.fs $(tmpdir)FSIstrings.resx
- resgen $(tmpdir)FSIstrings.resx $(tmpdir)FSIstrings.resources
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0
+build-final: build-4-0
clean: clean-4-0
-install: install-bin-4 install-lib-4-5
+install: install-bin
diff --git a/src/fsharp/fsi/fsi.exe.config b/src/fsharp/fsi/fsi.exe.config
index e48f68f..cf4b939 100755
--- a/src/fsharp/fsi/fsi.exe.config
+++ b/src/fsharp/fsi/fsi.exe.config
@@ -4,36 +4,15 @@
<legacyUnhandledExceptionPolicy enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
- <assemblyIdentity
- name="FSharp.Core"
- publicKeyToken="b03f5f7f11d50a3a"
- culture="neutral"/>
- <bindingRedirect
- oldVersion="2.0.0.0"
- newVersion="4.3.1.0"/>
- <bindingRedirect
- oldVersion="2.3.0.0"
- newVersion="4.3.0.0"/>
- <bindingRedirect
- oldVersion="2.3.5.0"
- newVersion="4.3.0.0"/>
- <bindingRedirect
- oldVersion="4.0.0.0"
- newVersion="4.3.1.0"/>
- <bindingRedirect
- oldVersion="4.3.0.0"
- newVersion="4.3.1.0"/>
- <!-- Old style portable -->
- <bindingRedirect
- oldVersion="2.3.5.0"
- newVersion="4.3.1.0"/>
- <bindingRedirect
- oldVersion="2.3.5.1"
- newVersion="4.3.1.0"/>
- <!-- .NETCore portable -->
- <bindingRedirect
- oldVersion="3.3.1.0"
- newVersion="4.3.1.0"/>
+ <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+ <bindingRedirect oldVersion="2.0.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.1.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.5.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.5.1" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="3.3.1.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="4.0.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="4.3.0.0" newVersion="4.3.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
diff --git a/src/fsharp/fsiAnyCpu/Makefile.in b/src/fsharp/fsiAnyCpu/Makefile.in
index 943cb8b..596ace5 100644
--- a/src/fsharp/fsiAnyCpu/Makefile.in
+++ b/src/fsharp/fsiAnyCpu/Makefile.in
@@ -6,44 +6,13 @@ srcdir := @abs_srcdir@/
include @abs_top_builddir@/config.make
-FSC=$(protodir)fsc-proto.exe
-
-FLAGS += \
- $(SIGN_FLAGS) \
- --platform:anycpu \
- --target:exe
-
-REFERENCES += \
- -r:$(outdir)FSharp.Core.dll \
- -r:$(outdir)FSharp.Compiler.dll \
- -r:$(outdir)FSharp.Compiler.Interactive.Settings.dll \
- -r:$(outdir)FSharp.Compiler.Server.Shared.dll \
- -r:$(monogacdirXX)/System.Windows.Forms.dll \
- -r:$(monogacdirXX)/System.Drawing.dll
-
-sources = \
- $(tmpdir)FSIstrings.fs \
- ../../assemblyinfo/assemblyinfo.fsi.exe.fs \
- ../InternalCollections.fsi \
- ../InternalCollections.fs \
- ../fsi/console.fs \
- ../fsi/fsi.fs \
- ../fsi/fsimain.fs
-
-RESOURCES = \
- $(tmpdir)FSIstrings.resources
-
-$(tmpdir)FSIstrings.fs $(tmpdir)FSIstrings.resources: ../fsi/FSIstrings.txt
- mono $(MONO_OPTIONS) $(FSSRGEN) $< $(tmpdir)FSIstrings.fs $(tmpdir)FSIstrings.resx
- resgen $(tmpdir)FSIstrings.resx $(tmpdir)FSIstrings.resources
-
include $(topdir)/src/fsharp/targets.make
-do-final: do-4-0
+build-final: build-4-0
clean: clean-4-0
-install: install-bin-4 install-lib-4-5
+install: install-bin
diff --git a/src/fsharp/fsiAnyCpu/fsiAnyCPU.exe.config b/src/fsharp/fsiAnyCpu/fsiAnyCPU.exe.config
index e48f68f..cf4b939 100755
--- a/src/fsharp/fsiAnyCpu/fsiAnyCPU.exe.config
+++ b/src/fsharp/fsiAnyCpu/fsiAnyCPU.exe.config
@@ -4,36 +4,15 @@
<legacyUnhandledExceptionPolicy enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
- <assemblyIdentity
- name="FSharp.Core"
- publicKeyToken="b03f5f7f11d50a3a"
- culture="neutral"/>
- <bindingRedirect
- oldVersion="2.0.0.0"
- newVersion="4.3.1.0"/>
- <bindingRedirect
- oldVersion="2.3.0.0"
- newVersion="4.3.0.0"/>
- <bindingRedirect
- oldVersion="2.3.5.0"
- newVersion="4.3.0.0"/>
- <bindingRedirect
- oldVersion="4.0.0.0"
- newVersion="4.3.1.0"/>
- <bindingRedirect
- oldVersion="4.3.0.0"
- newVersion="4.3.1.0"/>
- <!-- Old style portable -->
- <bindingRedirect
- oldVersion="2.3.5.0"
- newVersion="4.3.1.0"/>
- <bindingRedirect
- oldVersion="2.3.5.1"
- newVersion="4.3.1.0"/>
- <!-- .NETCore portable -->
- <bindingRedirect
- oldVersion="3.3.1.0"
- newVersion="4.3.1.0"/>
+ <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+ <bindingRedirect oldVersion="2.0.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.1.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.5.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="2.3.5.1" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="3.3.1.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="4.0.0.0" newVersion="4.3.1.0"/>
+ <bindingRedirect oldVersion="4.3.0.0" newVersion="4.3.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
diff --git a/src/fsharp/policy.2.0.FSharp.Core/Makefile.in b/src/fsharp/policy.2.0.FSharp.Core/Makefile.in
index 5c7b4d6..898ed38 100644
--- a/src/fsharp/policy.2.0.FSharp.Core/Makefile.in
+++ b/src/fsharp/policy.2.0.FSharp.Core/Makefile.in
@@ -8,22 +8,30 @@ include @abs_top_builddir@/config.make
include $(topdir)/src/fsharp/targets.make
-#override the method to build the assembly
+# override the targets to build the assembly
-$(objdir)$(TARGET_2_0)/policy.2.0.FSharp.Core.dll: policy.2.0.FSharp.Core.dll.config
+$(outdir20)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.2.0.FSharp.Core.dll.config $(@D)
- al /link:policy.2.0.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_2_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-$(objdir)$(TARGET_4_0)/policy.2.0.FSharp.Core.dll: policy.2.0.FSharp.Core.dll.config
+$(outdir40)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.2.0.FSharp.Core.dll.config $(@D)
- al /link:policy.2.0.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_4_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-do-final: do-2-0 do-4-0
+build-2-0:
+ $(MAKE) $(outdir20)/$(NAME).dll
-clean: clean-2-0 clean-4-0
+build-4-0:
+ $(MAKE) $(outdir40)/$(NAME).dll
+
+build-final: build-2-0 build-4-0
+
+clean:
+ -rm -f $(outdir20)/$(NAME).dll $(outdir40)/$(NAME).dll
+
+install: install-lib-2 install-lib-4-0
-install: install-lib-2 install-lib-4
diff --git a/src/fsharp/policy.2.3.FSharp.Core/Makefile.in b/src/fsharp/policy.2.3.FSharp.Core/Makefile.in
index 53c77ef..10d75ba 100644
--- a/src/fsharp/policy.2.3.FSharp.Core/Makefile.in
+++ b/src/fsharp/policy.2.3.FSharp.Core/Makefile.in
@@ -8,22 +8,30 @@ include @abs_top_builddir@/config.make
include $(topdir)/src/fsharp/targets.make
-#override the method to build the assembly
+# override the targets to build the assembly
-$(objdir)$(TARGET_2_0)/policy.2.3.FSharp.Core.dll: policy.2.3.FSharp.Core.dll.config
+$(outdir20)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.2.3.FSharp.Core.dll.config $(@D)
- al /link:policy.2.3.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_2_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-$(objdir)$(TARGET_4_0)/policy.2.3.FSharp.Core.dll: policy.2.3.FSharp.Core.dll.config
+$(outdir40)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.2.3.FSharp.Core.dll.config $(@D)
- al /link:policy.2.3.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_4_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-do-final: do-2-0 do-4-0
+build-2-0:
+ $(MAKE) $(outdir20)/$(NAME).dll
-clean: clean-2-0 clean-4-0
+build-4-0:
+ $(MAKE) $(outdir40)/$(NAME).dll
+
+build-final: build-2-0 build-4-0
+
+clean:
+ -rm -f $(outdir20)/$(NAME).dll $(outdir20)/$(NAME).dll
+
+install: install-lib-2 install-lib-4-0
-install: install-lib-2 install-lib-4
diff --git a/src/fsharp/policy.3.3.FSharp.Core/Makefile.in b/src/fsharp/policy.3.3.FSharp.Core/Makefile.in
new file mode 100644
index 0000000..2bf10df
--- /dev/null
+++ b/src/fsharp/policy.3.3.FSharp.Core/Makefile.in
@@ -0,0 +1,37 @@
+NAME=policy.3.3.FSharp.Core
+ASSEMBLY = $(NAME).dll
+DELAY_SIGN=1
+
+srcdir := @abs_srcdir@/
+
+include @abs_top_builddir@/config.make
+
+include $(topdir)/src/fsharp/targets.make
+
+# override the targets to build the assembly
+
+$(outdir20)/$(NAME).dll: $(NAME).dll.config
+ @mkdir -p $(@D)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
+
+$(outdir40)/$(NAME).dll: $(NAME).dll.config
+ @mkdir -p $(@D)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
+
+build-2-0:
+ $(MAKE) $(outdir20)/$(NAME).dll
+
+build-4-0:
+ $(MAKE) $(outdir40)/$(NAME).dll
+
+build-final: build-2-0 build-4-0
+
+clean:
+ -rm -f $(outdir20)/$(NAME).dll $(outdir20)/$(NAME).dll
+
+install: install-lib-2 install-lib-4-0
+
+
+
diff --git a/src/fsharp/policy.3.3.FSharp.Core/policy.3.3.FSharp.Core.dll.config b/src/fsharp/policy.3.3.FSharp.Core/policy.3.3.FSharp.Core.dll.config
new file mode 100644
index 0000000..d6a18af
--- /dev/null
+++ b/src/fsharp/policy.3.3.FSharp.Core/policy.3.3.FSharp.Core.dll.config
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" processorArchitecture="msil" Culture="neutral" />
+ <bindingRedirect oldVersion="3.3.1.0" newVersion="4.3.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/src/fsharp/policy.4.0.FSharp.Core/Makefile.in b/src/fsharp/policy.4.0.FSharp.Core/Makefile.in
index 3dfe5a5..21d3f4d 100644
--- a/src/fsharp/policy.4.0.FSharp.Core/Makefile.in
+++ b/src/fsharp/policy.4.0.FSharp.Core/Makefile.in
@@ -10,21 +10,28 @@ include $(topdir)/src/fsharp/targets.make
# override the targets to build the assembly
-$(objdir)$(TARGET_2_0)/policy.4.0.FSharp.Core.dll: policy.4.0.FSharp.Core.dll.config
+$(outdir20)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.4.0.FSharp.Core.dll.config $(@D)
- al /link:policy.4.0.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_2_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-$(objdir)$(TARGET_4_0)/policy.4.0.FSharp.Core.dll: policy.4.0.FSharp.Core.dll.config
+$(outdir40)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.4.0.FSharp.Core.dll.config $(@D)
- al /link:policy.4.0.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_4_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-do-final: do-2-0 do-4-0
+build-2-0:
+ $(MAKE) $(outdir20)/$(NAME).dll
-clean: clean-2-0 clean-4-0
+build-4-0:
+ $(MAKE) $(outdir40)/$(NAME).dll
-install: install-lib-2 install-lib-4
+build-final: build-2-0 build-4-0
+
+clean:
+ -rm -f $(outdir20)/$(NAME).dll $(outdir20)/$(NAME).dll
+
+install: install-lib-2 install-lib-4-0
diff --git a/src/fsharp/policy.4.3.FSharp.Core/Makefile.in b/src/fsharp/policy.4.3.FSharp.Core/Makefile.in
index 0ae7e69..1572656 100644
--- a/src/fsharp/policy.4.3.FSharp.Core/Makefile.in
+++ b/src/fsharp/policy.4.3.FSharp.Core/Makefile.in
@@ -10,21 +10,28 @@ include $(topdir)/src/fsharp/targets.make
# override the targets to build the assembly
-$(objdir)$(TARGET_2_0)/policy.4.3.FSharp.Core.dll: policy.4.3.FSharp.Core.dll.config
+$(outdir20)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.4.3.FSharp.Core.dll.config $(@D)
- al /link:policy.4.3.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_2_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-$(objdir)$(TARGET_4_0)/policy.4.3.FSharp.Core.dll: policy.4.3.FSharp.Core.dll.config
+$(outdir40)/$(NAME).dll: $(NAME).dll.config
@mkdir -p $(@D)
- cp policy.4.3.FSharp.Core.dll.config $(@D)
- al /link:policy.4.3.FSharp.Core.dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub /version:$(VERSION_4_0)
+ cp $(NAME).dll.config $(@D)
+ al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)msfinal.pub
-do-final: do-2-0 do-4-0
+build-2-0:
+ $(MAKE) $(outdir20)/$(NAME).dll
-clean: clean-2-0 clean-4-0
+build-4-0:
+ $(MAKE) $(outdir40)/$(NAME).dll
-install: install-lib-2 install-lib-4
+build-final: build-2-0 build-4-0
+
+clean:
+ -rm -f $(outdir20)/$(NAME).dll $(outdir20)/$(NAME).dll
+
+install: install-lib-2 install-lib-4-0
diff --git a/src/fsharp/targets.make b/src/fsharp/targets.make
index 559de34..6c21b2c 100644
--- a/src/fsharp/targets.make
+++ b/src/fsharp/targets.make
@@ -1,123 +1,25 @@
SOURCES := $(patsubst $(srcdir)$(tmpdir)%,$(tmpdir)%,$(patsubst %,$(srcdir)%,$(sources)))
-.PHONY: install install-bin install-bin-2 install-bin-4 install-lib
+.PHONY: install install-lib-2-0 install-lib-2-1 install-lib-4-0
+
+build-2-0:
+ MONO_ENV_OPTIONS=$(monoopts) xbuild /p:Configuration=$(Configuration) /p:TargetFramework=net20 /p:MonoLibDir40=$(monogacdir40)
+
+build-2-1:
+ MONO_ENV_OPTIONS=$(monoopts) xbuild /p:Configuration=$(Configuration) /p:TargetFramework=mono21
+
+build-4-0:
+ MONO_ENV_OPTIONS=$(monoopts) xbuild /p:Configuration=$(Configuration) /p:TargetFramework=net40
-clean-2-0: TARGET := $(TARGET_2_0)
clean-2-0:
- -rm -rf $(tmpdir)
- -rm -rf $(objdir)
- -rm -f $(outdir)$(ASSEMBLY)
- -rm -f $(outdir)$(ASSEMBLY).mdb
- -rm -f $(outdir)$(NAME).xml
- -rm -f $(outdir)$(NAME).sigdata
- -rm -f $(outdir)$(NAME).optdata
-
-clean-2-1: TARGET := $(TARGET_2_1)
+ xbuild /p:Configuration=$(Configuration) /p:TargetFramework=net20 /t:Clean
+
clean-2-1:
- -rm -rf $(tmpdir)
- -rm -rf $(objdir)
- -rm -f $(outdir)$(ASSEMBLY)
- -rm -f $(outdir)$(ASSEMBLY).mdb
- -rm -f $(outdir)$(NAME).xml
- -rm -f $(outdir)$(NAME).sigdata
- -rm -f $(outdir)$(NAME).optdata
-
-clean-4-0: TARGET := $(TARGET_4_0)
+ xbuild /p:Configuration=$(Configuration) /p:TargetFramework=mono21 /t:Clean
+
clean-4-0:
- -rm -rf $(tmpdir)
- -rm -rf $(objdir)
- -rm -f $(outdir)$(ASSEMBLY)
- -rm -f $(outdir)$(ASSEMBLY).mdb
- -rm -f $(outdir)$(NAME).xml
- -rm -f $(outdir)$(NAME).sigdata
- -rm -f $(outdir)$(NAME).optdata
-
-do-2-0: DEFINES += $(DEFINES_2_0)
-do-2-0: REFERENCES += $(REFERENCES_2_0)
-do-2-0: FLAGS += $(FLAGS_2_0)
-do-2-0: TARGET := $(TARGET_2_0)
-do-2-0: VERSION := $(VERSION_2_0)
-do-2-0: monogacdirXX = $(monogacdir20)
-do-2-0: gacdirXX = $(gacdir20)
-do-2-0: $(objdir) $(objdir)$(TARGET_2_0) $(objdir)$(TARGET_4_0) $(objdir)$(TARGET_2_0)/$(ASSEMBLY)
- @mkdir -p $(outdir)
- @cp $(objdir)$(ASSEMBLY) $(outdir)
- @if test -e $(objdir)$(ASSEMBLY).xml; then \
- cp $(objdir)$(NAME).xml $(outdir); \
- fi
- @if test -e $(objdir)$(ASSEMBLY).mdb; then \
- cp $(objdir)$(ASSEMBLY).mdb $(outdir); \
- fi
- @if test -e $(objdir)$(NAME).sigdata; then \
- cp $(objdir)$(NAME).sigdata $(outdir); \
- fi
- @if test -e $(objdir)$(NAME).optdata; then \
- cp $(objdir)$(NAME).optdata $(outdir); \
- fi
- @if test "x$(DELAY_SIGN)" = "x1"; then \
- sn -q -R $(outdir)$(ASSEMBLY) $(srcdir)../../../mono.snk; \
- fi
- @if test -e Microsoft.FSharp.Targets; then \
- cp Microsoft.FSharp.Targets $(outdir)Microsoft.FSharp.Targets; \
- fi
+ xbuild /p:Configuration=$(Configuration) /p:TargetFramework=net40 /t:Clean
-do-2-1: DEFINES += $(DEFINES_2_1)
-do-2-1: REFERENCES += $(REFERENCES_2_1)
-do-2-1: FLAGS += $(FLAGS_2_1)
-do-2-1: TARGET := $(TARGET_2_1)
-do-2-1: VERSION := $(VERSION_2_1)
-do-2-1: monogacdirXX = $(monogacdir20)
-do-2-1: gacdirXX = $(gacdir20)
-do-2-1: $(objdir) $(objdir)$(TARGET_2_1) $(objdir)$(TARGET_4_0) $(objdir)$(TARGET_2_1)/$(ASSEMBLY)
- @mkdir -p $(outdir)
- @cp $(objdir)$(ASSEMBLY) $(outdir)
- @if test -e $(objdir)$(NAME).xml; then \
- cp $(objdir)$(NAME).xml $(outdir); \
- fi
- @if test -e $(objdir)$(ASSEMBLY).mdb; then \
- cp $(objdir)$(ASSEMBLY).mdb $(outdir); \
- fi
- @if test -e $(objdir)$(NAME).sigdata; then \
- cp $(objdir)$(NAME).sigdata $(outdir); \
- fi
- @if test -e $(objdir)$(NAME).optdata; then \
- cp $(objdir)$(NAME).optdata $(outdir); \
- fi
- @if test "x$(DELAY_SIGN)" = "x1"; then \
- sn -q -R $(outdir)$(ASSEMBLY) $(srcdir)../../../mono.snk; \
- fi
- @if test -e Microsoft.FSharp.Targets; then \
- cp Microsoft.FSharp.Targets $(outdir)Microsoft.FSharp.Targets; \
- fi
-
-do-4-0: DEFINES += $(DEFINES_4_0)
-do-4-0: REFERENCES += $(REFERENCES_4_0)
-do-4-0: FLAGS += $(FLAGS_4_0)
-do-4-0: TARGET := $(TARGET_4_0)
-do-4-0: VERSION := $(VERSION_4_0)
-do-4-0: monogacdirXX = $(monogacdir40)
-do-4-0: gacdirXX = $(gacdir40)
-do-4-0: $(objdir) $(objdir)$(TARGET_2_0) $(objdir)$(TARGET_4_0) $(objdir)$(TARGET_4_0)/$(ASSEMBLY)
- @mkdir -p $(outdir)
- @cp $(objdir)$(ASSEMBLY) $(outdir)
- @if test -e $(objdir)$(NAME).xml; then \
- cp $(objdir)$(NAME).xml $(outdir); \
- fi
- @if test -e $(objdir)$(ASSEMBLY).mdb; then \
- cp $(objdir)$(ASSEMBLY).mdb $(outdir); \
- fi
- @if test -e $(objdir)$(NAME).sigdata; then \
- cp $(objdir)$(NAME).sigdata $(outdir); \
- fi
- @if test -e $(objdir)$(NAME).optdata; then \
- cp $(objdir)$(NAME).optdata $(outdir); \
- fi
- @if test "x$(DELAY_SIGN)" = "x1"; then \
- sn -q -R $(outdir)$(ASSEMBLY) $(srcdir)../../../mono.snk; \
- fi
- @if test -e Microsoft.FSharp.Targets; then \
- cp Microsoft.FSharp.Targets $(outdir)Microsoft.FSharp.Targets; \
- fi
install-lib-2: TARGET := $(TARGET_2_0)
install-lib-2: VERSION := $(VERSION_2_0)
@@ -125,53 +27,60 @@ install-lib-2: VERSION := $(VERSION_2_0)
install-lib-2-1: TARGET := $(TARGET_2_1)
install-lib-2-1: VERSION := $(VERSION_2_1)
-install-lib-4: TARGET := $(TARGET_4_0)
-install-lib-4: VERSION := $(VERSION_4_0)
-
-install-bin-2: TARGET := $(TARGET_2_0)
-install-bin-2: VERSION := 2
+install-lib-4-0: TARGET := $(TARGET_4_0)
+install-lib-4-0: VERSION := $(VERSION_4_0)
-install-bin-2-1: TARGET := $(TARGET_2_1)
-install-bin-2-1: VERSION := 2.1
-
-install-bin-4: TARGET := $(TARGET_4_0)
+# At the moment SDK binaries go in the mono/4.0 directory.
+install-bin: TARGET := $(TARGET_4_0)
# Install the library binaries in the GAC and the framework directory,
# Install .optdata/.sigdata if they exist (they go alongside FSharp.Core)
# Install the .Targets file. The XBuild targets file gets installed into the place(s) expected for standard F# project
# files. For F# 2.0 project files this is
-# .../Microsoft F#/v4.0/Microsoft.FSharp.Targets
+# /usr/lib/mono/Microsoft F#/v4.0/Microsoft.FSharp.Targets
# For F# 3.0 project files this is
-# .../Microsoft SDKs/F#/3.0/Framework/v4.0/Microsoft.FSharp.Targets
+# /usr/lib/mono/Microsoft SDKs/F#/3.0/Framework/v4.0/Microsoft.FSharp.Targets
+# For F# 3.1 project files this is
+# /usr/lib/mono/xbuild/Microsoft/VisualStudio/v12.0/FSharp/Microsoft.FSharp.Targets
#
-install-lib-2 install-lib-2-1 install-lib-4:
+# Here 12.0 is 'VisualStudioVersion'. xbuild should set this to 12.0, copying MSBuild.
+#
+# We put the F# 3.1 targets and link the SDK DLLs for all three locations
+
+install-lib-2 install-lib-2-1 install-lib-4-0:
@echo "Installing $(ASSEMBLY)"
@mkdir -p $(DESTDIR)$(gacdir)/$(TARGET)
+ @if test "x$(DELAY_SIGN)" = "x1"; then \
+ sn -q -R $(outdir)$(ASSEMBLY) $(srcdir)../../../mono.snk; \
+ fi
gacutil -i $(outdir)$(ASSEMBLY) -root $(DESTDIR)$(libdir) -package $(TARGET)
@if test -e $(outdir)Microsoft.FSharp.Targets; then \
+ $(INSTALL_LIB) $(outdir)Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/$(TARGET)/; \
mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/; \
- mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET)/; \
ln -fs ../../$(TARGET)/$(ASSEMBLY) $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/$(ASSEMBLY); \
- ln -fs ../../../../../$(TARGET)/$(ASSEMBLY) $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET)/$(ASSEMBLY); \
- $(INSTALL_LIB) $(outdir)Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/$(TARGET)/; \
ln -fs ../../$(TARGET)/Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/Microsoft.FSharp.Targets; \
+ mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET); \
+ ln -fs ../../../../../$(TARGET)/$(ASSEMBLY) $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET)/$(ASSEMBLY); \
ln -fs ../../../../../$(TARGET)/Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET)/Microsoft.FSharp.Targets; \
+ mkdir -p $(DESTDIR)$(gacdir)/../xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
+ ln -fs ../../../../../$(TARGET)/$(ASSEMBLY) $(DESTDIR)$(gacdir)/../xbuild/Microsoft/VisualStudio/v12.0/FSharp/$(ASSEMBLY); \
+ ln -fs ../../../../../$(TARGET)/Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/../xbuild/Microsoft/VisualStudio/v12.0/FSharp/Microsoft.FSharp.Targets; \
fi
@if test -e $(outdir)$(NAME).xml; then \
- $(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN); \
+ $(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
ln -fs ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).xml $(DESTDIR)$(gacdir)/$(TARGET)/$(NAME).xml; \
fi
@if test -e $(outdir)$(NAME).sigdata; then \
- $(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN); \
+ $(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
ln -fs ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).sigdata $(DESTDIR)$(gacdir)/$(TARGET)/$(NAME).sigdata; \
fi
@if test -e $(outdir)$(NAME).optdata; then \
- $(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN); \
+ $(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(gacdir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
ln -fs ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).optdata $(DESTDIR)$(gacdir)/$(TARGET)/$(NAME).optdata; \
fi
-install-lib-4-5: install-lib-4
+install-lib-4-5: install-lib-4-0
@if test -e $(DESTDIR)$(gacdir)/4.5/; then \
ln -fs ../4.0/$(ASSEMBLY) $(DESTDIR)$(gacdir)/4.5/$(ASSEMBLY); \
if test -e $(DESTDIR)$(gacdir)/4.0/$(ASSEMBLY).config; then \
@@ -190,7 +99,7 @@ install-lib-4-5: install-lib-4
# The binaries fsc.exe and fsi.exe only get installed for Mono 4.0 profile
# This also installs 'fsharpc' and 'fsharpi'
-install-bin-4:
+install-bin:
sed -e 's,[@]DIR[@],$(gacdir)/$(TARGET),g' -e 's,[@]TOOL[@],$(ASSEMBLY),g' < $(topdir)launcher > $(outdir)$(subst fs,fsharp,$(NAME))$(VERSION)
chmod +x $(outdir)$(subst fs,fsharp,$(NAME))$(VERSION)
@mkdir -p $(DESTDIR)$(gacdir)/$(TARGET)
@@ -199,14 +108,3 @@ install-bin-4:
$(INSTALL_BIN) $(outdir)$(subst fs,fsharp,$(NAME))$(VERSION) $(DESTDIR)$(bindir)
-$(objdir) $(objdir)$(TARGET_2_0) $(objdir)$(TARGET_2_1) $(objdir)$(TARGET_4_0):
- mkdir -p $@
-
-$(objdir)$(TARGET_2_0)/$(ASSEMBLY): $(RESOURCES) $(SOURCES)
- mono $(MONO_OPTIONS) $(FSC) -o:$(objdir)$(ASSEMBLY) $(REFERENCES) $(DEFINES) $(FLAGS) $(patsubst %,--resource:%,$(RESOURCES)) $(SOURCES)
-
-$(objdir)$(TARGET_2_1)/$(ASSEMBLY): $(RESOURCES) $(SOURCES)
- mono $(MONO_OPTIONS) $(FSC) -o:$(objdir)$(ASSEMBLY) $(REFERENCES) $(DEFINES) $(FLAGS) $(patsubst %,--resource:%,$(RESOURCES)) $(SOURCES)
-
-$(objdir)$(TARGET_4_0)/$(ASSEMBLY): $(RESOURCES) $(SOURCES)
- mono $(MONO_OPTIONS) $(FSC) -o:$(objdir)$(ASSEMBLY) $(REFERENCES) $(DEFINES) $(FLAGS) $(patsubst %,--resource:%,$(RESOURCES)) $(SOURCES)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-cli-apps/packages/fsharp.git
More information about the Pkg-cli-apps-commits
mailing list