diff --git a/.gitmodules b/.gitmodules
index b21152f4ac3..755d45969d4 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,7 +5,7 @@
[submodule "external/mono"]
path = external/mono
url = https://github.com/mono/mono.git
- branch = 2017-04
+ branch = 2017-06
[submodule "external/mxe"]
path = external/mxe
url = https://github.com/xamarin/mxe.git
@@ -39,4 +39,4 @@
[submodule "xamarin-android-api-compatibility"]
path = external/xamarin-android-api-compatibility
url = https://github.com/xamarin/xamarin-android-api-compatibility.git
- branch = d15-4
+ branch = master
diff --git a/Configuration.props b/Configuration.props
index ef23fd5df98..97a03949f09 100644
--- a/Configuration.props
+++ b/Configuration.props
@@ -53,8 +53,8 @@
$(MSBuildThisFileDirectory)external\Java.Interop
$(MSBuildThisFileDirectory)external\llvm
$(MSBuildThisFileDirectory)external\mono
- 5.2.0
- $(MonoRequiredMinimumVersion).114
+ 5.4.0
+ $(MonoRequiredMinimumVersion).147
$(MSBuildThisFileDirectory)external\linker
$(MSBuildThisFileDirectory)external\opentk
$(MSBuildThisFileDirectory)external\libzip
diff --git a/build-tools/dependencies/dependencies.projitems b/build-tools/dependencies/dependencies.projitems
index b59fb788231..12566b9f53b 100644
--- a/build-tools/dependencies/dependencies.projitems
+++ b/build-tools/dependencies/dependencies.projitems
@@ -1,7 +1,7 @@
- <_DarwinMonoFramework>MonoFramework-MDK-5.2.0.114.macos10.xamarin.universal.pkg
+ <_DarwinMonoFramework>MonoFramework-MDK-5.4.0.147.macos10.xamarin.universal.pkg
<_AptGetInstall>apt-get -f -u install
@@ -58,7 +58,7 @@
$(MonoRequiredMinimumVersion)
$(MonoRequiredDarwinMinimumVersion)
$(MSBuildThisFileDirectory)..\scripts\mono-version
- https://bosstoragemirror.blob.core.windows.net/wrench/mono-2017-04/8a/8a4958ae3861143b55981cef3843c328462041f8/$(_DarwinMonoFramework)
+ https://bosstoragemirror.blob.core.windows.net/wrench/mono-2017-06/28/28a417c2c0d1a2d1231d8b0a5beea3201208b57d/$(_DarwinMonoFramework)
installer -pkg "$(AndroidToolchainCacheDirectory)\$(_DarwinMonoFramework)" -target /
diff --git a/external/linker b/external/linker
index 07b07ef75fa..9fc2a24b5fc 160000
--- a/external/linker
+++ b/external/linker
@@ -1 +1 @@
-Subproject commit 07b07ef75fa1858253af45af6fe30812a5a1655c
+Subproject commit 9fc2a24b5fc389a3bc3bde85efa1e39b43f1fce0
diff --git a/external/llvm b/external/llvm
index dbb6fdffdeb..21492ec92e2 160000
--- a/external/llvm
+++ b/external/llvm
@@ -1 +1 @@
-Subproject commit dbb6fdffdeb780d11851a6be77c209bd7ada4bd3
+Subproject commit 21492ec92e255a43bc6b687468f1eb18a635d94e
diff --git a/external/mono b/external/mono
index 63e8c46ab0f..cb6a2fc7ff0 160000
--- a/external/mono
+++ b/external/mono
@@ -1 +1 @@
-Subproject commit 63e8c46ab0fb0d1744a8f7a855e756c1d69fcf02
+Subproject commit cb6a2fc7ff00b7b8b5f41f08b7a1d60f3cf8d2e6
diff --git a/external/xamarin-android-api-compatibility b/external/xamarin-android-api-compatibility
index 64714d845d3..b26743f1624 160000
--- a/external/xamarin-android-api-compatibility
+++ b/external/xamarin-android-api-compatibility
@@ -1 +1 @@
-Subproject commit 64714d845d3b5dd256b7feb0c0ff1d65f49e652c
+Subproject commit b26743f16240ae3cdab4d40ce8826c0d4cdfff3f