[Pkg-cli-apps-commits] [fsharp] 18/71: Merge recent changes in build with 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 01d223beb2a05080a1e0a0f0f670631315bbd0f9
Merge: fbc6d80 ed3e00e
Author: Don Syme <donsyme at fastmail.fm>
Date:   Thu Nov 28 14:46:56 2013 +0000

    Merge recent changes in build with F# 3.1

 .gitattributes                                     |  8 +--
 .gitignore                                         |  4 +-
 src/fsharp/FSharp.Build/FSharp.Build.fsproj        |  3 +
 .../FSharp.Build/Microsoft.Portable.FSharp.Targets | 19 ++++++
 src/fsharp/fsc.fs                                  |  6 +-
 src/fsharp/fsi/console.fs                          |  6 +-
 src/fsharp/targets.make                            | 22 ++++++-
 ...012_FSharp_ConsoleApp_net40_upgraded_VS2013.sln | 20 ++++++
 .../App.config                                     | 17 +++++
 .../Program.fs                                     | 31 +++++++++
 ..._FSharp_ConsoleApp_net40_upgraded_VS2013.fsproj | 76 ++++++++++++++++++++++
 .../PortableLibrary1.fs                            |  4 ++
 .../Sample_VS2012_FSharp_Portable_Library.fsproj   | 57 ++++++++++++++++
 .../Sample_VS2012_FSharp_Portable_Library.sln      | 20 ++++++
 .../Script.fsx                                     |  6 ++
 15 files changed, 284 insertions(+), 15 deletions(-)

diff --cc src/fsharp/targets.make
index d9b470e,41ba5f5..06ad739
--- a/src/fsharp/targets.make
+++ b/src/fsharp/targets.make
@@@ -1,34 -1,158 +1,37 @@@
  SOURCES := $(patsubst $(srcdir)$(tmpdir)%,$(tmpdir)%,$(patsubst %,$(srcdir)%,$(sources)))
  
 -.PHONY: install install-bin install-bin-2 install-bin-4 install-lib
 +.PHONY: install install-lib-net20 install-lib-monodroid install-lib-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)
 -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)
 -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
 -
 -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
 -
 -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
 -	@if test -e Microsoft.Portable.FSharp.Targets; then \
 -		cp Microsoft.Portable.FSharp.Targets $(outdir)Microsoft.Portable.FSharp.Targets; \
 -	fi
 -
 -install-lib-2: TARGET := $(TARGET_2_0)
 -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-bin-2-1: TARGET := $(TARGET_2_1)
 -install-bin-2-1: VERSION := 2.1
 -
 -install-bin-4: TARGET := $(TARGET_4_0)
 +build:
 +	MONO_ENV_OPTIONS=$(monoopts) xbuild /p:Configuration=$(Configuration) /p:TargetFramework=$(TargetFramework) /p:MonoLibDir40=$(monogacdir40)
  
 +clean:
 +	xbuild /p:Configuration=$(Configuration) /p:TargetFramework=$(TargetFramework) /t:Clean
  
- 
  # 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
 -#     .../lib/mono/xbuild/Microsoft/VisualStudio/v$(VisualStudioVersion)/FSharp/Microsoft.FSharp.Targets
 +#     /usr/lib/mono/xbuild/Microsoft/VisualStudio/v12.0/FSharp/Microsoft.FSharp.Targets
  # 
 -# xbuild sets 'VisualStudioVersion' to empty.
 +# 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
+ #
+ # We put a forwarding targets file into all three locations. We also put one in 
+ #     .../lib/mono/xbuild/Microsoft/VisualStudio/v12.0/FSharp/Microsoft.FSharp.Targets
+ # since this is the correct location, and 'xbuild' may in future start setting VisualStudioVersion to this value.
 -install-lib-2 install-lib-2-1 install-lib-4:
 +
 +install-lib:
  	@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)/; \
@@@ -41,15 -165,32 +44,30 @@@
  	    mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.1/Framework/v$(TARGET)/; \
  	    mkdir -p $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v/FSharp/; \
  	    mkdir -p $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
--	    mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/; \
  	    $(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/; \
  	    $(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET)/; \
  	    $(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.1/Framework/v$(TARGET)/; \
  	    $(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v/FSharp/; \
  	    $(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
  	fi
+ 	@if test -e $(outdir)Microsoft.Portable.FSharp.Targets; then \
+ 	    $(INSTALL_LIB) $(outdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(gacdir)/$(TARGET)/; \
+ 	    echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' > $(tmpdir)Microsoft.Portable.FSharp.Targets; \
+ 	    echo '    <Import Project="$(DESTDIR)$(gacdir)/$(TARGET)/Microsoft.Portable.FSharp.Targets" />' >> $(tmpdir)Microsoft.Portable.FSharp.Targets; \
+ 		echo '</Project>' >> $(tmpdir)Microsoft.Portable.FSharp.Targets; \
+ 	    mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/; \
+ 	    mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET)/; \
+ 	    mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.1/Framework/v$(TARGET)/; \
+ 	    mkdir -p $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v/FSharp/; \
+ 	    mkdir -p $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
 -	    mkdir -p $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/; \
+ 	    $(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ F#/v$(TARGET)/; \
+ 	    $(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.0/Framework/v$(TARGET)/; \
+ 	    $(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(gacdir)/Microsoft\ SDKs/F#/3.1/Framework/v$(TARGET)/; \
+ 	    $(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v/FSharp/; \
+ 	    $(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(gacdir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
+ 	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 \

-- 
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