support 'make install' for Mono (#2898)
* support 'make' and 'make install' for Mono * last few changes for xamarin eetc. * put make in CI * fix build(?) * exec bits * fix build(8) * fix build(9) * remove excess build files * remove addition of binding redirects
This commit is contained in:
Родитель
00a2972747
Коммит
4b884bc125
|
@ -79,12 +79,11 @@ Release
|
|||
Proto
|
||||
sign_temp
|
||||
.libs
|
||||
Makefile
|
||||
configure
|
||||
launcher
|
||||
autom4te.cache
|
||||
config.log
|
||||
config.make
|
||||
mono/config.make
|
||||
config.status
|
||||
*~
|
||||
*.suo
|
||||
|
|
18
DEVGUIDE.md
18
DEVGUIDE.md
|
@ -1,7 +1,7 @@
|
|||
# F# Compiler, Core Library and Visual F# Tools Open Contribution Repository
|
||||
|
||||
This repo is where you can contribute to the F# compiler, core library and the Visual F# Tools.
|
||||
To learn what F# is and why it's interesting, go to [fsharp.org](http://fsharp.org). To get a free F# environment, go to [fsharp.org](http://fsharp.org/use/windows).
|
||||
To learn what F# is and why it's interesting, go to [fsharp.org](http://fsharp.org). To get a free F# environment, go to [fsharp.org](http://fsharp.org/).
|
||||
|
||||
**Compiler Technical Documentation**
|
||||
|
||||
|
@ -25,18 +25,18 @@ The primary technical documents for the F# compiler code are
|
|||
|
||||
### F# Compiler (Linux)
|
||||
|
||||
Currently you can do on Linux a bootstrap of the Mono version of the compiler. Full testing is not enabled,
|
||||
nor is a .NET Core build of the compiler.
|
||||
|
||||
First [install Mono](http://www.mono-project.com/docs/getting-started/install/linux/). Then:
|
||||
|
||||
./autoconf.sh --prefix /usr
|
||||
make
|
||||
make install
|
||||
|
||||
Full testing is not yet enabled on Linux, nor is a .NET Core build of the compiler.
|
||||
|
||||
You can alternatively use
|
||||
|
||||
./build.sh
|
||||
|
||||
results will be in ``Debug\net40\bin\...``. This doesn't do any testing (beyond the bootstrap). You can
|
||||
run the compiler ``fsc.exe`` and F# Interactive ``fsi.exe`` by hand to test it.
|
||||
|
||||
These steps are tested under the Linux/Mono configuration(s) in ``.travis.yml`` (Ubuntu).
|
||||
|
||||
### F# Compiler (Windows)
|
||||
|
||||
On Windows you can build the F# compiler for .NET Framework as follows:
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
include $(topsrcdir)mono/config.make
|
||||
|
||||
.PHONY: restore
|
||||
|
||||
restore:
|
||||
MONO_ENV_OPTIONS=$(monoopts) mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile .nuget/NuGet.Config
|
||||
|
||||
# Make the proto using the bootstrap, then make the final compiler using the 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) build-proto
|
||||
$(MAKE) build
|
||||
|
||||
build-proto: restore
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=Proto /p:TargetFramework=$(TargetFramework) src/fsharp/FSharp.Build-proto/FSharp.Build-proto.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=Proto /p:TargetFramework=$(TargetFramework) src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=Proto /p:TargetFramework=$(TargetFramework) src/fsharp/Fsc-proto/Fsc-proto.fsproj
|
||||
|
||||
# The main targets
|
||||
build:
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/FSharp.Build/FSharp.Build.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/Fsc/Fsc.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/fsi/Fsi.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 /p:FSharpCoreBackVersion=3.0 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 /p:FSharpCoreBackVersion=3.1 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=net40 /p:FSharpCoreBackVersion=4.0 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
$(MAKE) -C mono/policy.2.0.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.2.3.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.3.3.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.3.7.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.3.47.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.3.78.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.3.259.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.4.0.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.4.3.FSharp.Core TargetFramework=net40 $@
|
||||
$(MAKE) -C mono/policy.4.4.FSharp.Core TargetFramework=net40 $@
|
||||
ifeq ("$(pclenabled47)", "yes")
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=portable47 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
endif
|
||||
ifeq ("$(pclenabled7)", "yes")
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=portable7 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
endif
|
||||
ifeq ("$(pclenabled78)", "yes")
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=portable78 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
endif
|
||||
ifeq ("$(pclenabled259)", "yes")
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=portable259 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
endif
|
||||
ifeq ("$(monodroidenabled)", "yes")
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=monoandroid10+monotouch10+xamarinios10 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
endif
|
||||
ifeq ("$(xamarinmacenabled)", "yes")
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(XBUILD) /p:Configuration=$(Configuration) /p:TargetFramework=xamarinmacmobile src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
endif
|
||||
|
||||
|
||||
|
||||
install:
|
||||
-rm -fr $(DESTDIR)$(monodir)/fsharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/Microsoft\ F#
|
||||
-rm -fr $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#
|
||||
-rm -fr $(DESTDIR)$(monodir)/gac/FSharp.Core
|
||||
-rm -fr $(DESTDIR)$(monodir)/gac/FSharp.Compiler
|
||||
-rm -fr $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v11.0/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v14.0/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v15.0/FSharp
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/FSharp.Build install
|
||||
$(MAKE) -C mono/FSharp.Compiler install
|
||||
$(MAKE) -C mono/Fsc install
|
||||
$(MAKE) -C mono/FSharp.Compiler.Interactive.Settings install
|
||||
$(MAKE) -C mono/FSharp.Compiler.Server.Shared install
|
||||
$(MAKE) -C mono/fsi install
|
||||
$(MAKE) -C mono/fsiAnyCpu install
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=net40 FSharpCoreBackVersion=3.0 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=net40 FSharpCoreBackVersion=3.1 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=net40 FSharpCoreBackVersion=4.0 install
|
||||
$(MAKE) -C mono/policy.2.0.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.2.3.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.3.3.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.3.7.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.3.47.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.3.78.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.3.259.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.4.0.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.4.3.FSharp.Core TargetFramework=net40 install
|
||||
$(MAKE) -C mono/policy.4.4.FSharp.Core TargetFramework=net40 install
|
||||
ifeq ("$(pclenabled47)", "yes")
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=portable47 install
|
||||
endif
|
||||
ifeq ("$(pclenabled7)", "yes")
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=portable7 install
|
||||
endif
|
||||
ifeq ("$(pclenabled78)", "yes")
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=portable78 install
|
||||
endif
|
||||
ifeq ("$(pclenabled259)", "yes")
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=portable259 install
|
||||
endif
|
||||
ifeq ("$(monodroidenabled)", "yes")
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=monoandroid10+monotouch10+xamarinios10 install
|
||||
endif
|
||||
ifeq ("$(xamarinmacenabled)", "yes")
|
||||
$(MAKE) -C mono/FSharp.Core TargetFramework=xamarinmacmobile install
|
||||
endif
|
||||
echo "------------------------------ INSTALLED FILES --------------"
|
||||
ls -xlR $(DESTDIR)$(monodir)/fsharp $(DESTDIR)$(monodir)/xbuild $(DESTDIR)$(monodir)/gac/FSharp* $(DESTDIR)$(monodir)/Microsoft*
|
||||
|
||||
dist:
|
||||
-rm -r fsharp-$(DISTVERSION) fsharp-$(DISTVERSION).tar.bz2
|
||||
mkdir -p fsharp-$(DISTVERSION)
|
||||
(cd $(topdir) && git archive HEAD |(cd $(builddir)fsharp-$(DISTVERSION) && tar xf -))
|
||||
list='$(EXTRA_DIST)'; for s in $$list; do \
|
||||
(cp $(topdir)$$s fsharp-$(DISTVERSION)/$$s) \
|
||||
done;
|
||||
tar cvjf fsharp-$(DISTVERSION).tar.bz2 $(patsubst %,--exclude=%, $(NO_DIST)) fsharp-$(DISTVERSION)
|
||||
du -b fsharp-$(DISTVERSION).tar.bz2
|
||||
|
19
README.md
19
README.md
|
@ -1,7 +1,7 @@
|
|||
|
||||
[![Join the chat at https://gitter.im/Microsoft/visualfsharp](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Microsoft/visualfsharp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
# Visual F# Tools
|
||||
# The Combined F# Language, Library, and Tools Repository
|
||||
|
||||
## Windows build
|
||||
|
||||
|
@ -15,7 +15,8 @@ You are invited to join with the F# Community and the Visual F# Tools team to he
|
|||
|
||||
F# is a mature, open source, cross-platform, functional-first programming language which empowers users and organizations to tackle complex computing problems with simple, maintainable, and robust code. F# is used in a wide range of application areas and is supported by Microsoft and other industry-leading companies providing professional tools, and by an active open community. You can find out more about F# at http://fsharp.org.
|
||||
|
||||
Changes contributed here are packaged into the Visual F# Tools, the F# Open Edition, and other open source F# editing tools. Microsoft coordinates packaging this repository as part of the Visual F# Tools, while the F# community coordinates packaging it as the Open Edition of F# for use on Linux, macOS, Android, iOS, and other platforms, via the [fsharp/fsharp GitHub repo](https://github.com/fsharp/fsharp/).
|
||||
Changes contributed here are eventually included in all packagings of F# and open source F# editing tools. Microsoft coordinates packaging this repository
|
||||
as part of the Visual F# Tools, and the F# community coordinates packaging [other editions of F#](https://github.com/fsharp/fsharp/) for use on Linux, macOS, Android, iOS, and other platforms.
|
||||
|
||||
### License
|
||||
|
||||
|
@ -34,12 +35,11 @@ For F# Compiler on Windows (``build net40``)
|
|||
- [.NET 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40779)
|
||||
- [MSBuild 12.0](http://www.microsoft.com/en-us/download/details.aspx?id=40760)
|
||||
|
||||
For F# Compiler on macOS and Linux (see .travis.yml for build steps)
|
||||
For F# Compiler on macOS and Linux (``build.sh``)
|
||||
|
||||
- [Mono latest](http://www.mono-project.com/download/#download-lin)
|
||||
- If building for .NET Core, then .NET Core will be downloaded from Linux packages
|
||||
|
||||
|
||||
For Visual F# IDE Tools 4.1 development (Windows)
|
||||
|
||||
- [Visual Studio 2017](https://www.visualstudio.com/downloads/)
|
||||
|
@ -96,15 +96,10 @@ Although the primary focus of this repo is F# for Windows and the Visual Studio
|
|||
If you wish to use the latest F# compiler on a computer without Visual Studio 2017 installed, you can add the nuget package ``FSharp.Compiler.Tools`` to your projects. This will replace the in-box compiler with the version contained in the package.
|
||||
The actual package is built in https://github.com/fsharp/fsharp.
|
||||
|
||||
Note that while this will remove the dependency on VS 2017, you will still need to have MSBuild and the required targets files installed, which come with any older version of VS (e.g. 2013 or 2015).
|
||||
|
||||
#### ... With an older version of VS
|
||||
Just install the nuget package, it will then use MSBuild and the targets files from the older version. If you get an error, see below.
|
||||
|
||||
#### ... With VS (any version) installed, but without the optional F# tools installed
|
||||
The currently distributed F# templates depend on machine-wide installed .targets files. You can manually modify your project to instead use the .targets file from the nuget package. This will allow you to build your project on a computer with VS but without the optional F# tools installed. See https://github.com/fsharp/fsharp/issues/676 for how to modify your project file.
|
||||
You will need to adjust the targets reference on your project file to use the targets file from the installed ``FSharp.Compiler.Tools`` package.
|
||||
See https://github.com/fsharp/fsharp/issues/676 for how to modify your project file.
|
||||
|
||||
### Get In Touch
|
||||
|
||||
Keep up with the Visual F# Team and the development of the Visual F# Tools by following us [@VisualFSharp](https://twitter.com/VisualFSharp) or subscribing to the [.NET Blog](https://blogs.msdn.microsoft.com/dotnet/).
|
||||
Follow [@VisualFSharp](https://twitter.com/VisualFSharp) on twitter or subscribe to the [.NET Blog](https://blogs.msdn.microsoft.com/dotnet/).
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
which autoreconf > /dev/null || (echo "Please install autoconf" && exit 1)
|
||||
autoreconf && ./configure $@
|
|
@ -23,7 +23,7 @@ if [ $OS = 'Linux' ]; then
|
|||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install mono-devel
|
||||
sudo apt-get -y install mono-devel autoconf libtool pkg-config make git
|
||||
fi
|
||||
|
||||
# Check if SSL certificates have been imported into Mono's certificate store.
|
||||
|
|
13
build.sh
13
build.sh
|
@ -467,10 +467,21 @@ if [ "$BUILD_PHASE" = '1' ]; then
|
|||
{ printeval "$cmd"; } || failwith "'$cmd' failed"
|
||||
fi
|
||||
|
||||
build_status "Main part of build finished, completing parts of build needed for Mono setup"
|
||||
|
||||
if [ "$BUILD_NET40" = '1' ]; then
|
||||
{ printeval "./autogen.sh --prefix=/usr"; } || failwith "./autogen.sh failed"
|
||||
|
||||
{ printeval "make"; } || failwith "make failed"
|
||||
fi
|
||||
|
||||
build_status "Done with build, starting update/prepare"
|
||||
|
||||
if [ "$BUILD_NET40" = '1' ]; then
|
||||
echo "TODO: Call update.sh"
|
||||
|
||||
{ printeval "sudo make install"; } || failwith "sudo make install failed"
|
||||
|
||||
# WINDOWS:
|
||||
# src/update.sh $BUILD_CONFIG
|
||||
# rc=$?;
|
||||
# if [ $rc -ne 0 ]; then
|
||||
|
|
|
@ -0,0 +1,152 @@
|
|||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.61])
|
||||
AC_INIT([fsharp], [4.0], [https://github.com/fsharp/fsharp/issues])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
||||
|
||||
# pkg-config precedence: 1) our prefix 2) the system Mono location 3) the PATH
|
||||
prefix_pkg_config="$prefix"/bin/pkg-config
|
||||
osx_pkg_config=/Library/Frameworks/Mono.framework/Versions/Current/bin/pkg-config
|
||||
|
||||
if test -e $prefix_pkg_config; then
|
||||
PKG_CONFIG=$prefix_pkg_config
|
||||
elif test -e $osx_pkg_config; then
|
||||
PKG_CONFIG=$osx_pkg_config
|
||||
elif test "x$PKG_CONFIG" = "xno"; then
|
||||
AC_MSG_ERROR([You need to install pkg-config])
|
||||
fi
|
||||
|
||||
AC_MSG_NOTICE("pkg-config: $PKG_CONFIG")
|
||||
AC_MSG_NOTICE("PKG_CONFIG_LIBDIR: $PKG_CONFIG_LIBDIR")
|
||||
|
||||
MONO_REQUIRED_VERSION=4.0
|
||||
MONO_RECOMMENDED_VERSION=4.2
|
||||
MONO_RECOMMENDED_REASON="as it is newer and already considered a stable version"
|
||||
|
||||
if ! $PKG_CONFIG --atleast-version=$MONO_REQUIRED_VERSION mono; then
|
||||
AC_MSG_ERROR("You need mono $MONO_REQUIRED_VERSION")
|
||||
fi
|
||||
|
||||
if ! $PKG_CONFIG --atleast-version=$MONO_RECOMMENDED_VERSION mono; then
|
||||
AC_MSG_WARN([Mono $MONO_RECOMMENDED_VERSION or higher is recommended, $MONO_RECOMMENDED_REASON])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([gacdir],
|
||||
[ --with-gacdir=/path/to/gac Specify the gac directory (ex: /usr/lib/mono/gac)],
|
||||
[],
|
||||
[with_gacdir=no]
|
||||
)
|
||||
|
||||
MONOPREFIX=$(cd `$PKG_CONFIG --variable=prefix mono` && pwd)
|
||||
MONOBINDIR="$MONOPREFIX"/bin
|
||||
MONOLIBDIR="$MONOPREFIX"/lib
|
||||
|
||||
AC_PATH_PROG(XBUILD, xbuild, no)
|
||||
xbuild_from_pkg_config="$MONOBINDIR"/xbuild
|
||||
if test -e $xbuild_from_pkg_config; then
|
||||
XBUILD=$xbuild_from_pkg_config
|
||||
elif test "x$XBUILD" == "xno"; then
|
||||
AC_MSG_ERROR([Could not find xbuild])
|
||||
fi
|
||||
AC_MSG_NOTICE(xbuild: $XBUILD)
|
||||
|
||||
MONOGACDIR="$MONOLIBDIR"/mono
|
||||
if ! test "x$with_gacdir" = "xno"; then
|
||||
MONOGACDIR=$(cd "$with_gacdir/.." && pwd)
|
||||
fi
|
||||
|
||||
MONOGACDIR40="$MONOGACDIR"/4.0
|
||||
MONOGACDIR45="$MONOGACDIR"/4.5
|
||||
|
||||
if ! test -e $MONOGACDIR45/mscorlib.dll; then
|
||||
AC_ERROR(Couldn't find the mono gac directory or mscorlib.dll in the usual places. Set --with-gacdir=<path>)
|
||||
fi
|
||||
|
||||
if test -e $MONOLIBDIR/mono/xbuild-frameworks/.NETPortable/v4.0/Profile/Profile47/mscorlib.dll; then
|
||||
PCLENABLED47=yes
|
||||
else
|
||||
PCLENABLED47=no
|
||||
fi
|
||||
AC_MSG_NOTICE(PCL Reference Assemblies for Profile 47 found: $PCLENABLED47)
|
||||
|
||||
AC_SUBST(PCLENABLED47)
|
||||
|
||||
|
||||
if test -e $MONOLIBDIR/mono/xbuild-frameworks/.NETPortable/v4.0/Profile/Profile47/mscorlib.dll; then
|
||||
PCLENABLED47=yes
|
||||
else
|
||||
PCLENABLED47=no
|
||||
fi
|
||||
AC_MSG_NOTICE(PCL Reference Assemblies for Profile 47 found: $PCLENABLED47)
|
||||
|
||||
AC_SUBST(PCLENABLED47)
|
||||
|
||||
|
||||
if test -e $MONOLIBDIR/mono/xbuild-frameworks/.NETPortable/v4.5/Profile/Profile7/System.Runtime.dll; then
|
||||
PCLENABLED7=yes
|
||||
else
|
||||
PCLENABLED7=no
|
||||
fi
|
||||
AC_MSG_NOTICE(PCL Reference Assemblies for Profile 7 found: $PCLENABLED7)
|
||||
|
||||
AC_SUBST(PCLENABLED7)
|
||||
|
||||
if test -e $MONOLIBDIR/mono/xbuild-frameworks/.NETPortable/v4.5/Profile/Profile78/System.Runtime.dll; then
|
||||
PCLENABLED78=yes
|
||||
else
|
||||
PCLENABLED78=no
|
||||
fi
|
||||
AC_MSG_NOTICE(PCL Reference Assemblies for Profile 78 found: $PCLENABLED78)
|
||||
|
||||
AC_SUBST(PCLENABLED78)
|
||||
|
||||
if test -e $MONOLIBDIR/mono/xbuild-frameworks/.NETPortable/v4.5/Profile/Profile259/System.Runtime.dll; then
|
||||
PCLENABLED259=yes
|
||||
else
|
||||
PCLENABLED259=no
|
||||
fi
|
||||
AC_MSG_NOTICE(PCL Reference Assemblies for Profile 259 found: $PCLENABLED259)
|
||||
|
||||
AC_SUBST(PCLENABLED259)
|
||||
|
||||
# We enable MonoTouch and MonoDroid builds if PCL components are available.
|
||||
# These build using binaries from dependencies/mono/2.1, but see
|
||||
# https://github.com/fsharp/fsharp/issues/391 where PCL is a requirement of
|
||||
# Microsoft.Common.targets when used in this configuration
|
||||
MONOTOUCHENABLED=$PCLENABLED78
|
||||
MONODROIDENABLED=$PCLENABLED78
|
||||
XAMARINMACENABLED=$PCLENABLED78
|
||||
|
||||
AC_SUBST(MONOTOUCHENABLED)
|
||||
AC_SUBST(MONODROIDENABLED)
|
||||
AC_SUBST(XAMARINMACENABLED)
|
||||
|
||||
AC_SUBST(MONOBINDIR)
|
||||
AC_SUBST(MONOLIBDIR)
|
||||
AC_SUBST(MONOGACDIR)
|
||||
|
||||
AC_SUBST(MONOGACDIR20)
|
||||
AC_SUBST(MONOGACDIR35)
|
||||
AC_SUBST(MONOGACDIR40)
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
mono/launcher
|
||||
mono/config.make
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
CONFIGURE_FILE=autogen.sh
|
||||
if ! test -e $CONFIGURE_FILE; then
|
||||
CONFIGURE_FILE=configure
|
||||
fi
|
||||
CONFIGURE_COMMAND="`dirname $0`/$CONFIGURE_FILE"
|
||||
|
||||
if ! test "x$MONOPREFIX" = "x$prefix"; then
|
||||
AC_WARN([Prefix to use is not the same as mono's: $prefix
|
||||
Consider using: $CONFIGURE_COMMAND --prefix=$MONOPREFIX])
|
||||
fi
|
|
@ -0,0 +1,8 @@
|
|||
NAME=FSharp.Build
|
||||
ASSEMBLY = $(NAME).dll
|
||||
TOKEN=$(SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-sdk-lib
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
NAME=FSharp.Compiler.Interactive.Settings
|
||||
ASSEMBLY = $(NAME).dll
|
||||
TOKEN=$(SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
NAME=FSharp.Compiler.Server.Shared
|
||||
ASSEMBLY = $(NAME).dll
|
||||
TOKEN=$(SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
NAME=FSharp.Compiler
|
||||
ASSEMBLY = $(NAME).dll
|
||||
TOKEN=$(SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-sdk-lib
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
NAME=FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
NAME=fsc
|
||||
ASSEMBLY = $(NAME).exe
|
||||
TOKEN=$(SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-bin
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
# the version under development, update after a release
|
||||
$version = '4.1.14'
|
||||
|
||||
function isVersionTag($tag){
|
||||
$v = New-Object Version
|
||||
[Version]::TryParse(($tag).Replace('-alpha','').Replace('-beta',''), [ref]$v)
|
||||
}
|
||||
|
||||
# append the AppVeyor build number as the pre-release version
|
||||
if ($env:appveyor){
|
||||
$version = $version + '-b' + [int]::Parse($env:appveyor_build_number).ToString('000')
|
||||
if ($env:appveyor_repo_tag -eq 'true' -and (isVersionTag($env:appveyor_repo_tag_name))){
|
||||
$version = $env:appveyor_repo_tag_name
|
||||
}
|
||||
Update-AppveyorBuild -Version $version
|
||||
} else {
|
||||
$version = $version + '-b001'
|
||||
}
|
||||
|
||||
$nuget = (gi .\.nuget\NuGet.exe).FullName
|
||||
|
||||
$packagesOutDir = Join-Path $PSScriptRoot "..\release\"
|
||||
|
||||
function pack($nuspec){
|
||||
$dir = [IO.Path]::GetDirectoryName($nuspec)
|
||||
& $nuget pack $nuspec -BasePath "$dir" -Version $version -OutputDirectory "$packagesOutDir" -NoDefaultExcludes -Verbosity d
|
||||
}
|
||||
|
||||
pack(gi .\FSharp.Core.Nuget\FSharp.Core.nuspec)
|
||||
pack(gi .\FSharp.Compiler.Tools.Nuget\FSharp.Compiler.Tools.nuspec)
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Perform any necessary setup prior to running builds
|
||||
# (e.g., restoring NuGet packages).
|
||||
echo "prepare-mono.sh..."
|
||||
|
||||
./mono/prepare-mono.sh
|
||||
|
||||
rc=$?;
|
||||
if [ $rc -ne 0 ]; then
|
||||
echo "mono/prepare-mono script failed."
|
||||
exit $rc
|
||||
fi
|
||||
echo "done mono/prepare-mono.sh, building..."
|
||||
|
||||
chmod +x mono/travis-autogen.sh
|
||||
|
||||
# Generate the makefiles
|
||||
# Bootstrap the compiler
|
||||
# Install the compiler
|
||||
./mono/travis-autogen.sh && \
|
||||
make && \
|
||||
sudo make install
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
@echo off
|
||||
|
||||
:: Check prerequisites
|
||||
set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\14.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\12.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% echo Error: Could not find MSBuild.exe. Please see http://www.microsoft.com/en-us/download/details.aspx?id=40760. && goto :eof
|
||||
|
||||
set msbuildflags=/maxcpucount
|
||||
|
||||
::Build
|
||||
|
||||
%_msbuildexe% %msbuildflags% lib\netcore\build-fsc-netcore.proj /v:n
|
||||
@if ERRORLEVEL 1 echo Error: "%_msbuildexe% %msbuildflags% lib\netcore\build-fsc-netcore.proj" failed && goto :failure
|
||||
|
||||
|
||||
@echo "Finished"
|
||||
goto :eof
|
||||
|
||||
:failure
|
||||
exit /b 1
|
|
@ -0,0 +1,44 @@
|
|||
@echo off
|
||||
|
||||
:: Check prerequisites
|
||||
set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\14.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\12.0\Bin\MSBuild.exe"
|
||||
if not exist %_msbuildexe% echo Error: Could not find MSBuild.exe. Please see http://www.microsoft.com/en-us/download/details.aspx?id=40760. && goto :eof
|
||||
|
||||
set msbuildflags=/maxcpucount
|
||||
set _ngenexe="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\ngen.exe"
|
||||
if not exist %_ngenexe% echo Note: Could not find ngen.exe.
|
||||
|
||||
::Build
|
||||
|
||||
%_ngenexe% install .\.nuget\NuGet.exe
|
||||
|
||||
.\.nuget\NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile .nuget\nuget.config
|
||||
@if ERRORLEVEL 1 echo Error: Nuget restore failed && goto :failure
|
||||
|
||||
%_ngenexe% install packages\FSharp.Compiler.Tools.4.0.1.21\tools\fsc.exe
|
||||
|
||||
set BUILD_NET40=1
|
||||
set BUILD_PORTABLE=1
|
||||
set TEST_NET40_COREUNIT_SUITE=1
|
||||
set TEST_PORTABLE_COREUNIT_SUITE=1
|
||||
|
||||
%_msbuildexe% src\fsharp-proto-build.proj
|
||||
@if ERRORLEVEL 1 echo Error: "%_msbuildexe% src\fsharp-proto-build.proj" failed && goto :failure
|
||||
|
||||
%_ngenexe% install Proto\net440\bin\fsc-proto.exe
|
||||
|
||||
%_msbuildexe% %msbuildflags% build-everything.proj /p:TargetFramework=net40 /p:Configuration=Release
|
||||
@if ERRORLEVEL 1 echo Error: "%_msbuildexe% %msbuildflags% src\fsharp-library-build.proj /p:TargetFramework=net40 /p:Configuration=Release" failed && goto :failure
|
||||
|
||||
%_msbuildexe% %msbuildflags% src/fsharp/FSharp.Core/FSharp.Core.fsproj /p:TargetFramework=monotouch /p:Configuration=Release /p:KeyFile=..\..\..\mono\mono.snk
|
||||
@if ERRORLEVEL 1 echo Error: "%_msbuildexe% %msbuildflags% src\fsharp-library-build.proj /p:TargetFramework=monotouch /p:Configuration=Release /p:KeyFile=..\..\..\mono.snk" failed && goto :failure
|
||||
|
||||
|
||||
@echo "Finished"
|
||||
goto :eof
|
||||
|
||||
:failure
|
||||
exit /b 1
|
|
@ -0,0 +1,311 @@
|
|||
DEFAULT: all
|
||||
|
||||
.PHONY: install-sdk-lib install-gac-lib
|
||||
|
||||
prefix := @prefix@
|
||||
topdir := @abs_top_srcdir@/
|
||||
builddir := @abs_top_builddir@/
|
||||
libdir := ${prefix}/lib/
|
||||
bindir := ${prefix}/bin/
|
||||
monobindir := @MONOBINDIR@
|
||||
monolibdir := @MONOLIBDIR@
|
||||
monogacdir := @MONOGACDIR@
|
||||
|
||||
monogacdir40 := @MONOGACDIR40@
|
||||
|
||||
pclenabled47 := @PCLENABLED47@
|
||||
pclenabled7 := @PCLENABLED7@
|
||||
pclenabled78 := @PCLENABLED78@
|
||||
pclenabled259 := @PCLENABLED259@
|
||||
monotouchenabled := @MONOTOUCHENABLED@
|
||||
monodroidenabled := @MONODROIDENABLED@
|
||||
xamarinmacenabled := @XAMARINMACENABLED@
|
||||
|
||||
monodir := ${libdir}mono
|
||||
|
||||
TargetFramework = net40
|
||||
CONFIG = release
|
||||
Configuration = Release
|
||||
DISTVERSION = 201011
|
||||
|
||||
# Version number mappings for various versions of FSharp.Core
|
||||
|
||||
ifeq (x-$(TargetFramework)-,x-net40-)
|
||||
|
||||
ifeq (x-$(FSharpCoreBackVersion)-,x--)
|
||||
VERSION = 4.4.1.0
|
||||
PKGINSTALL = yes
|
||||
REFASSEMPATH = .NETFramework/v4.0
|
||||
outsuffix = $(TargetFramework)
|
||||
endif
|
||||
|
||||
ifeq (x-$(FSharpCoreBackVersion)-,x-3.0-)
|
||||
VERSION = 4.3.0.0
|
||||
REFASSEMPATH = .NETFramework/v4.0
|
||||
outsuffix = fsharp30/$(TargetFramework)
|
||||
endif
|
||||
|
||||
ifeq (x-$(FSharpCoreBackVersion)-,x-3.1-)
|
||||
VERSION = 4.3.1.0
|
||||
REFASSEMPATH = .NETFramework/v4.0
|
||||
outsuffix = fsharp31/$(TargetFramework)
|
||||
endif
|
||||
|
||||
ifeq (x-$(FSharpCoreBackVersion)-,x-4.0-)
|
||||
VERSION = 4.4.0.0
|
||||
REFASSEMPATH = .NETFramework/v4.0
|
||||
outsuffix = fsharp40/$(TargetFramework)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
ifeq (x-$(TargetFramework)-,x-monoandroid10+monotouch10+xamarinios10-)
|
||||
VERSION = 3.98.41.0
|
||||
outsuffix = $(TargetFramework)
|
||||
endif
|
||||
|
||||
|
||||
ifeq (x-$(TargetFramework)-,x-xamarinmacmobile-)
|
||||
VERSION = 3.99.41.0
|
||||
outsuffix = $(TargetFramework)
|
||||
endif
|
||||
|
||||
ifeq (x-$(TargetFramework)-,x-portable47-)
|
||||
VERSION = 3.47.41.0
|
||||
PCLPATH = .NETPortable
|
||||
outsuffix = $(TargetFramework)
|
||||
endif
|
||||
|
||||
ifeq (x-$(TargetFramework)-,x-portable7-)
|
||||
VERSION = 3.7.41.0
|
||||
PCLPATH = .NETCore
|
||||
outsuffix = $(TargetFramework)
|
||||
endif
|
||||
|
||||
ifeq (x-$(TargetFramework)-,x-portable78-)
|
||||
VERSION = 3.78.41.0
|
||||
PCLPATH = .NETCore
|
||||
outsuffix = $(TargetFramework)
|
||||
endif
|
||||
|
||||
ifeq (x-$(TargetFramework)-,x-portable259-)
|
||||
VERSION = 3.259.41.0
|
||||
PCLPATH = .NETCore
|
||||
outsuffix = $(TargetFramework)
|
||||
endif
|
||||
|
||||
|
||||
FSCORE_DELAY_SIGN_TOKEN = b03f5f7f11d50a3a
|
||||
SIGN_TOKEN = f536804aa0eb945b
|
||||
|
||||
tmpdir = .libs/$(Configuration)/
|
||||
outdir = $(builddir)$(Configuration)/$(outsuffix)/bin/
|
||||
|
||||
INSTALL = $(SHELL) $(topdir)/mono/install-sh
|
||||
INSTALL_BIN = $(INSTALL) -c -m 755
|
||||
INSTALL_LIB = $(INSTALL_BIN)
|
||||
|
||||
XBUILD = @XBUILD@
|
||||
|
||||
EXTRA_DIST = configure
|
||||
NO_DIST = .gitignore lib/debug lib/proto lib/release
|
||||
|
||||
|
||||
# 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
|
||||
# /usr/lib/mono/Microsoft F#/v4.0/Microsoft.FSharp.Targets
|
||||
# For F# 3.0 project files this is
|
||||
# /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
|
||||
# For F# 4.0 project files this is
|
||||
# /usr/lib/mono/xbuild/Microsoft/VisualStudio/v14.0/FSharp/Microsoft.FSharp.Targets
|
||||
# For F# 4.1 project files this is
|
||||
# /usr/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/FSharp/Microsoft.FSharp.Targets
|
||||
#
|
||||
# Here 12.0/14.0/15.0 is 'VisualStudioVersion'. xbuild should set this to 11.0/12.0/14.0/15.0, copying MSBuild.
|
||||
#
|
||||
# We put the F# targets and link the SDK DLLs for all these locations
|
||||
#
|
||||
# We put a forwarding targets file into all three locations. We also put one in
|
||||
# .../lib/mono/xbuild/Microsoft/VisualStudio/v/FSharp/Microsoft.FSharp.Targets
|
||||
# since this is the location if 'xbuild' fails to set VisualStudioVersion.
|
||||
#
|
||||
install-sdk-lib:
|
||||
@echo "Installing $(ASSEMBLY)"
|
||||
@mkdir -p $(DESTDIR)$(monodir)/fsharp
|
||||
@if test "x$(DELAY_SIGN)" = "x1"; then \
|
||||
echo "Signing $(outdir)$(ASSEMBLY) with Mono key"; \
|
||||
$(monobindir)/sn -q -R $(outdir)$(ASSEMBLY) $(topdir)mono/mono.snk; \
|
||||
fi
|
||||
@if test x-$(NAME) = x-FSharp.Compiler; then \
|
||||
echo "Installing extra dependency System.Collections.Immutable.dll to $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
$(INSTALL_LIB) $(outdir)System.Collections.Immutable.dll $(DESTDIR)$(monodir)/fsharp/; \
|
||||
echo "Installing extra dependency System.Reflection.Metadata.dll to $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
$(INSTALL_LIB) $(outdir)System.Reflection.Metadata.dll $(DESTDIR)$(monodir)/fsharp/; \
|
||||
fi
|
||||
@if test x-$(NAME) = x-FSharp.Build; then \
|
||||
echo "Installing Microsoft.FSharp.Targets and Microsoft.Portable.FSharp.Targets into install locations matching Visual Studio"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/Microsoft\ F#/v4.0/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.0/Framework/v4.0/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.1/Framework/v4.0/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.0/Framework/v4.0/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.1/Framework/v4.0/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v/FSharp/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v11.0/FSharp/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v14.0/FSharp/"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v15.0/FSharp/"; \
|
||||
\
|
||||
mkdir -p $(tmpdir); \
|
||||
mkdir -p $(DESTDIR)$(monodir)/Microsoft\ F#/v4.0/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.0/Framework/v4.0/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.1/Framework/v4.0/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.0/Framework/v4.0/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.1/Framework/v4.0/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v/FSharp/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v11.0/FSharp/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v14.0/FSharp/; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v15.0/FSharp/; \
|
||||
\
|
||||
$(INSTALL_LIB) $(outdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/fsharp/; \
|
||||
$(INSTALL_LIB) $(outdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/fsharp/; \
|
||||
\
|
||||
echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' > $(tmpdir)Microsoft.FSharp.Targets; \
|
||||
echo ' <Import Project="$(monodir)/fsharp/Microsoft.FSharp.Targets" />' >> $(tmpdir)Microsoft.FSharp.Targets; \
|
||||
echo '</Project>' >> $(tmpdir)Microsoft.FSharp.Targets; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ F#/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.0/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.1/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.0/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.1/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v11.0/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v14.0/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v15.0/FSharp/; \
|
||||
\
|
||||
echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' > $(tmpdir)Microsoft.Portable.FSharp.Targets; \
|
||||
echo ' <Import Project="$(monodir)/fsharp/Microsoft.Portable.FSharp.Targets" />' >> $(tmpdir)Microsoft.Portable.FSharp.Targets; \
|
||||
echo '</Project>' >> $(tmpdir)Microsoft.Portable.FSharp.Targets; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ F#/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.0/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/3.1/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.0/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#/4.1/Framework/v4.0/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v11.0/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v12.0/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v14.0/FSharp/; \
|
||||
$(INSTALL_LIB) $(tmpdir)Microsoft.Portable.FSharp.Targets $(DESTDIR)$(monodir)/xbuild/Microsoft/VisualStudio/v15.0/FSharp/; \
|
||||
fi
|
||||
@if test x-$(outsuffix) = x-net40; then \
|
||||
if test -e $(outdir)$(NAME).dll; then \
|
||||
echo "Installing $(outdir)$(NAME).dll to $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/fsharp/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(monodir)/fsharp/; \
|
||||
fi; \
|
||||
if test -e $(outdir)$(NAME).dll.config; then \
|
||||
echo "Installing $(outdir)$(NAME).dll to $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/fsharp/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).dll.config $(DESTDIR)$(monodir)/fsharp/; \
|
||||
fi; \
|
||||
if test -e $(outdir)$(NAME).xml; then \
|
||||
echo "Installing $(outdir)$(NAME).xml into $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/fsharp/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(monodir)/fsharp/; \
|
||||
fi; \
|
||||
if test -e $(outdir)$(NAME).sigdata; then \
|
||||
echo "Installing $(outdir)$(NAME).sigdata into $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/fsharp/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(monodir)/fsharp/; \
|
||||
fi; \
|
||||
if test -e $(outdir)$(NAME).optdata; then \
|
||||
echo "Installing $(outdir)$(NAME).optdata into $(DESTDIR)$(monodir)/fsharp/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/fsharp/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(monodir)/fsharp/; \
|
||||
fi; \
|
||||
fi
|
||||
@if test x-$(NAME) = x-FSharp.Core && test x-$(REFASSEMPATH) != x-; then \
|
||||
echo "Installing FSharp.Core $(VERSION) reference assembly into api location"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/fsharp/api/$(REFASSEMPATH)/$(VERSION)"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/fsharp/api/$(REFASSEMPATH)/$(VERSION); \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(monodir)/fsharp/api/$(REFASSEMPATH)/$(VERSION)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(monodir)/fsharp/api/$(REFASSEMPATH)/$(VERSION)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(monodir)/fsharp/api/$(REFASSEMPATH)/$(VERSION)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(monodir)/fsharp/api/$(REFASSEMPATH)/$(VERSION)/; \
|
||||
fi
|
||||
@if test x-$(NAME) = x-FSharp.Core && test x-$(PCLPATH) != x-; then \
|
||||
echo "Installing FSharp.Core $(VERSION) reference assembly into api location"; \
|
||||
echo " --> $(DESTDIR)$(monodir)/fsharp/$(PCLPATH)/$(VERSION)"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/fsharp/api/$(PCLPATH)/$(VERSION); \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(monodir)/fsharp/api/$(PCLPATH)/$(VERSION)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(monodir)/fsharp/api/$(PCLPATH)/$(VERSION)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(monodir)/fsharp/api/$(PCLPATH)/$(VERSION)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(monodir)/fsharp/api/$(PCLPATH)/$(VERSION)/; \
|
||||
fi
|
||||
|
||||
# Install the library binaries in the GAC directory,
|
||||
install-gac-lib:
|
||||
$(eval TARGET = "4.5")
|
||||
@echo "Installing $(ASSEMBLY)"
|
||||
@if test "x$(DELAY_SIGN)" = "x1"; then \
|
||||
echo "Signing $(outdir)$(ASSEMBLY) with Mono key"; \
|
||||
$(monobindir)/sn -q -R $(outdir)$(ASSEMBLY) $(topdir)mono/mono.snk; \
|
||||
fi
|
||||
@if test -e $(outdir)$(NAME).dll; then \
|
||||
if test x-$(NAME) = x-FSharp.Core && test x-$(PKGINSTALL) = x-yes; then \
|
||||
echo "Using gacutil to install $(outdir)$(ASSEMBLY) into GAC root $(DESTDIR)$(libdir) as package $(TARGET)"; \
|
||||
$(monobindir)/gacutil -i $(outdir)$(ASSEMBLY) -root $(DESTDIR)$(libdir) -package $(TARGET); \
|
||||
else \
|
||||
echo "Installing $(outdir)$(NAME).dll to $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).dll $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
@if test -e $(outdir)$(NAME).xml; then \
|
||||
echo "Installing $(outdir)$(NAME).xml into $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).xml $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
if test x-$(PKGINSTALL) = x-yes && test x-$(NAME) = x-FSharp.Core; then \
|
||||
echo "Using linking to ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).xml to install $(DESTDIR)$(libdir)mono/$(TARGET)/$(NAME).xml"; \
|
||||
ln -fs ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).xml $(DESTDIR)$(libdir)mono/$(TARGET)/$(NAME).xml; \
|
||||
fi; \
|
||||
fi
|
||||
@if test -e $(outdir)$(NAME).sigdata; then \
|
||||
echo "Installing $(outdir)$(NAME).sigdata into $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).sigdata $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
if test x-$(PKGINSTALL) = x-yes; then \
|
||||
echo "Using linking to ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).sigdata to install $(DESTDIR)$(libdir)mono/$(TARGET)/$(NAME).sigdata"; \
|
||||
ln -fs ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).sigdata $(DESTDIR)$(libdir)mono/$(TARGET)/$(NAME).sigdata; \
|
||||
fi; \
|
||||
fi
|
||||
@if test -e $(outdir)$(NAME).optdata; then \
|
||||
echo "Installing $(outdir)$(NAME).optdata into $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/"; \
|
||||
mkdir -p $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
$(INSTALL_LIB) $(outdir)$(NAME).optdata $(DESTDIR)$(monodir)/gac/$(NAME)/$(VERSION)__$(TOKEN)/; \
|
||||
if test x-$(PKGINSTALL) = x-yes; then \
|
||||
echo "Using linking to ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).optdata to install $(DESTDIR)$(libdir)mono/$(TARGET)/$(NAME).optdata"; \
|
||||
ln -fs ../gac/$(NAME)/$(VERSION)__$(TOKEN)/$(NAME).optdata $(DESTDIR)$(libdir)mono/$(TARGET)/$(NAME).optdata; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
|
||||
# The binaries fsc.exe and fsi.exe only get installed for Mono 4.5 profile
|
||||
# This also installs 'fsharpc' and 'fsharpi' and 'fsharpiAnyCpu'
|
||||
install-bin:
|
||||
chmod +x $(outdir)$(ASSEMBLY)
|
||||
sed -e 's,[@]DIR[@],$(monodir)/fsharp,g' -e 's,[@]TOOL[@],$(ASSEMBLY),g' -e 's,[@]MONOBINDIR[@],$(monobindir),g' < $(topdir)mono/launcher > $(outdir)$(subst fs,fsharp,$(NAME))
|
||||
chmod +x $(outdir)$(subst fs,fsharp,$(NAME))
|
||||
@mkdir -p $(DESTDIR)$(monodir)/fsharp
|
||||
@mkdir -p $(DESTDIR)$(bindir)
|
||||
$(INSTALL_BIN) $(outdir)$(ASSEMBLY) $(DESTDIR)$(monodir)/fsharp
|
||||
$(INSTALL_BIN) $(outdir)$(ASSEMBLY).config $(DESTDIR)$(monodir)/fsharp
|
||||
$(INSTALL_BIN) $(outdir)$(subst fs,fsharp,$(NAME)) $(DESTDIR)$(bindir)
|
||||
|
||||
|
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
|
@ -0,0 +1,11 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworkIdentifier>MonoAndroid</TargetFrameworkIdentifier>
|
||||
<MonoAndroidVersion>v1.0</MonoAndroidVersion>
|
||||
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v2.2</TargetFrameworkVersion>
|
||||
<AndroidLinkMode Condition="'$(AndroidLinkMode)' == ''">SdkOnly</AndroidLinkMode>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\FSharp\1.0\Microsoft.FSharp.Targets" Condition="!Exists('$(MSBuildBinPath)\Microsoft.Build.Tasks.v4.0.dll')" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft F#\v4.0\Microsoft.FSharp.Targets" Condition=" Exists('$(MSBuildBinPath)\Microsoft.Build.Tasks.v4.0.dll')" />
|
||||
<Import Project="Novell.MonoDroid.Common.targets" />
|
||||
</Project>
|
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
|
@ -0,0 +1,10 @@
|
|||
NAME=fsi
|
||||
ASSEMBLY = $(NAME).exe
|
||||
TOKEN=$(SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-bin
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
NAME=fsiAnyCpu
|
||||
ASSEMBLY = $(NAME).exe
|
||||
TOKEN=$(SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
install: install-bin
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,520 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dst_arg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writeable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
-*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test -z "$d" && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
EXEC="exec "
|
||||
|
||||
if test x"$1" = x--debug; then
|
||||
DEBUG=--debug
|
||||
shift
|
||||
fi
|
||||
|
||||
if test x"$1" = x--gdb; then
|
||||
shift
|
||||
EXEC="gdb --eval-command=run --args "
|
||||
fi
|
||||
|
||||
if test x"$1" = x--valgrind; then
|
||||
shift
|
||||
EXEC="valgrind $VALGRIND_OPTIONS"
|
||||
fi
|
||||
|
||||
# Beware this line must match the regular expression " (\/.*)\/fsi\.exe" when @TOOL@ is fsi.exe.
|
||||
# That's because the FSharp MonoDevelop addin looks inside the text of this script to determine the installation
|
||||
# location of the default FSharp install in order to find the FSharp compiler binaries (see
|
||||
# fsharpbinding/MonoDevelop.FSharpBinding/Services/CompilerLocationUtils.fs). That's a pretty unfortunate
|
||||
# way of finding those binaries. And really should be changed.
|
||||
$EXEC @MONOBINDIR@/mono $DEBUG $MONO_OPTIONS @DIR@/@TOOL@ --exename:$(basename "$0") "$@"
|
Двоичный файл не отображается.
Двоичный файл не отображается.
|
@ -0,0 +1,22 @@
|
|||
NAME=policy.2.0.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v2.0.50727">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" processorArchitecture="msil" Culture="neutral" />
|
||||
<bindingRedirect oldVersion="2.0.0.0" newVersion="2.3.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v4.0.30319">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" processorArchitecture="msil" Culture="neutral" />
|
||||
<bindingRedirect oldVersion="2.0.0.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,22 @@
|
|||
NAME=policy.2.3.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
# override the targets to build the assembly
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v2.0.50727">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" processorArchitecture="msil" Culture="neutral" />
|
||||
<bindingRedirect oldVersion="2.3.5.0" newVersion="2.3.1.0" />
|
||||
<bindingRedirect oldVersion="2.3.5.1" newVersion="2.3.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v4.0.30319">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" processorArchitecture="msil" Culture="neutral" />
|
||||
<bindingRedirect oldVersion="2.3.0.0-2.3.5.1" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.3.259.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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.259.3.1-3.259.41.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.3.3.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.3.47.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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.47.4.0-3.47.41.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.3.7.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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.7.4.0-3.7.41.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.3.78.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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.78.3.1-3.78.41.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.4.0.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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="4.0.0.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.4.3.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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="4.3.0.0-4.3.1.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,19 @@
|
|||
NAME=policy.4.4.FSharp.Core
|
||||
ASSEMBLY = $(NAME).dll
|
||||
DELAY_SIGN=1
|
||||
TOKEN=$(FSCORE_DELAY_SIGN_TOKEN)
|
||||
|
||||
include ../config.make
|
||||
|
||||
$(outdir)$(NAME).dll: $(NAME).dll.config
|
||||
@mkdir -p $(@D)
|
||||
cp $(NAME).dll.config $(@D)
|
||||
$(monobindir)/al /link:$(NAME).dll.config /out:$@ /delaysign /keyfile:$(topdir)mono/msfinal.pub
|
||||
|
||||
build:
|
||||
$(MAKE) $(outdir)$(NAME).dll
|
||||
|
||||
clean:
|
||||
-rm -f $(outdir)$(NAME).dll
|
||||
|
||||
install: install-sdk-lib install-gac-lib
|
|
@ -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="4.3.0.0-4.4.0.0" newVersion="4.4.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,83 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# OS detection
|
||||
|
||||
OSName=$(uname -s)
|
||||
case $OSName in
|
||||
Darwin)
|
||||
OS=OSX
|
||||
;;
|
||||
|
||||
Linux)
|
||||
OS=Linux
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unsupported OS '$OSName' detected. Cannot continue with build, the scripts must be updated to support this OS."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# On Linux (or at least, Ubuntu), when building with Mono, need to install the mono-devel package first.
|
||||
if [ $OS = 'Linux' ]; then
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install mono-devel
|
||||
fi
|
||||
|
||||
# Check if SSL certificates have been imported into Mono's certificate store.
|
||||
# If certs haven't been installed, some/all of the Nuget packages will fail to restore.
|
||||
#if [ $('certmgr -list -c Trust | grep -c -F "X.509"') -le 1 ]; then
|
||||
# echo "No SSL certificates installed so unable to restore NuGet packages." >&2;
|
||||
# echo "Run 'mozroots --sync --import' to install certificates to Mono's certificate store." >&2;
|
||||
# exit 1
|
||||
#fi
|
||||
|
||||
# Restore NuGet packages (needed for compiler bootstrap and tests).
|
||||
mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile .nuget/NuGet.Config
|
||||
|
||||
(if test x-$BUILD_CORECLR = x-1; then \
|
||||
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'; \
|
||||
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893; \
|
||||
sudo apt-get update; \
|
||||
sudo apt-get -y install dotnet-dev-1.0.0-preview2-003131; \
|
||||
(cd tests/fsharp; mono ../../.nuget/NuGet.exe restore project.json -PackagesDirectory ../../packages -ConfigFile ../../.nuget/NuGet.Config); \
|
||||
./init-tools.sh; \
|
||||
echo "------ start log"; \
|
||||
cat ./init-tools.log; echo "------ end log"; \
|
||||
fi)
|
||||
|
||||
(if test x-$BUILD_PROTO_WITH_CORECLR_LKG = x-1; then \
|
||||
(cd lkg/fsc && dotnet restore --packages ../packages && dotnet publish project.json -o ../Tools/lkg -r ubuntu.14.04-x64); \
|
||||
(cd lkg/fsi && dotnet restore --packages ../packages && dotnet publish project.json -o ../Tools/lkg -r ubuntu.14.04-x64); \
|
||||
fi)
|
||||
|
||||
#TODO: work out how to avoid the need for this
|
||||
echo "chmod u+x packages/FSharp.Compiler.Tools.4.1.5/tools/fsi.exe"
|
||||
echo "chmod u+x packages/FsLexYacc.7.0.4/build/fslex.exe"
|
||||
echo "chmod u+x packages/FsLexYacc.7.0.4/build/fsyacc.exe"
|
||||
chmod u+x packages/FSharp.Compiler.Tools.4.1.5/tools/fsi.exe
|
||||
chmod u+x packages/FsLexYacc.7.0.4/build/fslex.exe
|
||||
chmod u+x packages/FsLexYacc.7.0.4/build/fsyacc.exe
|
||||
|
||||
# The FSharp.Compiler.Tools package doesn't work correctly unless a proper install of F# has been done on the machine.
|
||||
# OSX can skip this because the OSX Mono installer includes F#.
|
||||
if [ $OS != 'OSX' ]; then
|
||||
sudo apt-get -y install fsharp
|
||||
fi
|
||||
|
||||
# "access to the path /etc/mono/registry/last-time is denied"
|
||||
# On non-OSX systems, may need to create Mono's registry folder to avoid exceptions during builds.
|
||||
# This doesn't seem to be necessary on OSX, as the folder is created by the installer.
|
||||
if [ $OS != 'OSX' ]; then
|
||||
# This registry folder path is correct for Linux;
|
||||
# on OSX the folder is /Library/Frameworks/Mono.framework/Versions/Current/etc/mono/registry
|
||||
# and may be different for *BSD systems.
|
||||
__MonoRegistryDir="/etc/mono/registry"
|
||||
if [ ! -d "$__MonoRegistryDir" ]; then
|
||||
echo "Mono registry directory does not exist (it may not have been created yet)."
|
||||
echo "The directory needs to be created now; superuser permissions are required for this."
|
||||
{ sudo -- sh -c "mkdir -p $__MonoRegistryDir && chmod uog+rw $__MonoRegistryDir"; } || { echo "Unable to create/chmod Mono registry directory '$__MonoRegistryDir'." >&2; }
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,9 @@
|
|||
# Run some project building tests
|
||||
# Run some a variation of the tests/fsharp suite
|
||||
# Run the FSharp.Core.Unittests suite
|
||||
|
||||
(cd tests/projects; ./build.sh) &&
|
||||
(cd tests/fsharp/core; ./run-opt.sh)
|
||||
# This currently takes too long in travis
|
||||
#&& mono packages/NUnit.Console.3.0.0/tools/nunit3-console.exe --agents=1 Release/net40/bin/FSharp.Core.Unittests.dll
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
echo "TRAVIS_OS_NAME=$TRAVIS_OS_NAME"
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ];
|
||||
then
|
||||
monoVer=$(mono --version | head -n 1 | cut -d' ' -f 5)
|
||||
prefix="/Library/Frameworks/Mono.framework/Versions/$monoVer";
|
||||
else
|
||||
prefix="/usr";
|
||||
fi
|
||||
|
||||
echo "./autogen.sh --prefix=$prefix"
|
||||
./autogen.sh --prefix=$prefix
|
|
@ -8,6 +8,13 @@
|
|||
<FSCoreVersion Condition="'$(TargetFramework)' == 'portable47'">3.47.41.0</FSCoreVersion>
|
||||
<FSCoreVersion Condition="'$(TargetFramework)' == 'portable78'">3.78.41.0</FSCoreVersion>
|
||||
<FSCoreVersion Condition="'$(TargetFramework)' == 'portable259'">3.259.41.0</FSCoreVersion>
|
||||
<FSCoreVersion Condition="'$(TargetFramework)' == 'monoandroid10+monotouch10+xamarinios10' ">3.98.41.0</FSCoreVersion>
|
||||
<FSCoreVersion Condition="'$(TargetFramework)' == 'xamarinmacmobile' ">3.99.41.0</FSCoreVersion>
|
||||
<FSCoreVersion Condition="'$(FSharpCoreBackVersion)' == '3.0' AND '$(FSCoreVersion)' == '4.4.1.0'">4.3.0.0</FSCoreVersion>
|
||||
<FSCoreVersion Condition="'$(FSharpCoreBackVersion)' == '3.1' AND '$(FSCoreVersion)' == '4.4.1.0'">4.3.1.0</FSCoreVersion>
|
||||
<FSCoreVersion Condition="'$(FSharpCoreBackVersion)' == '4.0' AND '$(FSCoreVersion)' == '4.4.1.0'">4.4.0.0</FSCoreVersion>
|
||||
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<Choose>
|
||||
|
@ -142,6 +149,30 @@
|
|||
<!-- MSbuild works out the assembly references -->
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<!-- MonoAndroid, MonoTouch, XamarinWatchOS, XamarinTVOS -->
|
||||
<PropertyGroup Condition="('$(TargetFramework)'=='monoandroid10+monotouch10+xamarinios10')">
|
||||
<!-- Although Reflection Emit is available on MonoAndroid, we don't use it for FSharp.Core -->
|
||||
<!-- because we want the FSharp.Core DLLs to be identical for MonoAndroid and MonoTouch -->
|
||||
<DefineConstants>$(DefineConstants);FX_NO_REFLECTION_EMIT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_BIGINT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_STRUCTURAL_EQUALITY</DefineConstants>
|
||||
<AssemblySearchPaths>$(FSharpSourcesRoot)\..\mono\dependencies\2.1\XamarinWatchOS;$(AssemblySearchPaths)</AssemblySearchPaths>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Target MonoAndroid -->
|
||||
<PropertyGroup Condition="'$(TargetFramework)'=='monoandroid10+monotouch10+xamarinios10'">
|
||||
<AssemblySearchPaths>$(FSharpSourcesRoot)\..\mono\dependencies\2.1\MonoAndroid;$(AssemblySearchPaths)</AssemblySearchPaths>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Target xamarinmacmobile similar to monoandroid10+monotouch10+xamarinios10 configurations, with Reflection.emit, structural equality, and BigInt -->
|
||||
<PropertyGroup Condition="'$(TargetFramework)'=='xamarinmacmobile'">
|
||||
<AssemblySearchPaths>$(FSharpSourcesRoot)\..\mono\dependencies\2.1\XamarinMac;$(AssemblySearchPaths)</AssemblySearchPaths>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)'=='coreclr'">
|
||||
<DefineConstants>$(DefineConstants);FX_PORTABLE_OR_NETSTANDARD</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);NETSTANDARD1_6</DefineConstants>
|
||||
|
@ -371,6 +402,15 @@
|
|||
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v4.5</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- If building an FSharp.Core for a back version (Mono Debian source builds only), put it in a ualified directory -->
|
||||
<PropertyGroup>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == ''">$(TargetFramework)</TargetFrameworkOutputDirectory>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '3.0'">fsharp30\$(TargetFramework)</TargetFrameworkOutputDirectory>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '3.1'">fsharp31\$(TargetFramework)</TargetFrameworkOutputDirectory>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '4.0'">fsharp40\$(TargetFramework)</TargetFrameworkOutputDirectory>
|
||||
<IntermediateOutputPath>obj\$(TargetFrameworkOutputDirectory)\</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Choose>
|
||||
<When Condition="'$(BuildWith)' == 'LKG' AND '$(BUILD_PROTO_WITH_CORECLR_LKG)' == '1'">
|
||||
<PropertyGroup >
|
||||
|
@ -397,7 +437,7 @@
|
|||
<When Condition="'$(BuildWith)' == '' AND ('$(TargetFramework)'=='portable47' OR '$(TargetFramework)'=='portable7' OR '$(TargetFramework)'=='portable78' OR '$(TargetFramework)'=='portable259' OR '$(TargetFramework)'=='coreclr')">
|
||||
<!-- Compiling portable/coreclr with Proto, currently always use a .NET Framework/Mono proto -->
|
||||
<PropertyGroup>
|
||||
<OutputPath Condition=" '$(CustomOutputPath)' != 'true' ">$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin</OutputPath>
|
||||
<OutputPath Condition=" '$(CustomOutputPath)' != 'true' ">$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFrameworkOutputDirectory)\bin</OutputPath>
|
||||
<FscToolPath>$(FSharpSourcesRoot)\..\Proto\$(ProtoFlavour)\bin</FscToolPath>
|
||||
<FscToolExe>fsc-proto.exe</FscToolExe>
|
||||
<FSharpTargetsPath>..\Proto\$(ProtoFlavour)\bin\Microsoft.Portable.FSharp-proto.targets</FSharpTargetsPath>
|
||||
|
@ -406,7 +446,7 @@
|
|||
<Otherwise>
|
||||
<!-- Compiling net40 with Proto -->
|
||||
<PropertyGroup>
|
||||
<OutputPath Condition=" '$(CustomOutputPath)' != 'true' ">$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFramework)\bin</OutputPath>
|
||||
<OutputPath Condition=" '$(CustomOutputPath)' != 'true' ">$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFrameworkOutputDirectory)\bin</OutputPath>
|
||||
<FscToolPath>$(FSharpSourcesRoot)\..\Proto\$(ProtoFlavour)\bin</FscToolPath>
|
||||
<FscToolExe>fsc-proto.exe</FscToolExe>
|
||||
<FSharpTargetsPath>..\Proto\$(ProtoFlavour)\bin\Microsoft.FSharp-proto.targets</FSharpTargetsPath>
|
||||
|
|
|
@ -532,7 +532,7 @@
|
|||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<Reference Include="Microsoft.DiaSymReader.PortablePdb">
|
||||
<HintPath>..\..\..\packages\Microsoft.DiaSymReader.PortablePdb.1.2.0\lib\portable-net45+win8\Microsoft.DiaSymReader.PortablePdb.dll</HintPath>
|
||||
<HintPath>..\..\..\packages\Microsoft.DiaSymReader.PortablePdb.1.1.0\lib\portable-net45+win8\Microsoft.DiaSymReader.PortablePdb.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.DiaSymReader">
|
||||
<HintPath>..\..\..\packages\Microsoft.DiaSymReader.1.1.0\lib\portable-net45+win8\Microsoft.DiaSymReader.dll</HintPath>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="2.0.0.0-4.4.1.0" newVersion="FSCoreVersion"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="2.0.0.0-4.4.1.0" newVersion="FSCoreVersion"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -235,26 +235,18 @@
|
|||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Numerics" Condition="'$(TargetFramework)' == 'net40' OR
|
||||
'$(TargetFramework)' == 'monotouch' OR
|
||||
'$(TargetFramework)' == 'xamarinwatchos' OR
|
||||
'$(TargetFramework)' == 'xamarintvos' OR
|
||||
'$(TargetFramework)' == 'monodroid' OR
|
||||
'$(TargetFramework)' == 'xamarinmacmobile' OR
|
||||
'$(TargetFramework)' == 'xamarinmacfull'" >
|
||||
'$(TargetFramework)' == 'monoandroid10+monotouch10+xamarinios10' OR
|
||||
'$(TargetFramework)' == 'xamarinmacmobile'" >
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net" Condition="'$(TargetFramework)' == 'portable47' OR
|
||||
'$(TargetFramework)' == 'portable7'" >
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Core" Condition="'$(TargetFramework)' == 'monotouch' OR
|
||||
'$(TargetFramework)' == 'xamarinwatchos' OR
|
||||
'$(TargetFramework)' == 'xamarintvos' OR
|
||||
'$(TargetFramework)' == 'monodroid' OR
|
||||
<Reference Include="System.Core" Condition="'$(TargetFramework)' == 'monoandroid10+monotouch10+xamarinios10' OR
|
||||
'$(TargetFramework)' == 'portable47' OR
|
||||
'$(TargetFramework)' == 'portable7' OR
|
||||
'$(TargetFramework)' == 'xamarinmacmobile' OR
|
||||
'$(TargetFramework)' == 'xamarinmacfull'" >
|
||||
'$(TargetFramework)' == 'xamarinmacmobile'" >
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
|
|
@ -5,13 +5,8 @@
|
|||
<gcServer 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-4.4.1.0"
|
||||
newVersion="4.4.1.0"/>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="2.0.0.0-4.4.1.0" newVersion="4.4.1.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
|
|
@ -4,13 +4,8 @@
|
|||
<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-4.4.1.0"
|
||||
newVersion="4.4.1.0"/>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="2.0.0.0-4.4.1.0" newVersion="4.4.1.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
|
|
@ -5,13 +5,8 @@
|
|||
<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-4.4.1.0"
|
||||
newVersion="4.4.1.0"/>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="2.0.0.0-4.4.1.0" newVersion="4.4.1.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
|
Загрузка…
Ссылка в новой задаче