diff --git a/.gitmodules b/.gitmodules
index e68f7e698393..df7f39cd320e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,7 +1,3 @@
-[submodule "external/fsharp"]
- path = external/fsharp
- url = ../../fsharp/fsharp.git
- branch = master
[submodule "external/guiunit"]
path = external/guiunit
url = ../../mono/guiunit.git
diff --git a/Make.config b/Make.config
index d506fd079911..3557857877e7 100644
--- a/Make.config
+++ b/Make.config
@@ -230,8 +230,6 @@ DEVICETV_OBJC_CFLAGS = $(DEVICETV_CFLAGS) $(DEVICE_OBJC_CFLAGS)
# paths to the modules we depend on, as variables, so people can put
# things in other places if they absolutely must.
MONO_PATH=$(TOP)/external/mono
-WATCH_MONO_PATH=$(TOP)/external/mono
-FSHARP_PATH=$(TOP)/external/fsharp
TOUCH_UNIT_PATH=$(TOP)/external/Touch.Unit
NUNITLITE_PATH=$(TOP)/external/mono/external/nunit-lite
OPENTK_PATH=$(TOP)/external/opentk
diff --git a/Makefile b/Makefile
index b3dd84855443..6b4565b51e03 100644
--- a/Makefile
+++ b/Makefile
@@ -97,7 +97,7 @@ $(MAC_DESTDIR)$(MAC_FRAMEWORK_DIR)/Commands:
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/buildinfo: Make.config.inc .git/index | $(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)
$(Q_GEN) echo "Version: $(MAC_PACKAGE_VERSION)" > $@
$(Q) echo "Hash: $(shell git log --oneline -1 --pretty=%h)" >> $@
- $(Q) echo "Branch: $(shell git symbolic-ref --short HEAD)" >> $@
+ $(Q) echo "Branch: $(CURRENT_BRANCH)" >> $@
$(Q) echo "Build date: $(shell date '+%Y-%m-%d %H:%M:%S%z')" >> $@
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/updateinfo: Make.config.inc
diff --git a/Xamarin.Mac.sln b/Xamarin.Mac.sln
index 9ee932978c73..127328a640ea 100644
--- a/Xamarin.Mac.sln
+++ b/Xamarin.Mac.sln
@@ -25,6 +25,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator", "src\generator.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator-tests", "tests\generator\generator-tests.csproj", "{10790816-D00E-40A0-8653-2A8AB4DD33A9}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "link sdk-mac", "tests\linker\mac\link sdk\link sdk-mac.csproj", "{F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "link all-mac", "tests\linker\mac\link all\link all-mac.csproj", "{4C943B12-C5AF-4CD4-B583-B4011D13CAAB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dont link-mac-unified", "tests\linker\mac\dont link\dont link-mac-unified.csproj", "{78831857-A261-8EE0-A5F6-33D2628DE5D0}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -351,6 +357,90 @@ Global
{10790816-D00E-40A0-8653-2A8AB4DD33A9}.winphone_Debug|Any CPU.Build.0 = Debug|Any CPU
{10790816-D00E-40A0-8653-2A8AB4DD33A9}.winphone_Release|Any CPU.ActiveCfg = Debug|Any CPU
{10790816-D00E-40A0-8653-2A8AB4DD33A9}.winphone_Release|Any CPU.Build.0 = Debug|Any CPU
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Debug|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Release|Any CPU.ActiveCfg = Release|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Release|Any CPU.Build.0 = Release|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Debug|x86.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Debug|x86.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Release|x86.ActiveCfg = Release|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.Release|x86.Build.0 = Release|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_2_0_Debug|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_2_0_Debug|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_2_0_Release|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_2_0_Release|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_3_5_Debug|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_3_5_Debug|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_3_5_Release|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_3_5_Release|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_4_0_Debug|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_4_0_Debug|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_4_0_Release|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.net_4_0_Release|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.silverlight_Debug|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.silverlight_Debug|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.silverlight_Release|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.silverlight_Release|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.winphone_Debug|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.winphone_Debug|Any CPU.Build.0 = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.winphone_Release|Any CPU.ActiveCfg = Debug|x86
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579}.winphone_Release|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Debug|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Release|Any CPU.ActiveCfg = Release|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Release|Any CPU.Build.0 = Release|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Debug|x86.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Debug|x86.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Release|x86.ActiveCfg = Release|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.Release|x86.Build.0 = Release|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_2_0_Debug|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_2_0_Debug|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_2_0_Release|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_2_0_Release|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_3_5_Debug|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_3_5_Debug|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_3_5_Release|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_3_5_Release|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_4_0_Debug|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_4_0_Debug|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_4_0_Release|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.net_4_0_Release|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.silverlight_Debug|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.silverlight_Debug|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.silverlight_Release|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.silverlight_Release|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.winphone_Debug|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.winphone_Debug|Any CPU.Build.0 = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.winphone_Release|Any CPU.ActiveCfg = Debug|x86
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB}.winphone_Release|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Debug|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Release|Any CPU.ActiveCfg = Release|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Release|Any CPU.Build.0 = Release|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Debug|x86.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Debug|x86.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Release|x86.ActiveCfg = Release|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.Release|x86.Build.0 = Release|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_2_0_Debug|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_2_0_Debug|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_2_0_Release|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_2_0_Release|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_3_5_Debug|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_3_5_Debug|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_3_5_Release|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_3_5_Release|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_4_0_Debug|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_4_0_Debug|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_4_0_Release|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.net_4_0_Release|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.silverlight_Debug|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.silverlight_Debug|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.silverlight_Release|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.silverlight_Release|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.winphone_Debug|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.winphone_Debug|Any CPU.Build.0 = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.winphone_Release|Any CPU.ActiveCfg = Debug|x86
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0}.winphone_Release|Any CPU.Build.0 = Debug|x86
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = tools\mmp\mmp.csproj
@@ -385,5 +475,8 @@ Global
{D12F0F7B-8DE3-43EC-BA49-41052D065A9B} = {542D4426-F287-4126-9889-E17628DAECEA}
{EA3E6B50-AE2B-4A63-BBFC-9888B93331CA} = {542D4426-F287-4126-9889-E17628DAECEA}
{10790816-D00E-40A0-8653-2A8AB4DD33A9} = {542D4426-F287-4126-9889-E17628DAECEA}
+ {F5FF0F5E-0C30-4719-A2B1-5DAE33D1E579} = {542D4426-F287-4126-9889-E17628DAECEA}
+ {4C943B12-C5AF-4CD4-B583-B4011D13CAAB} = {542D4426-F287-4126-9889-E17628DAECEA}
+ {78831857-A261-8EE0-A5F6-33D2628DE5D0} = {542D4426-F287-4126-9889-E17628DAECEA}
EndGlobalSection
EndGlobal
diff --git a/builds/Makefile b/builds/Makefile
index 7e6d01fefd0a..85cdb1edbfac 100644
--- a/builds/Makefile
+++ b/builds/Makefile
@@ -91,9 +91,11 @@ CCACHE_CXXFLAGS=-Qunused-arguments
#
SDK_CONFIG=$(MONO_PATH)/sdks/Make.config
SDK_ARGS=XCODE_DIR=$(XCODE_DEVELOPER_ROOT) IOS_VERSION=$(IOS_SDK_VERSION) IOS_VERSION_MIN=$(MIN_IOS_SDK_VERSION) TVOS_VERSION=$(TVOS_SDK_VERSION) TVOS_VERSION_MIN=$(MIN_TVOS_SDK_VERSION) WATCHOS_VERSION=$(WATCH_SDK_VERSION) WATCHOS_VERSION_MIN=$(MIN_WATCHOS_SDK_VERSION) IGNORE_PROVISION_LLVM=1
+SDK32_ARGS=XCODE_DIR=$(XCODE94_DEVELOPER_ROOT) IOS_VERSION=$(IOS_SDK_VERSION) IOS_VERSION_MIN=$(MIN_IOS_SDK_VERSION) TVOS_VERSION=$(TVOS_SDK_VERSION) TVOS_VERSION_MIN=$(MIN_TVOS_SDK_VERSION) WATCHOS_VERSION=$(WATCH_SDK_VERSION) WATCHOS_VERSION_MIN=$(MIN_WATCHOS_SDK_VERSION) IGNORE_PROVISION_LLVM=1
ifdef DISABLE_DOWNLOAD_LLVM
SDK_ARGS += DISABLE_DOWNLOAD_LLVM=1
+SDK32_ARGS += DISABLE_DOWNLOAD_LLVM=1
endif
SDK_BUILDDIR = $(MONO_PATH)/sdks/builds
@@ -388,11 +390,6 @@ endif
$(MONO_PATH)/configure: $(MONO_PATH)/configure.ac $(BUILDS_MAKEFILE_DEP)
$(Q) ./wrap-autogen.sh $(MONO_PATH) mono $(XAMARIN_AUTOGEN_FLAGS)
-ifneq ($(WATCH_MONO_PATH),$(MONO_PATH))
-$(WATCH_MONO_PATH)/configure: $(WATCH_MONO_PATH)/configure.ac $(BUILDS_MAKEFILE_DEP)
- $(Q) ./wrap-autogen.sh $(WATCH_MONO_PATH) mono
-endif
-
configure-mono:
rm -f $(MONO_PATH)/configure
$(MAKE) $(MONO_PATH)/configure
@@ -420,6 +417,7 @@ TOOLS64_LDFLAGS=-arch x86_64 -mmacosx-version-min=$(MIN_OSX_SDK_VERSION) $(COMMO
TOOLS64_CONFIGURE_FLAGS= --build=x86_64-apple-darwin10 \
--with-monotouch_tv=yes \
+ --with-monotouch_watch=yes \
--prefix=$(BUILD_DESTDIR)/tools64 \
--enable-maintainer-mode \
--cache-file=../tools64.config.cache \
@@ -434,12 +432,6 @@ TOOLS64_CONFIGURE_FLAGS= --build=x86_64-apple-darwin10 \
--disable-boehm \
$(XAMARIN_IOS_CONFIGURE_FLAGS) \
-ifeq ($(WATCH_MONO_PATH),$(MONO_PATH))
-TOOLS64_CONFIGURE_FLAGS += --with-monotouch_watch=yes
-else
-TOOLS64_CONFIGURE_FLAGS += --with-monotouch_watch=no
-endif
-
TOOLS64_ACVARS = $(COMMON_ACVARS)
TOOLS64_CONFIGURE_ENVIRONMENT = \
@@ -493,79 +485,6 @@ install-local:: install-tools-tvos
install-tools:: install-tools-tvos
endif
-#
-# Xamarin.WatchOS BCL assemblies
-#
-# We need to build the WatchOS BCL using the same mono checkout as we're using for the
-# corresponding Mono runtimes, which means we can't use the normal tools64 build
-#
-# Also we can't reuse the existing watchsimulator/targetwatch builds, since their
-# monos don't run (correctly) on desktop OSX.
-#
-# So we build an entire Mono just to build the WatchOS BCL.
-#
-
-WATCHBCL_CFLAGS=-arch x86_64 -mmacosx-version-min=$(MIN_OSX_SDK_VERSION)
-WATCHBCL_CXXFLAGS=-arch x86_64 -mmacosx-version-min=$(MIN_OSX_SDK_VERSION)
-WATCHBCL_LDFLAGS=-arch x86_64 -mmacosx-version-min=$(MIN_OSX_SDK_VERSION) $(COMMON_LDFLAGS)
-WATCHBCL_ACVARS = $(COMMON_ACVARS)
-
-
-WATCHBCL_CONFIGURE_FLAGS= --build=x86_64-apple-darwin10 \
- --prefix=$(BUILD_DESTDIR)/watchbcl \
- --enable-maintainer-mode \
- --cache-file=../watchbcl.config.cache \
- --with-glib=embedded \
- --enable-minimal=com \
- --with-profile4_x=no \
- --with-monotouch=no \
- --with-monotouch_watch=yes \
- --with-monotouch_tv=no \
- --with-xammac=no \
- --with-mcs-docs=no \
- --disable-nls \
- --disable-iconv \
- --disable-boehm \
- $(XAMARIN_IOS_CONFIGURE_FLAGS)
-
-WATCHBCL_CONFIGURE_ENVIRONMENT = \
- $(WATCHBCL_ACVARS) \
- CFLAGS="$(WATCHBCL_CFLAGS)" \
- CXXFLAGS="$(WATCHBCL_CXXFLAGS)" \
- LDFLAGS="$(WATCHBCL_LDFLAGS)" \
- CC="$(MAC_CC)" \
- CXX="$(MAC_CXX)" \
-
-ifdef INCLUDE_WATCH
-setup:: setup-watchbcl
-build:: build-watchbcl
-clean-local:: clean-watchbcl
-endif
-
-watchbcl: build-watchbcl install-tools-watch
-
-setup-watchbcl: .stamp-configure-watchbcl
-
-ifneq ($(WATCH_MONO_PATH),$(MONO_PATH))
-.stamp-configure-watchbcl: $(WATCH_MONO_PATH)/configure
- $(Q) $(WATCHBCL_CONFIGURE_ENVIRONMENT) ./wrap-configure.sh watchbcl ../$(WATCH_MONO_PATH)/configure $(WATCHBCL_CONFIGURE_FLAGS)
-endif
-
-build-tools-bcl: build-watchbcl
-build-tools: build-watchbcl
-
-ifeq ($(WATCH_MONO_PATH),$(MONO_PATH))
-.stamp-build-watchbcl: .stamp-build-tools64 $(MONO_DEPENDENCIES)
-else
-.stamp-build-watchbcl: .stamp-configure-watchbcl .stamp-build-tools64 $(MONO_DEPENDENCIES)
- $(MAKE) -C watchbcl all EXTERNAL_MCS=$(SYSTEM_CSC) EXTERNAL_RUNTIME=$(SYSTEM_MONO)
- $(MAKE) -C watchbcl install EXTERNAL_MCS=$(SYSTEM_CSC) EXTERNAL_RUNTIME=$(SYSTEM_MONO)
-endif
- $(Q) touch $@
-
-clean-watchbcl:
- rm -rf watchbcl .stamp-*-watchbcl watchbcl.config.cache
-
#
# Xamarin.iOS/WatchOS/TVOS BCL assemblies
#
@@ -587,7 +506,6 @@ IOS_REPL_ASSEMBLIES = mscorlib System System.Core System.Xml Mono.CSharp
IOS_FACADE_ASSEMBLIES = $(monotouch_PARALLEL_SUBDIRS) $(monotouch_SUBDIRS)
-# TVOS/WATCHOS BCL is built from a different mono branch and the assembly list might differ across time
TVOS_ASSEMBLIES = $(IOS_ASSEMBLIES)
WATCHOS_ASSEMBLIES = $(filter-out Mono.Security Mono.Data.Tds,$(IOS_ASSEMBLIES))
TVOS_FACADE_ASSEMBLIES = $(IOS_FACADE_ASSEMBLIES)
@@ -608,8 +526,8 @@ watch-facade-check: $(WATCH_BCL_TARGETS)
disabled-watch-facade-check: $(WATCH_BCL_TARGETS)
$(Q) rm -f .$@*
$(Q) echo $(WATCHOS_FACADE_ASSEMBLIES) | tr ' ' '\n' | sort > .$@1
- $(Q) ls -1 $(WATCH_MONO_PATH)/mcs/class/lib/monotouch_watch/Facades | grep dll$$ | sed 's/[.]dll//' | sort > .$@2
- $(Q) if ! diff -u .$@1 .$@2; then echo "\n*** There are Facade assemblies in "$(WATCH_MONO_PATH)/mcs/class/lib/monotouch_watch/Facades" not defined in "$(FACADE_SUBDIRS_MK)" ***\n"; exit 1; fi
+ $(Q) ls -1 $(MONO_PATH)/mcs/class/lib/monotouch_watch/Facades | grep dll$$ | sed 's/[.]dll//' | sort > .$@2
+ $(Q) if ! diff -u .$@1 .$@2; then echo "\n*** There are Facade assemblies in "$(MONO_PATH)/mcs/class/lib/monotouch_watch/Facades" not defined in "$(FACADE_SUBDIRS_MK)" ***\n"; exit 1; fi
$(Q) rm -f .$@*
tvos-facade-check: $(TVOS_BCL_TARGETS)
@@ -806,13 +724,10 @@ $(2):: build-$(2)
build:: build-$(2)
clean-local:: clean-$(2)
-# config/eglib-config.h is needed by the builds in runtime/
.stamp-build-$(2): $(MONO_PATH)/configure $(MONO_DEPENDENCIES) $(BUILD_DESTDIR)/$(2)
$(MAKE) -C $(SDK_BUILDDIR) package-ios-$(3) $(SDK_ARGS)
$(Q) cp -r $(SDK_DESTDIR)/ios-$(4)/lib $(BUILD_DESTDIR)/$(2)
$(Q) cp -r $(SDK_DESTDIR)/ios-$(4)/include $(BUILD_DESTDIR)/$(2)
- cp $(SDK_BUILDDIR)/ios-$(4)/config.h $(BUILD_DESTDIR)/$(2)/include/mono-2.0
- cp $(SDK_BUILDDIR)/ios-$(4)/mono/eglib/eglib-config.h $(BUILD_DESTDIR)/$(2)/include/mono-2.0
$(Q) touch $$@
build-$(2): .stamp-build-$(2)
@@ -919,8 +834,6 @@ endif
$(Q) mkdir -p $(BUILD_DESTDIR)/watchsimulator
$(Q) cp -r $(SDK_DESTDIR)/ios-simwatch-release/lib $(BUILD_DESTDIR)/watchsimulator
$(Q) cp -r $(SDK_DESTDIR)/ios-simwatch-release/include $(BUILD_DESTDIR)/watchsimulator
- cp $(SDK_BUILDDIR)/ios-simwatch-release/config.h $(BUILD_DESTDIR)/watchsimulator/include/mono-2.0
- cp $(SDK_BUILDDIR)/ios-simwatch-release/mono/eglib/eglib-config.h $(BUILD_DESTDIR)/watchsimulator/include/mono-2.0
$(Q) touch $@
build-watchsimulator: .stamp-build-watchsimulator
@@ -1000,8 +913,6 @@ endif
$(Q) mkdir -p $(BUILD_DESTDIR)/tvsimulator
$(Q) cp -r $(SDK_DESTDIR)/ios-simtv-release/lib $(BUILD_DESTDIR)/tvsimulator
$(Q) cp -r $(SDK_DESTDIR)/ios-simtv-release/include $(BUILD_DESTDIR)/tvsimulator
- cp $(SDK_BUILDDIR)/ios-simtv-release/config.h $(BUILD_DESTDIR)/tvsimulator/include/mono-2.0
- cp $(SDK_BUILDDIR)/ios-simtv-release/mono/eglib/eglib-config.h $(BUILD_DESTDIR)/tvsimulator/include/mono-2.0
$(Q) touch $@
build-tvsimulator: .stamp-build-tvsimulator
@@ -1092,8 +1003,6 @@ clean-local:: clean-$(2)
$(MAKE) -C $(SDK_BUILDDIR) package-ios-$(3) $(SDK_ARGS)
$(Q) mkdir -p $(BUILD_DESTDIR)/$(2)
$(Q) cp -r $(SDK_DESTDIR)/ios-$(3)-release/* $(BUILD_DESTDIR)/$(2)
- $(Q) cp -r $(SDK_BUILDDIR)/ios-$(3)-release/config.h $(BUILD_DESTDIR)/$(2)/include/mono-2.0
- $(Q) cp -r $(SDK_BUILDDIR)/ios-$(3)-release/mono/eglib/eglib-config.h $(BUILD_DESTDIR)/$(2)/include/mono-2.0
$(Q) touch $$@
build-$(2): .stamp-build-$(2)
@@ -1268,8 +1177,6 @@ watchos:: targetwatch
$(MAKE) -C $(SDK_BUILDDIR) package-ios-targetwatch $(SDK_ARGS)
$(Q) mkdir -p $(BUILD_DESTDIR)/targetwatch
$(Q) cp -r $(SDK_DESTDIR)/ios-targetwatch-release/* $(BUILD_DESTDIR)/targetwatch
- $(Q) cp -r $(SDK_BUILDDIR)/ios-targetwatch-release/config.h $(BUILD_DESTDIR)/targetwatch/include/mono-2.0
- $(Q) cp -r $(SDK_BUILDDIR)/ios-targetwatch-release/mono/eglib/eglib-config.h $(BUILD_DESTDIR)/targetwatch/include/mono-2.0
$(Q) touch $@
build-targetwatch: .stamp-build-targetwatch
@@ -1381,8 +1288,6 @@ tvos:: targettv
$(MAKE) -C $(SDK_BUILDDIR) package-ios-targettv $(SDK_ARGS)
$(Q) mkdir -p $(BUILD_DESTDIR)/targettv
$(Q) cp -r $(SDK_DESTDIR)/ios-targettv-release/* $(BUILD_DESTDIR)/targettv
- $(Q) cp -r $(SDK_BUILDDIR)/ios-targettv-release/config.h $(BUILD_DESTDIR)/targettv/include/mono-2.0
- $(Q) cp -r $(SDK_BUILDDIR)/ios-targettv-release/mono/eglib/eglib-config.h $(BUILD_DESTDIR)/targettv/include/mono-2.0
$(Q) touch $@
build-targettv: .stamp-build-targettv
@@ -1498,11 +1403,15 @@ ifdef INCLUDE_DEVICE
clean-local:: clean-llvm
endif
-build-llvm32: .stamp-build-llvm
-build-llvm64: .stamp-build-llvm
+build-llvm32: .stamp-build-llvm .stamp-build-llvm32
+build-llvm64: .stamp-build-llvm .stamp-build-llvm32
.stamp-build-llvm: $(SDK_CONFIG)
- $(MAKE) -C $(SDK_BUILDDIR) provision-llvm36-llvm32 provision-llvm-llvm64 $(SDK_ARGS)
+ $(MAKE) -C $(SDK_BUILDDIR) provision-llvm-llvm64 $(SDK_ARGS)
+ $(Q) touch $@
+
+.stamp-build-llvm32: $(SDK_CONFIG)
+ $(MAKE) -C $(SDK_BUILDDIR) provision-llvm36-llvm32 $(SDK32_ARGS)
$(Q) touch $@
clean-llvm: $(SDK_CONFIG)
@@ -1531,8 +1440,8 @@ $(PREFIX)/LLVM/bin:
$(PREFIX)/LLVM36/bin:
$(Q) mkdir -p $@
-install-llvm32:.stamp-build-llvm $(LLVM_TARGETS)
-install-llvm64: .stamp-build-llvm $(LLVM_TARGETS)
+install-llvm32:.stamp-build-llvm .stamp-build-llvm32 $(LLVM_TARGETS)
+install-llvm64: .stamp-build-llvm .stamp-build-llvm32 $(LLVM_TARGETS)
llvm: build-llvm64 install-llvm
llvm64: install-llvm64
@@ -1540,11 +1449,6 @@ llvm64: install-llvm64
$(MONO_PATH)/tools/offsets-tool/MonoAotOffsetsDumper.exe: $(MONO_PATH)/configure $(wildcard $(MONO_PATH)/tools/offsets-tool/*.cs)
$(Q) $(MAKE) -C $(dir $@) MonoAotOffsetsDumper.exe
-ifneq ($(WATCH_MONO_PATH),$(MONO_PATH))
-$(WATCH_MONO_PATH)/tools/offsets-tool/MonoAotOffsetsDumper.exe: $(wildcard $(WATCH_MONO_PATH)/tools/offsets-tool/*.cs)
- $(Q) $(MAKE) -C $(dir $@) MonoAotOffsetsDumper.exe
-endif
-
targetwatch/mono/arch/arm/arm_dpimacros.h: .stamp-configure-targetwatch
$(Q) $(MAKE) -C $(dir $@) $(notdir $@)
@@ -1574,7 +1478,7 @@ build:: build-$(1)
install-local:: install-$(1)
clean-local:: clean-$(1)
-.stamp-build-$(1): .stamp-build-llvm $(MONO_PATH)/configure $(MONO_PATH)/tools/offsets-tool/MonoAotOffsetsDumper.exe $(MONO_DEPENDENCIES) $(SDK_CONFIG)
+.stamp-build-$(1): .stamp-build-llvm .stamp-build-llvm32 $(MONO_PATH)/configure $(MONO_PATH)/tools/offsets-tool/MonoAotOffsetsDumper.exe $(MONO_DEPENDENCIES) $(SDK_CONFIG)
$(MAKE) -C $(SDK_BUILDDIR) package-ios-$(1) $(SDK_ARGS) $(if $(5), XCODE_DIR=$(5))
$(Q) touch $$@
diff --git a/docs/website/mtouch-errors.md b/docs/website/mtouch-errors.md
index 7be3a24de17b..58e6da56748e 100644
--- a/docs/website/mtouch-errors.md
+++ b/docs/website/mtouch-errors.md
@@ -915,7 +915,9 @@ Alternatively, enable the managed [linker](https://docs.microsoft.com/en-us/xama
As a last-straw solution, use an older version of Xamarin.iOS that does not require these new SDKs to be present during the build process.
-### MT0136: Cannot find the assembly {assembly} referenced from {assembly}.
+
+
+### MT0136: Cannot find the assembly {assembly} referenced from {assembly}.
This warning occurs when an assembly passed to mtouch contains a reference to
another assembly that can't be found.
@@ -923,7 +925,9 @@ another assembly that can't be found.
mtouch may in certain cases still find references at a later point, which
means that if the build otherwise succeeds, this warning can be ignored.
-### MT0137: Cannot find the assembly {assembly}, referenced by an attribute in {assembly}.
+
+
+### MT0137: Cannot find the assembly {assembly}, referenced by an attribute in {assembly}.
This warning occurs when an attribute contains a reference to another assembly
that can't be found.
@@ -933,6 +937,14 @@ means that if the build otherwise succeeds, this warning can be ignored.
+
+
+### MT0140: File '{framework_filename}' is not a valid framework.
+
+This error occurs when `mtouch` reads a binary in a `.framework` directory that is not a valid executable.
+
+It might be a broken file or a broken symlink (after decompressing an archive) to a valid file. The native framework should be removed and replaced with a valid one.
+
# MT1xxx: Project related error messages
### MT10xx: Installer / mtouch
@@ -3116,6 +3128,25 @@ Where * can be:
*MSBuild task: PropertyListEditorTaskBase*
+
+
+### MT7068: Error loading '*': *
+
+*MSBuild task: IntentDefinitionCodegenTaskBase*
+*MSBuild task: IntentDefinitionCompilerTaskBase*
+
+
+
+### MT7069: Unknown response parameter: *
+
+*MSBuild task: IntentDefinitionCodegenTaskBase*
+
+
+
+### MT7070: All Intents must have a Title
+
+*MSBuild task: IntentDefinitionCompilerTaskBase*
+
## MT8xxx: Runtime error messages