diff --git a/build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/GitCommitHash.cs b/build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/GitCommitHash.cs index c862013c7..48f69799e 100644 --- a/build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/GitCommitHash.cs +++ b/build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/GitCommitHash.cs @@ -16,6 +16,9 @@ namespace Xamarin.Android.BuildTools.PrepTasks [Output] public string AbbreviatedCommitHash { get; set; } + [Output] + public string CommitHash { get; set; } + protected override bool LogTaskMessages { get { return false; } } @@ -38,17 +41,18 @@ namespace Xamarin.Android.BuildTools.PrepTasks protected override string GenerateCommandLineCommands () { - return "log --no-color --first-parent -n1 --pretty=format:%h"; + return "rev-parse HEAD"; } protected override void LogEventsFromTextOutput (string singleLine, MessageImportance messageImportance) { if (string.IsNullOrEmpty (singleLine)) return; - if (singleLine.Length < RequiredHashLength) { - Log.LogError ("Abbreviated commit hash `{0}` is shorter than required length of {1} characters", singleLine, RequiredHashLength); + if (singleLine.Length < 40) { + Log.LogError ("Commit hash `{0}` is shorter than required length of {1} characters", singleLine, 40); return; } + CommitHash = singleLine; AbbreviatedCommitHash = singleLine.Substring (0, RequiredHashLength); } } diff --git a/external/llvm b/external/llvm index 117a508c0..8415fd85c 160000 --- a/external/llvm +++ b/external/llvm @@ -1 +1 @@ -Subproject commit 117a508c0ca65b754008e94e3eb97e77edfef04b +Subproject commit 8415fd85ce1570d4ba0a735bc4e968735a67ca37 diff --git a/external/mono b/external/mono index ab3c897d6..cda3acc57 160000 --- a/external/mono +++ b/external/mono @@ -1 +1 @@ -Subproject commit ab3c897d6851ccf75e840d8b767aafa0d0a32d53 +Subproject commit cda3acc57cd40c666b2fea8391cdd68c8d4eb10c diff --git a/src/mono-runtimes/mono-runtimes.projitems b/src/mono-runtimes/mono-runtimes.projitems index be3fbbf13..1db2201ce 100644 --- a/src/mono-runtimes/mono-runtimes.projitems +++ b/src/mono-runtimes/mono-runtimes.projitems @@ -1,5 +1,9 @@ + + <_MonoBcl Include="bcl" /> + + <_MonoRuntime Include="armeabi-v7a" Condition=" $(AndroidSupportedTargetJitAbisForConditionalChecks.Contains (':armeabi-v7a:')) "> $(AndroidToolchainDirectory)\toolchains\armeabi-v7a-clang\bin\arm-linux-androideabi-strip @@ -60,27 +64,16 @@ libMonoPosixHelper - <_MonoRuntime Include="host-Darwin" Condition="$(AndroidSupportedHostJitAbisForConditionalChecks.Contains (':Darwin:'))"> + <_MonoRuntime Include="host-$(HostOS)" Condition="$(AndroidSupportedHostJitAbisForConditionalChecks.Contains (':$(HostOS):')) And ( '$(HostOS)' == 'Darwin' Or '$(HostOS)' == 'Linux' )"> strip -S libmonosgen-2.0 - dylib + dylib + so libmono-profiler-log libmono-profiler-aot libMonoPosixHelper - True - - <_MonoRuntime Include="host-Linux" Condition="$(AndroidSupportedHostJitAbisForConditionalChecks.Contains (':Linux:'))"> - strip - -S - libmonosgen-2.0 - so - libmono-profiler-log - libmono-profiler-aot - - libMonoPosixHelper - True @@ -91,7 +84,6 @@ true Darwin/ Linux/ - llvm-llvm32_CC="$(HostCc32)" llvm-llvm32_CXX="$(HostCxx32)" <_LlvmRuntime Include="llvm64" Condition=" ($(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':arm64:')) Or $(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':x86_64:'))) And '$(HostBits)' == '64' "> @@ -99,7 +91,6 @@ true Darwin/ Linux/ - llvm-llvm64_CC="$(HostCc64)" llvm-llvm64_CXX="$(HostCxx64)" <_LlvmRuntime Include="llvmwin32" Condition=" ($(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':win-armeabi-v7a:')) Or $(AndroidSupportedTargetAotAbisForConditionalChecks.Contains (':win-x86:'))) "> diff --git a/src/mono-runtimes/mono-runtimes.targets b/src/mono-runtimes/mono-runtimes.targets index 9b34317b7..dd501f037 100644 --- a/src/mono-runtimes/mono-runtimes.targets +++ b/src/mono-runtimes/mono-runtimes.targets @@ -1,6 +1,8 @@ + + <_SourceTopDir>..\.. @@ -23,15 +25,15 @@ - <_MonoDocCopyItems Include="@(MonoDocCopyItem->'$(_MonoOutputDir)\%(Identity)')" /> + <_MonoDocCopyItems Include="@(MonoDocCopyItem->'$(_MonoProfileToolsDir)\%(Identity)')" /> <_MonoDocInstalledItems Include="@(MonoDocCopyItem->'$(_MSBuildDir)\%(Identity)')" /> <_MonoDocInstalledItems Include="$(_MSBuildDir)\mdoc.exe" /> - <_MonoProfileDir>$(MonoSourceFullPath)\mcs\class\lib\monodroid - <_MonoOutputDir>$(MonoSourceFullPath)\mcs\class\lib\monodroid_tools + <_MonoProfileDir>$(MonoSourceFullPath)\sdks\out\android-bcl\monodroid + <_MonoProfileToolsDir>$(MonoSourceFullPath)\sdks\out\android-bcl\monodroid_tools <_MonoSdksConfiguration Condition=" '$(Configuration)' == 'Release' ">release @@ -44,15 +46,15 @@ <_MonoSdksMxePrefixDir>$(AndroidToolchainDirectory) <_MonoSdksMxeSrc>$(MSBuildThisFileDirectory)..\..\external\mxe - <_MonoSdksParameters>CONFIGURATION=$(_MonoSdksConfiguration) IGNORE_PROVISION_MXE=true IGNORE_PROVISION_ANDROID=true IGNORE_PROVISION_LLVM=true ANDROID_TOOLCHAIN_DIR="$(_MonoSdksAndroidToolchainDir)" ANDROID_TOOLCHAIN_CACHE_DIR="$(_MonoSdksAndroidToolchainCacheDir)" ANDROID_TOOLCHAIN_PREFIX="$(_MonoSdksAndroidToolchainPrefix)" LLVM_SRC="$(_MonoSdksLlvmSrc)" MXE_PREFIX_DIR="$(_MonoSdksMxePrefixDir)" MXE_SRC="$(_MonoSdksMxeSrc)" + <_MonoSdksParameters>CONFIGURATION=$(_MonoSdksConfiguration) IGNORE_PROVISION_MXE=true IGNORE_PROVISION_ANDROID=true ANDROID_TOOLCHAIN_DIR="$(_MonoSdksAndroidToolchainDir)" ANDROID_TOOLCHAIN_CACHE_DIR="$(_MonoSdksAndroidToolchainCacheDir)" ANDROID_TOOLCHAIN_PREFIX="$(_MonoSdksAndroidToolchainPrefix)" LLVM_SRC="$(_MonoSdksLlvmSrc)" MXE_PREFIX_DIR="$(_MonoSdksMxePrefixDir)" MXE_SRC="$(_MonoSdksMxeSrc)" - _BuildLlvm; - _InstallLlvm; + _DownloadArchive; _Autogen; - _BuildRuntimes; + _Build; _InstallRuntimes; + _InstallLlvm; _InstallBcl; _InstallCilStrip; _InstallMonoDoc; @@ -109,11 +111,11 @@ <_MonoUtility Include="mkbundle.exe" /> - <_MonoUtilitySource Include="@(_MonoUtility->'$(_MonoOutputDir)\%(Identity)')" /> + <_MonoUtilitySource Include="@(_MonoUtility->'$(_MonoProfileToolsDir)\%(Identity)')" /> <_MonoUtilityDest Include="@(_MonoUtility->'$(_MSBuildDir)\%(Identity)')" /> <_MonoUtilitySource Condition=" '$(_DebugFileExt)' == '.mdb'" - Include="@(_MonoUtility->'$(_MonoOutputDir)\%(Identity).mdb')" + Include="@(_MonoUtility->'$(_MonoProfileToolsDir)\%(Identity).mdb')" /> <_MonoUtilityDest Condition=" '$(_DebugFileExt)' == '.mdb'" @@ -121,7 +123,7 @@ /> <_MonoUtilitySource Condition=" '$(_DebugFileExt)' == '.pdb'" - Include="@(_MonoUtility->'$(_MonoOutputDir)\%(Filename).pdb')" + Include="@(_MonoUtility->'$(_MonoProfileToolsDir)\%(Filename).pdb')" /> <_MonoUtilityDest Condition=" '$(_DebugFileExt)' == '.pdb'" @@ -154,21 +156,9 @@ <_LlvmTargetBinary Include="@(_LlvmRuntime->'$(_MSBuildDir)\%(InstallPath)llc%(ExeSuffix)')" Condition=" '%(_LlvmRuntime.InstallBinaries)' == 'true' " /> - - - - @@ -189,6 +179,18 @@ /> + + + + + + <_MonoArchiveName>android-$(_MonoSdksConfiguration)-$(_MonoGitCommitHash)-$(HostOS) + + + <_RuntimeSource @@ -280,26 +282,41 @@ - - + + + + + + + - <_BclTestAssemblyReference Include="@(MonoTestAssembly)" Condition="'%(MonoTestAssembly.TestType)' == 'reference'" /> - <_BclTestAssemblyXUnit Include="@(MonoTestAssembly)" Condition="'%(MonoTestAssembly.TestType)' == 'xunit'" /> - <_BclTestAssemblyNUnit Include="@(MonoTestAssembly)" Condition="'%(MonoTestAssembly.TestType)' == ''" /> - <_BclTestAssemblySource Include="@(_BclTestAssemblyReference->'$(MonoSourceFullPath)\mcs\class\lib\monodroid\%(Identity)')" /> - <_BclTestAssemblySource Include="@(_BclTestAssemblyReference->'$(MonoSourceFullPath)\mcs\class\lib\monodroid\%(Filename).pdb')" Condition="Exists('@(_BclTestAssemblyReference->'$(MonoSourceFullPath)\mcs\class\lib\monodroid\%(Filename).pdb')')" /> - <_BclTestAssemblySource Include="@(_BclTestAssemblyXUnit->'$(MonoSourceFullPath)\mcs\class\%(SourcePath)\%(Identity)')" /> - <_BclTestAssemblySource Include="@(_BclTestAssemblyXUnit->'$(MonoSourceFullPath)\mcs\class\%(SourcePath)\%(Filename).pdb')" /> - <_BclTestAssemblySource Include="@(_BclTestAssemblyNUnit->'$(MonoSourceFullPath)\mcs\class\lib\monodroid\tests\%(Identity)')" /> - <_BclTestAssemblySource Include="@(_BclTestAssemblyNUnit->'$(MonoSourceFullPath)\mcs\class\lib\monodroid\tests\%(Filename).pdb')" /> - <_BclTestAssemblySource Include="@(MonoTestRunner->'$(MonoSourceFullPath)\mcs\class\lib\monodroid\%(Identity)')" /> - <_BclTestAssemblySource Include="@(MonoTestRunner->'$(MonoSourceFullPath)\mcs\class\lib\monodroid\%(Filename).pdb')" /> + <_BclTestAssembly Include="@(MonoTestAssembly)" Condition="'%(MonoTestAssembly.TestType)' == '' Or '%(MonoTestAssembly.TestType)' == 'xunit' " /> + <_BclTestAssemblySource Include="@(_BclTestAssemblyReference->'$(_MonoProfileDir)\%(Identity)')" /> + <_BclTestAssemblySource Include="@(_BclTestAssemblyReference->'$(_MonoProfileDir)\%(Filename).pdb')" Condition="Exists('@(_BclTestAssemblyReference->'$(_MonoProfileDir)\%(Filename).pdb')')" /> + <_BclTestAssemblySource Include="@(_BclTestAssembly->'$(_MonoProfileDir)\tests\%(Identity)')" /> + <_BclTestAssemblySource Include="@(_BclTestAssembly->'$(_MonoProfileDir)\tests\%(Filename).pdb')" /> + <_BclTestAssemblySource Include="@(MonoTestRunner->'$(_MonoProfileDir)\%(Identity)')" /> + <_BclTestAssemblySource Include="@(MonoTestRunner->'$(_MonoProfileDir)\%(Filename).pdb')" /> - <_MonoCilStripSource Include="$(_MonoOutputDir)\mono-cil-strip.exe" /> + <_MonoCilStripSource Include="$(_MonoProfileToolsDir)\mono-cil-strip.exe" /> <_MonoCilStripDest Include="$(_MSBuildDir)\cil-strip.exe" /> <_MonoCilStripSource Condition=" '$(_DebugFileExt)' == '.mdb' " - Include="$(_MonoOutputDir)\mono-cil-strip.exe.mdb" + Include="$(_MonoProfileToolsDir)\mono-cil-strip.exe.mdb" /> <_MonoCilStripDest Condition=" '$(_DebugFileExt)' == '.mdb' " - Include="$(_MonoOutputDir)\cil-strip.exe.mdb" + Include="$(_MonoProfileToolsDir)\cil-strip.exe.mdb" /> <_MonoCilStripSource Condition=" '$(_DebugFileExt)' == '.pdb' " - Include="$(_MonoOutputDir)\mono-cil-strip.pdb" + Include="$(_MonoProfileToolsDir)\mono-cil-strip.pdb" /> <_MonoCilStripDest Condition=" '$(_DebugFileExt)' == '.pdb' " @@ -488,7 +502,7 @@ /> <_MonoUtilityExe Include="@(_MonoUtility)"> - $(_MonoOutputDir)\%(Identity) + $(_MonoProfileToolsDir)\%(Identity) $(_MSBuildDir)\%(Identity) @@ -606,13 +620,13 @@ AfterTargets="Clean"> + DependsOnTargets="_Build">