diff --git a/.gitmodules b/.gitmodules index ec9873a0ffd..e7be856691f 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.8.0-branch + branch = 2017-02 [submodule "external/mxe"] path = external/mxe url = https://github.com/xamarin/mxe.git diff --git a/build-tools/dependencies/dependencies.projitems b/build-tools/dependencies/dependencies.projitems index 8ab2f36f5c5..c49c56e5284 100644 --- a/build-tools/dependencies/dependencies.projitems +++ b/build-tools/dependencies/dependencies.projitems @@ -1,7 +1,7 @@ - <_DarwinMonoFramework>MonoFramework-MDK-4.8.0.489.macos10.xamarin.universal.pkg + <_DarwinMonoFramework>MonoFramework-MDK-4.9.3.6.macos10.xamarin.universal.pkg <_AptGetInstall>apt-get -f -u install @@ -57,10 +57,10 @@ $(_AptGetInstall) vim-common - 4.4.0 - 4.8.99 + 4.9.3 + 4.9.99 $(MSBuildThisFileDirectory)..\scripts\mono-version - https://bosstoragemirror.blob.core.windows.net/wrench/mono-4.8.0/9a/9ac5bf2f0235ab75d2cc6be0866d6ca3ed302977/$(_DarwinMonoFramework) + https://bosstoragemirror.blob.core.windows.net/wrench/mono-2017-02/c5/c52c4bd713e19339a5859e73a99dbb4cc21c6d3f/$(_DarwinMonoFramework) installer -pkg "$(AndroidToolchainCacheDirectory)\$(_DarwinMonoFramework)" -target / diff --git a/build-tools/mono-runtimes/mono-runtimes.projitems b/build-tools/mono-runtimes/mono-runtimes.projitems index 306b1e2121a..f74e013c95b 100644 --- a/build-tools/mono-runtimes/mono-runtimes.projitems +++ b/build-tools/mono-runtimes/mono-runtimes.projitems @@ -277,6 +277,7 @@ <_MonoCrossRuntime Include="cross-arm" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':armeabi:'))"> + armeabi ar as $(HostCc) @@ -299,6 +300,7 @@ <_MonoCrossRuntime Include="cross-arm64" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':arm64:'))"> + arm64-v8a ar as $(HostCc) @@ -321,6 +323,7 @@ <_MonoCrossRuntime Include="cross-x86" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':x86:'))"> + x86 ar as $(HostCc32) @@ -343,6 +346,7 @@ <_MonoCrossRuntime Include="cross-x86_64" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':x86_64:'))"> + x86_64 ar as $(HostCc) @@ -365,6 +369,7 @@ <_MonoCrossRuntime Include="cross-arm-win" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':win-armeabi:'))"> + armeabi $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-ar $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-as $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-gcc @@ -387,6 +392,7 @@ <_MonoCrossRuntime Include="cross-arm64-win" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':win-arm64:'))"> + arm64-v8a $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-ar $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-as $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-gcc @@ -409,6 +415,7 @@ <_MonoCrossRuntime Include="cross-x86-win" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':win-x86:'))"> + x86 $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-ar $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-as $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix32)-gcc @@ -431,6 +438,7 @@ <_MonoCrossRuntime Include="cross-x86_64-win" Condition="$(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':win-x86_64:'))"> + x86_64 $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix64)-ar $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix64)-as $(AndroidMxeFullPath)\bin\$(MingwCommandPrefix64)-gcc diff --git a/build-tools/mono-runtimes/mono-runtimes.targets b/build-tools/mono-runtimes/mono-runtimes.targets index 48a3e38134c..6edc3c7dd1e 100644 --- a/build-tools/mono-runtimes/mono-runtimes.targets +++ b/build-tools/mono-runtimes/mono-runtimes.targets @@ -8,7 +8,8 @@ - + + @@ -25,13 +26,6 @@ <_MonoProfileDir>$(MonoSourceFullPath)\mcs\class\lib\monodroid <_MonoOutputDir>$(MonoSourceFullPath)\mcs\class\lib\net_4_x - - <_MonoDocCopyItems Include="@(MonoDocCopyItem->'$(_MonoOutputDir)\%(Identity)')" /> - - - <_MonoDocInstalledItems Include="@(MonoDocCopyItem->'$(_MandroidDir)\%(Identity)')" /> - <_MonoDocInstalledItems Include="$(_MandroidDir)\mdoc.exe" /> - _BuildLlvm; @@ -147,7 +141,7 @@ /> @@ -231,7 +225,7 @@ + + + <_MonoDocCopyItems Include="@(MonoDocCopyItem->'$(_MonoOutputDir)\%(Identity)')" /> + <_MonoDocCopyItems + Condition=" Exists ('$(_MonoOutputDir)\%(Identity)') " + Include="@(MonoDocCopyItemOptional->'$(_MonoOutputDir)\%(Identity)')" + /> + + <_MonoDocInstalledItems Include="@(MonoDocCopyItem->'$(_MandroidDir)\%(Identity)')" /> + <_MonoDocInstalledItems + Condition=" Exists ('$(_MonoOutputDir)\%(Identity)') " + Include="@(MonoDocCopyItemOptional->'$(_MandroidDir)\%(Identity)')" + /> + <_MonoDocInstalledItems Include="$(_MandroidDir)\mdoc.exe" /> + + + Outputs="@(_MonoDocInstalledItems)" + DependsOnTargets="_GetMonodocItems"> linux_64 + DependsOnTargets="_GetRuntimesOutputItems;_GetMonodocItems;_PrepareLlvmItems"> diff --git a/external/linker b/external/linker index d57b8dd62dc..dfea33750a2 160000 --- a/external/linker +++ b/external/linker @@ -1 +1 @@ -Subproject commit d57b8dd62dc794b8b946c03266e7238930f6a8c6 +Subproject commit dfea33750a23387a3deb909954b8e25b0b4e20a3 diff --git a/external/mono b/external/mono index dd8ecf3a1dc..24e82a53858 160000 --- a/external/mono +++ b/external/mono @@ -1 +1 @@ -Subproject commit dd8ecf3a1dc09e88fd5c82dddf56d14a2aff65d9 +Subproject commit 24e82a538588116cbd490eac44ff98fc9f4a9817 diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index c5782bbf22c..a86d63ac458 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -135,8 +135,8 @@ public void BuildBasicApplicationCheckPdb () File.Exists (pdbToMdbPath), "PdbTestLibrary.dll.mdb must be generated next to the .pdb"); Assert.IsTrue ( - File.Exists (Path.Combine (Root, b.ProjectDirectory, proj.IntermediateOutputPath, "android", "assets", "UnnamedProject.dll.mdb")), - "UnnamedProject.dll.mdb must be copied to the Intermediate directory"); + File.Exists (Path.Combine (Root, b.ProjectDirectory, proj.IntermediateOutputPath, "android", "assets", "UnnamedProject.pdb")), + "UnnamedProject.pdb must be copied to the Intermediate directory"); Assert.IsFalse ( File.Exists (Path.Combine (Root, b.ProjectDirectory, proj.IntermediateOutputPath, "android", "assets", "PdbTestLibrary.pdb")), "PdbTestLibrary.pdb must not be copied to Intermediate directory"); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs index 4857abe0d43..74cdee2e8b4 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs @@ -63,7 +63,7 @@ public void CheckBuildIdIsUnique () var allFilesInArchive = Directory.GetFiles (archivePath, "*", SearchOption.AllDirectories); Assert.IsTrue (allFilesInArchive.Any (x => Path.GetFileName (x) == string.Format ("{0}.dll", proj.ProjectName)), "{0}.dll should exist in {1}", proj.ProjectName, archivePath); - Assert.IsTrue (allFilesInArchive.Any (x => Path.GetFileName (x) == string.Format ("{0}.dll.mdb", proj.ProjectName)), "{0}.mdb should exist in {1}", + Assert.IsTrue (allFilesInArchive.Any (x => Path.GetFileName (x) == string.Format ("{0}.pdb", proj.ProjectName)), "{0}.pdb should exist in {1}", proj.ProjectName, archivePath); foreach (var abi in new string [] { "armeabi-v7a", "x86" }) { using (var apk = ZipHelper.OpenZip (Path.Combine (outputPath, proj.PackageName + "-" + abi + ".apk"))) {