diff --git a/.gitmodules b/.gitmodules
index 4cf40ed9e7c..0c3ab256194 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,7 +5,7 @@
[submodule "external/mono"]
path = external/mono
url = https://github.com/mono/mono.git
- branch = mono-4.6.0-branch
+ branch = mono-4.8.0-branch
[submodule "external/mxe"]
path = external/mxe
url = https://github.com/xamarin/mxe.git
diff --git a/Configuration.props b/Configuration.props
index 33af16b4516..fdb4230dc3c 100644
--- a/Configuration.props
+++ b/Configuration.props
@@ -25,7 +25,8 @@
true
-j$(HostCpuCount)
mono
- 4
+ --debug=casts
+ 5
$(MSBuildThisFileDirectory)bin\$(Configuration)\lib\xbuild-frameworks
$(HOMEDRIVE)$(HOMEPATH)
24
diff --git a/README.md b/README.md
index 46292f4bb4e..af1fe2151d3 100644
--- a/README.md
+++ b/README.md
@@ -97,8 +97,8 @@ Overridable MSBuild properties include:
* `$(MonoSgenBridgeVersion)`: The Mono SGEN Bridge version to support.
Valid values include:
- * `4`: Mono 4.6 support. This is the default.
- * `5`: Mono 4.8 support.
+ * `4`: Mono 4.6 support.
+ * `5`: Mono 4.8 support. This is the default.
# Build Requirements
diff --git a/build-tools/libzip/libzip.mdproj b/build-tools/libzip/libzip.mdproj
index e67b1c06abb..a3c705e52d2 100644
--- a/build-tools/libzip/libzip.mdproj
+++ b/build-tools/libzip/libzip.mdproj
@@ -13,7 +13,7 @@
-
+
ResolveReferences;
_BuildUnlessCached
diff --git a/build-tools/unix-distribution-setup/unix-distribution-setup.mdproj b/build-tools/unix-distribution-setup/unix-distribution-setup.mdproj
index 557fb4e89d9..3d87913398f 100644
--- a/build-tools/unix-distribution-setup/unix-distribution-setup.mdproj
+++ b/build-tools/unix-distribution-setup/unix-distribution-setup.mdproj
@@ -6,6 +6,7 @@
GenericProject
{2CF172E5-BDAE-4ABA-8BC8-08040ED3E77A}
+
..\..\bin\Debug\
@@ -13,17 +14,6 @@
..\..\bin\Release\
-
-
-
-
-
-
-
-
-
-
+
diff --git a/build-tools/unix-distribution-setup/unix-distribution-setup.targets b/build-tools/unix-distribution-setup/unix-distribution-setup.targets
new file mode 100644
index 00000000000..edca94d5465
--- /dev/null
+++ b/build-tools/unix-distribution-setup/unix-distribution-setup.targets
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/external/Java.Interop b/external/Java.Interop
index 6f7f5203e9a..a1d3ecc8ba6 160000
--- a/external/Java.Interop
+++ b/external/Java.Interop
@@ -1 +1 @@
-Subproject commit 6f7f5203e9ab00b0e4fbcc33fbb9488f61a3a4bb
+Subproject commit a1d3ecc8ba6e67b96ae1c633194b0e78c2ac5c23
diff --git a/external/mono b/external/mono
index b13663f353c..9e164326979 160000
--- a/external/mono
+++ b/external/mono
@@ -1 +1 @@
-Subproject commit b13663f353cfb0d47040f09dab1385a47aea029b
+Subproject commit 9e1643269799485b4c56c159814ddb278e99ca41
diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets
index 8d65a4dfba9..5b4db9855ff 100644
--- a/src/Mono.Android/Mono.Android.targets
+++ b/src/Mono.Android/Mono.Android.targets
@@ -94,13 +94,13 @@
$(MSBuildProjectDirectory)\$(OutputPath)
- $(JavaInteropFullPath)\bin\$(Configuration)\jcw-gen.exe
+ "$(JavaInteropFullPath)\bin\$(Configuration)\jcw-gen.exe" -v10
<_LibDirs>-L "$(OutputPathAbs)" -L "$(OutputPathAbs)..\v1.0\" -L "$(OutputPathAbs)..\v1.0\Facades"
<_Assembly>"$(OutputPathAbs)$(AssemblyName).dll"
<_Out>-o "$(MSBuildProjectDirectory)\$(IntermediateOutputPath)jcw\src"
<_JavaSources Include="$(IntermediateOutputPath)jcw\src\**\*.java" />
diff --git a/src/Mono.Data.Sqlite/Mono.Data.Sqlite.csproj b/src/Mono.Data.Sqlite/Mono.Data.Sqlite.csproj
index 120f5e15f67..062989902dd 100644
--- a/src/Mono.Data.Sqlite/Mono.Data.Sqlite.csproj
+++ b/src/Mono.Data.Sqlite/Mono.Data.Sqlite.csproj
@@ -13,6 +13,8 @@
Resources\Resource.designer.cs
Mono.Data.Sqlite
true
+ false
+ false
@@ -27,6 +29,7 @@
DEBUG;TRACE;NET_4_0;NET_4_5;MONO;DISABLE_CAS_USE;SQLITE_STANDARD;MONODROID
prompt
4
+ True
None
false
true
diff --git a/src/Mono.Posix/Mono.Posix.csproj b/src/Mono.Posix/Mono.Posix.csproj
index 37e6ce4fc9c..0e6ffb5d926 100644
--- a/src/Mono.Posix/Mono.Posix.csproj
+++ b/src/Mono.Posix/Mono.Posix.csproj
@@ -13,6 +13,8 @@
Resources\Resource.designer.cs
Mono.Posix
true
+ false
+ false
@@ -26,6 +28,7 @@
..\..\bin\$(Configuration)\lib\xbuild-frameworks\MonoAndroid\v1.0
DEBUG;TRACE;NET_4_0;NET_4_5;MONO;DISABLE_CAS_USE;MONODROID
prompt
+ True
4
None
false
diff --git a/src/OpenTK-1.0/OpenTK.csproj b/src/OpenTK-1.0/OpenTK.csproj
index a534f8fa383..d34700b4f1a 100644
--- a/src/OpenTK-1.0/OpenTK.csproj
+++ b/src/OpenTK-1.0/OpenTK.csproj
@@ -19,6 +19,8 @@
3001,3002,3003,3005,3006,3021,3014,0618,1591,0414,0169,0419,1635
true
true
+ false
+ false
@@ -67,7 +69,7 @@
-
+
Audio\AudioCapture.cs
diff --git a/src/System.Drawing.Primitives/System.Drawing.Primitives.csproj b/src/System.Drawing.Primitives/System.Drawing.Primitives.csproj
index 82307323b1f..ebbba947d11 100644
--- a/src/System.Drawing.Primitives/System.Drawing.Primitives.csproj
+++ b/src/System.Drawing.Primitives/System.Drawing.Primitives.csproj
@@ -9,6 +9,10 @@
System.Drawing
System.Drawing.Primitives
true
+ false
+ Resources
+ Assets
+ false
diff --git a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs
index 02add26c787..587cc147c94 100644
--- a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs
+++ b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs
@@ -60,7 +60,8 @@ public static bool Implements (TypeDefinition type, string interfaceName, bool g
while (type != null) {
// does the type implements it itself
if (type.HasInterfaces) {
- foreach (TypeReference iface in type.Interfaces) {
+ foreach (var ifaceInfo in type.Interfaces) {
+ var iface = ifaceInfo.InterfaceType;
string fullname = (generic) ? iface.GetElementType ().FullName : iface.FullName;
if (fullname == interfaceName)
return true;
diff --git a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/FixAbstractMethodsStep.cs b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/FixAbstractMethodsStep.cs
index 2e3df969d06..b69dd41622e 100644
--- a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/FixAbstractMethodsStep.cs
+++ b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/FixAbstractMethodsStep.cs
@@ -137,7 +137,8 @@ bool FixAbstractMethods (TypeDefinition type)
foreach (var baseType in type.GetBaseTypes ())
typeMethods.AddRange (baseType.Methods);
- foreach (var iface in type.Interfaces) {
+ foreach (var ifaceInfo in type.Interfaces) {
+ var iface = ifaceInfo.InterfaceType;
var ifaceDef = iface.Resolve ();
if (ifaceDef == null) {
if (Context.LogInternalExceptions)
diff --git a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/PreserveLinqExpressions.cs b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/PreserveLinqExpressions.cs
index 0603e983ca1..7cc6baad984 100644
--- a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/PreserveLinqExpressions.cs
+++ b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/PreserveLinqExpressions.cs
@@ -45,8 +45,8 @@ bool IsLinqProvider (TypeDefinition type)
return false; // we are not looking for default system types.
if (!type.HasInterfaces)
return false;
- return type.Interfaces.Any (i => i.FullName == "System.Linq.IQueryProvider")
- || type.Interfaces.Select (t => t.Resolve ()).Any (t => t != null && IsLinqProvider (t));
+ return type.Interfaces.Any (i => i.InterfaceType.FullName == "System.Linq.IQueryProvider")
+ || type.Interfaces.Select (t => t.InterfaceType.Resolve ()).Any (t => t != null && IsLinqProvider (t));
}
}
}
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
index 26ceb2bea82..97caaae9c18 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
@@ -43,16 +43,16 @@
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.dll
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Mdb.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.Mdb.dll
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Pdb.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.Pdb.dll
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Rocks.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.Rocks.dll
..\..\packages\Irony.0.9.1\lib\net40\Irony.dll
@@ -128,13 +128,13 @@
-
+
Linker\Mono.Tuner\AdjustVisibility.cs
-
+
Linker\Mono.Tuner\CecilRocks.cs
-
+
Linker\Mono.Tuner\CheckVisibility.cs
@@ -219,82 +219,82 @@
-
+
pdb2mdb\BitAccess.cs
-
+
pdb2mdb\BitSet.cs
-
+
pdb2mdb\CvInfo.cs
-
+
pdb2mdb\DataStream.cs
-
+
pdb2mdb\DbiDbgHdr.cs
-
+
pdb2mdb\DbiHeader.cs
-
+
pdb2mdb\DbiModuleInfo.cs
-
+
pdb2mdb\DbiSecCon.cs
-
+
pdb2mdb\Driver.cs
-
+
pdb2mdb\IntHashTable.cs
-
+
pdb2mdb\Interfaces.cs
-
+
pdb2mdb\MsfDirectory.cs
-
+
pdb2mdb\PdbConstant.cs
-
+
pdb2mdb\PdbDebugException.cs
-
+
pdb2mdb\PdbException.cs
-
+
pdb2mdb\PdbFile.cs
-
+
pdb2mdb\PdbFileHeader.cs
-
+
pdb2mdb\PdbFunction.cs
-
+
pdb2mdb\PdbLine.cs
-
+
pdb2mdb\PdbLines.cs
-
+
pdb2mdb\PdbReader.cs
-
+
pdb2mdb\PdbScope.cs
-
+
pdb2mdb\PdbSlot.cs
-
+
pdb2mdb\PdbSource.cs
-
+
pdb2mdb\PdbWriter.cs
-
+
pdb2mdb\SourceLocationProvider.cs
@@ -307,79 +307,79 @@
PreserveNewest
-
+
Linker\Mono.Linker\Annotations.cs
-
+
Linker\Mono.Linker\AssemblyAction.cs
-
+
Linker\Mono.Linker\AssemblyResolver.cs
-
+
Linker\Mono.Linker\I18nAssemblies.cs
-
+
Linker\Mono.Linker\IXApiVisitor.cs
-
+
Linker\Mono.Linker\LinkContext.cs
-
+
Linker\Mono.Linker\MethodAction.cs
-
+
Linker\Mono.Linker\Pipeline.cs
-
+
Linker\Mono.Linker\TypePreserve.cs
-
+
Linker\Mono.Linker\XApiReader.cs
-
+
Linker\Mono.Linker.Steps\BlacklistStep.cs
-
+
Linker\Mono.Linker.Steps\BaseStep.cs
-
+
Linker\Mono.Linker.Steps\CleanStep.cs
-
+
Linker\Mono.Linker.Steps\IStep.cs
-
+
Linker\Mono.Linker.Steps\LoadI18nAssemblies.cs
-
+
Linker\Mono.Linker.Steps\LoadReferencesStep.cs
-
+
Linker\Mono.Linker.Steps\OutputStep.cs
-
+
Linker\Mono.Linker.Steps\RegenerateGuidStep.cs
-
+
Linker\Mono.Linker.Steps\ResolveFromAssemblyStep.cs
-
+
Linker\Mono.Linker.Steps\ResolveFromXApiStep.cs
-
+
Linker\Mono.Linker.Steps\ResolveFromXmlStep.cs
-
+
Linker\Mono.Linker.Steps\ResolveStep.cs
-
+
Linker\Mono.Linker.Steps\TypeMapStep.cs
-
+
Linker\Mono.Linker.Steps\SweepStep.cs
-
+
Linker\Mono.Linker.Steps\MarkStep.cs
@@ -404,40 +404,40 @@
Utilities\Files.cs
-
+
Linker\Mono.Tuner\ApplyPreserveAttributeBase.cs
-
+
Linker\Mono.Tuner\Dispatcher.cs
-
+
Linker\Mono.Tuner\CustomizeActions.cs
-
+
Linker\Mono.Tuner\Extensions.cs
-
+
Linker\Mono.Tuner\FixModuleFlags.cs
-
+
Linker\Mono.Tuner\PrintTypeMap.cs
-
+
Linker\Mono.Tuner\PreserveCrypto.cs
-
+
Linker\Mono.Tuner\PreserveSoapHttpClients.cs
-
+
Linker\Mono.Tuner\Profile.cs
-
+
Linker\Mono.Tuner\RemoveAttributesBase.cs
-
+
Linker\Mono.Tuner\RemoveResources.cs
-
+
Linker\Mono.Tuner\RemoveSecurity.cs
@@ -476,19 +476,19 @@
Utilities\StringRocks.cs
-
+
Linker\Mono.Tuner\FilterAttributes.cs
-
+
Linker\Mono.Tuner\InjectSecurityAttributes.cs
-
+
Linker\Mono.Tuner\PrintStatus.cs
-
+
Linker\Mono.Tuner\RemoveSerialization.cs
-
+
Linker\Mono.Tuner\TunerAnnotations.cs
diff --git a/src/Xamarin.Android.Build.Tasks/packages.config b/src/Xamarin.Android.Build.Tasks/packages.config
index 8972402f6ae..4b20691a926 100644
--- a/src/Xamarin.Android.Build.Tasks/packages.config
+++ b/src/Xamarin.Android.Build.Tasks/packages.config
@@ -1,8 +1,8 @@
-
+
-
+
-
+
\ No newline at end of file
diff --git a/src/Xamarin.Android.NUnitLite/Xamarin.Android.NUnitLite.csproj b/src/Xamarin.Android.NUnitLite/Xamarin.Android.NUnitLite.csproj
index 8bf6a17b1cb..cf351a33cd7 100644
--- a/src/Xamarin.Android.NUnitLite/Xamarin.Android.NUnitLite.csproj
+++ b/src/Xamarin.Android.NUnitLite/Xamarin.Android.NUnitLite.csproj
@@ -13,6 +13,8 @@
Resources\Resource.designer.cs
true
..\..\product.snk
+ false
+ false
diff --git a/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj b/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj
index 06351032db1..7111c9cc01f 100644
--- a/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj
+++ b/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj
@@ -30,16 +30,16 @@
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net40\Mono.Cecil.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.dll
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net40\Mono.Cecil.Mdb.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.Mdb.dll
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net40\Mono.Cecil.Pdb.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.Pdb.dll
- ..\..\packages\Mono.Cecil.0.9.6.1\lib\net40\Mono.Cecil.Rocks.dll
+ ..\..\packages\Mono.Cecil.0.10.0-beta1-v2\lib\net40\Mono.Cecil.Rocks.dll
..\..\packages\Irony.0.9.1\lib\net40\Irony.dll
diff --git a/src/Xamarin.Android.Tools.Aidl/packages.config b/src/Xamarin.Android.Tools.Aidl/packages.config
index bd1a9fa7cb3..8a5817b5331 100644
--- a/src/Xamarin.Android.Tools.Aidl/packages.config
+++ b/src/Xamarin.Android.Tools.Aidl/packages.config
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file