Skip to content
Browse files

Fix #283: build 2.3.5.0 FSharp.Core PCL assembly

  • Loading branch information...
1 parent eb382bb commit ada9d13ce525adfaa2577ea956f22bc5fed8dfb9 @dsyme dsyme committed Mar 3, 2014
Showing with 44 additions and 10 deletions.
  1. +32 −6 config.make.in
  2. +1 −0 src/fsharp/Makefile.in
  3. +11 −4 src/fsharp/targets.make
View
38 config.make.in
@@ -29,40 +29,66 @@ Configuration = Release
DISTVERSION = 201011
outsuffix = $(TargetFramework)
-ifeq (x-$(TargetFramework),x-net20)
+# Version number mappings for various versions of FSharp.Core
+
+
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-net20-)
VERSION = 2.3.1.0
TARGET = 2.0
endif
-ifeq (x-$(TargetFramework),x-net40)
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-net40-)
VERSION = 4.3.1.0
TARGET = 4.0
outsuffix = .
endif
-ifeq (x-$(TargetFramework),x-monodroid)
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-monodroid-)
VERSION = 2.3.98.1
TARGET = monodroid
endif
-ifeq (x-$(TargetFramework),x-monotouch)
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-monotouch-)
VERSION = 2.3.99.1
TARGET = monotouch
endif
-ifeq (x-$(TargetFramework),x-portable-net45+sl5+win8)
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-portable-net45+sl5+win8-)
VERSION = 2.3.5.1
TARGET = portable-net45+sl5+win8
PCLPATH = .NETPortable
endif
-ifeq (x-$(TargetFramework),x-portable-windows8+net45)
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-portable-windows8+net45-)
VERSION = 3.3.1.0
TARGET = portable-windows8+net45
PCLPATH = .NETCore
endif
+# Version number mappings for various versions of FSharp.Core (F# 3.0 versions of FSharp.Core)
+
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-net20-3.0)
+VERSION = 2.3.0.0
+TARGET = 2.0
+outsuffix = fsharp30/$(TargetFramework)
+endif
+
+
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-net40-3.0)
+VERSION = 4.3.0.0
+TARGET = 4.0
+outsuffix = fsharp30/$(TargetFramework)
+endif
+
+ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-portable-net45+sl5+win8-3.0)
+VERSION = 2.3.5.0
+TARGET = portable-net45+sl5+win8
+PCLPATH = .NETPortable
+outsuffix = fsharp30/$(TargetFramework)
+endif
+
+
DELAY_SIGN_TOKEN = b03f5f7f11d50a3a
SIGN_TOKEN = f536804aa0eb945b
View
1 src/fsharp/Makefile.in
@@ -43,6 +43,7 @@ build clean install:
ifeq ("$(pclenabled)", "yes")
$(MAKE) -C FSharp.Core TargetFramework=portable-net45+sl5+win8 $@
$(MAKE) -C FSharp.Core TargetFramework=portable-windows8+net45 $@
+ $(MAKE) -C FSharp.Core FSharpCoreBackVersion=3.0 TargetFramework=portable-net45+sl5+win8 $@
endif
View
15 src/fsharp/targets.make
@@ -3,7 +3,7 @@ SOURCES := $(patsubst $(srcdir)$(tmpdir)%,$(tmpdir)%,$(patsubst %,$(srcdir)%,$(s
.PHONY: install install-lib-net20 install-lib-monodroid install-lib-net40
build:
- MONO_ENV_OPTIONS=$(monoopts) xbuild /p:Configuration=$(Configuration) /p:TargetFramework=$(TargetFramework) /p:MonoLibDir40=$(monogacdir40)
+ MONO_ENV_OPTIONS=$(monoopts) xbuild /p:Configuration=$(Configuration) /p:TargetFramework=$(TargetFramework) /p:MonoLibDir40=$(monogacdir40) /p:FSharpCoreBackVersion=$(FSharpCoreBackVersion)
clean:
xbuild /p:Configuration=$(Configuration) /p:TargetFramework=$(TargetFramework) /t:Clean
@@ -78,20 +78,27 @@ install-lib:
@if test -e $(outdir)$(NAME).sigdata; then \
$(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)/; \
ln -fs ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).optdata $(DESTDIR)$(gacdir)/$(TARGET)/$(NAME).optdata; \
fi
@if test x-$(PCLPATH) != x- && test x-$(NAME) = x-FSharp.Core; then \
- echo "Installing FSharp.Core PCL assembly into install location matching Visual Studio"; \
+ echo "Installing FSharp.Core $(VERSION) PCL assembly into install location matching Visual Studio"; \
echo " --> $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/$(PCLPATH)/$(VERSION)"; \
mkdir -p $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/$(PCLPATH)/$(VERSION); \
$(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/$(PCLPATH)/$(VERSION)/$(NAME).xml; \
$(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/$(PCLPATH)/$(VERSION)/$(NAME).sigdata; \
$(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/$(PCLPATH)/$(VERSION)/$(NAME).optdata; \
$(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/$(PCLPATH)/$(VERSION)/$(NAME).dll; \
fi
+ @if test x-$(PCLPATH) != x- && test x-$(NAME) = x-FSharp.Core && test x-$(FSharpCoreBackVersion) = x-3.0 ; then \
+ echo "Installing FSharp.Core $(VERSION) PCL assembly into install location matching Visual Studio 2012"; \
+ echo " --> $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/3.0/Runtime/$(PCLPATH)"; \
+ mkdir -p $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/3.0/Runtime/$(PCLPATH); \
+ $(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/3.0/Runtime/$(PCLPATH)/$(NAME).xml; \
+ $(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/3.0/Runtime/$(PCLPATH)/$(NAME).sigdata; \
+ $(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/3.0/Runtime/$(PCLPATH)/$(NAME).optdata; \
+ $(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(gacdir)/Reference\ Assemblies/Microsoft/FSharp/3.0/Runtime/$(PCLPATH)/$(NAME).dll; \
+ fi
# Also place some .NET 4.0 libraries into .NET 4.5
install-lib-net45:

0 comments on commit ada9d13

Please sign in to comment.
Something went wrong with that request. Please try again.