[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